sp_attach_single_file_db (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse

Fügt eine Datenbank mit nur einer Datendatei an den aktuellen Server an. Sp_attach_single_file_db kann nicht mit mehreren Datendateien verwendet werden.

System_CAPS_ICON_important.jpg Wichtig


Dieses Feature wird in einer künftigen Version von Microsoft SQL Server entfernt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird.Wir empfehlen die Verwendung von CREATE DATABASE Database_name FOR ATTACH stattdessen. Weitere Informationen finden Sie unter CREATE DATABASE (SQL Server Transact-SQL). Verwenden Sie diese Prozedur nicht für eine replizierte Datenbank.

System_CAPS_ICON_important.jpg Wichtig


Das Anfügen oder Wiederherstellen von Datenbanken aus unbekannten oder nicht vertrauenswürdigen Quellen wird nicht empfohlen. Solche Datenbanken können bösartigen Code enthalten, der möglicherweise unbeabsichtigten Transact-SQL -Code ausführt oder Fehler verursacht, indem er das Schema oder die physische Datenbankstruktur ändert. Bevor Sie eine Datenbank aus einer unbekannten oder nicht vertrauenswürdigen Quelle verwenden, führen Sie auf einem Nichtproduktionsserver DBCC CHECKDB für die Datenbank aus. Überprüfen Sie außerdem den Code in der Datenbank, z.B. gespeicherte Prozeduren oder anderen benutzerdefinierten Code.

Gilt für: SQL Server (SQL Server 2008 bis zur aktuellen Version).

Topic link icon Transact-SQL-Syntaxkonventionen

  
sp_attach_single_file_db [ @dbname= ] 'dbname'  
    , [ @physname= ] 'physical_name'  

[ @dbname= ] 'dbname'
Der Name der Datenbank, die an den Server angefügt werden soll. Der Name muss eindeutig sein. Dbname ist Sysname, hat den Standardwert NULL.

[ @physname= ] 'physical_name'
Ist der physische Name, einschließlich des Pfads der Datenbankdatei. Physical_name ist nvarchar(260), hat den Standardwert NULL.

System_CAPS_ICON_note.jpg Hinweis


Dieses Argument entspricht dem FILENAME-Parameter der CREATE DATABASE-Anweisung. Weitere Informationen finden Sie unter CREATE DATABASE (SQL Server Transact-SQL).

Wenn Sie eine SQL Server 2005-Datenbank mit Volltextkatalogdateien an eine SQL Server 2016-Serverinstanz anfügen, werden die Katalogdateien von ihrem vorherigen Speicherort aus zusammen mit den anderen Datenbankdateien angefügt. Dies entspricht der Vorgehensweise in SQL Server 2005. Weitere Informationen finden Sie unter Upgrade der Volltextsuche.

0 (Erfolg) oder 1 (Fehler)

Keine

Verwendung Sp_attach_single_file_db nur für Datenbanken, die zuvor vom Server getrennt wurden, mithilfe eines expliziten Sp_detach_db Vorgang oder für kopierte Datenbanken.

Sp_attach_single_file_db kann nur für Datenbanken, die eine einzelne Protokolldatei haben. Wenn Sp_attach_single_file_db fügt der Datenbank mit dem Server wird eine neue Protokolldatei erstellt. Wenn die Datenbank schreibgeschützt ist, wird die Protokolldatei an ihrem bisherigen Speicherort erstellt.

System_CAPS_ICON_note.jpg Hinweis


Eine Datenbankmomentaufnahme kann nicht getrennt oder angefügt werden.

Verwenden Sie diese Prozedur nicht für eine replizierte Datenbank.

Weitere Informationen dazu, wie Berechtigungen behandelt werden, wenn eine Datenbank angefügt wird, finden Sie unter CREATE DATABASE (SQL Server Transact-SQL).

Im folgenden Beispiel wird AdventureWorks2012 getrennt und eine Datei aus AdventureWorks2012 an den aktuellen Server angefügt.

USE master;  
GO  
EXEC sp_detach_db @dbname = 'AdventureWorks2012';  
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012',   
    @physname =   
N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_Data.mdf';  

Datenbank trennen und anfügen (SQLServer)
Sp_detach_db (Transact-SQL)
Sp_helpfile (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: