sp_create_removable (Transact-SQL)

Gilt für:SQL Server

Erstellt eine Datenbank für austauschbare Medien. Erstellt drei oder mehr Dateien (eine für die Systemkatalogtabellen, eine für das Transaktionsprotokoll und eine oder mehrere für die Datentabellen) und platziert die Datenbank in diesen Dateien.

Wichtig

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Es wird empfohlen, stattdessen CREATE DATABASE zu verwenden.

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_create_removable   
   [ @dbname = ] 'dbname',   
   [ @syslogical= ] 'syslogical',   
   [ @sysphysical = ] 'sysphysical',   
   [ @syssize = ] syssize,   
   [ @loglogical = ] 'loglogical',   
   [ @logphysical = ] 'logphysical',   
   [ @logsize = ] logsize,   
   [ @datalogical1 = ] 'datalogical1',   
   [ @dataphysical1 = ] 'dataphysical1',   
   [ @datasize1 = ] datasize1 ,   
   [ @datalogical16 = ] 'datalogical16',   
   [ @dataphysical16 = ] 'dataphysical16',   
   [ @datasize16 = ] datasize16 ]  

Argumente

[ @dbname = ] 'dbname' Ist der Name der Datenbank, die für die Verwendung auf Wechselmedien erstellt werden soll. dbname ist sysname.

[ @syslogical = ] 'syslogical' Ist der logische Name der Datei, die die Systemkatalogtabellen enthält. syslogical ist sysname.

[ @sysphysical = ] 'sysphysical' Ist der physische Name. Enthält einen vollqualifizierten Pfad der Datei, die die Systemkatalogtabellen enthält. sysphysisch ist nvarchar(260).

[ @syssize = ] syssize Ist die Größe in Megabyte der Datei, die die Systemkatalogtabellen enthält. syssize ist int. Die Mindest syssize ist 1.

[ @loglogical = ] 'loglogical' Ist der logische Name der Datei, die das Transaktionsprotokoll enthält. loglogical ist sysname.

[ @logphysical = ] 'logphysical' Ist der physische Name. Enthält einen vollqualifizierten Pfad der Datei, die die Transaktionsprotokolltabellen enthält. logphysisch ist nvarchar(260).

[ @logsize = ] logsize Ist die Größe der Datei in Megabyte, die das Transaktionsprotokoll enthält. logsize is int. Die Mindestprotokollisierung beträgt 1.

[ @datalogical1 = ] 'datalogical' Ist der logische Name einer Datei, die die Datentabellen enthält. datalogical ist sysname.

Die Anzahl von Datendateien muss zwischen 1 und 16 liegen. In der Regel wird mehr als eine Datendatei erstellt, wenn zu erwarten ist, dass die Datenbank umfangreich wird und auf mehrere Datenträger verteilt werden muss.

[ @dataphysical1 = ] 'dataphysical' Ist der physische Name. Enthält einen vollqualifizierten Pfad der Datei, die die Datentabellen enthält. dataphysical is nvarchar(260).

[ @datasize1 = ] 'datasize' Ist die Größe in Megabyte einer Datei, die Datentabellen enthält. Die Datengröße ist int. Die Mindestdatengröße beträgt 1.

Rückgabecodewerte

„0“ (erfolgreich) oder „1“ (fehlerhaft)

Resultsets

Keine

Hinweise

Verwenden Sie diese gespeicherte Prozedur, wenn Sie eine Kopie einer Datenbank auf austauschbaren Medien erstellen, wie z. B. auf CD, und die Datenbank an andere Benutzer verteilen möchten.

Berechtigungen

Erfordert die Berechtigung CREATE DATABASE, CREATE ANY DATABASE oder ALTER ANY DATABASE.

Zur Steuerung der Datenträgernutzung einer Instanz von SQL Serverwird die Berechtigung zum Erstellen von Datenbanken in der Regel auf einige wenige Anmeldekonten beschränkt.

Berechtigungen für Daten und Protokolldateien

Bei der Durchführung bestimmter Vorgänge an einer Datenbank werden die entsprechenden Berechtigungen für ihre Daten und Protokolldateien festgelegt. Durch die Berechtigungen wird verhindert, dass die Dateien versehentlich manipuliert werden, wenn sie sich in einem Verzeichnis mit offenen Berechtigungen befinden.

Vorgang auf Datenbank Berechtigungen, die für die Dateien festgelegt sind
Ändern, um eine neue Datei hinzuzufügen Erstellt
Gesichert Zugeordnet
Wiederhergestellt Getrennt

Hinweis

SQL Server legt keine Daten- und Protokolldateiberechtigungen fest.

Beispiele

In diesem Beispiel wird die inventory-Datenbank als austauschbare Datenbank erstellt.

EXEC sp_create_removable 'inventory',   
   'invsys',  
   'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invsys.mdf'  
, 2,   
   'invlog',  
   'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invlog.ldf', 4,  
   'invdata',  
   'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invdata.ndf',   
10;  

Weitere Informationen

Datenbanktrennzeichen und Anfügen (SQL Server)
sp_certify_removable (Transact-SQL)
ALTER DATABASE (Transact-SQL)
sp_dbremove (Transact-SQL)
sp_detach_db (Transact-SQL)
sp_helpfile (Transact-SQL)
sp_helpfilegroup (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)