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 = ] N'dbname' ]
    [ , [ @syslogical = ] N'syslogical' ]
    [ , [ @sysphysical = ] N'sysphysical' ]
    [ , [ @syssize = ] syssize ]
    [ , [ @loglogical = ] N'loglogical' ]
    [ , [ @logphysical = ] N'logphysical' ]
    [ , [ @logsize = ] logsize ]
    [ , [ @datalogical1 = ] N'datalogical1' ]
    [ , [ @dataphysical1 = ] N'dataphysical1' ]
    [ , [ @datasize1 = ] datasize1 ]
    [ , ... ]
    [ , [ @datalogical16 = ] N'datalogical16' ]
    [ , [ @dataphysical16 = ] N'dataphysical16' ]
    [ , [ @datasize16 = ] datasize16 ]
[ ; ]

Argumente

[ @dbname = ] N'dbname'

Der Name der Datenbank, die für die Verwendung auf Wechselmedien erstellt werden soll. @dbname ist "sysname" mit der Standardeinstellung "NULL.

[ @syslogical = ] N'syslogical'

Der logische Name der Datei, die die Systemkatalogtabellen enthält. @syslogical ist "sysname" mit der Standardeinstellung "NULL.

[ @sysphysical = ] N'sysphysical'

Der physische Name. @sysphysical ist "nvarchar(260)" mit einem Standardwert von NULL. Dieser Wert enthält einen vollqualifizierten Pfad der Datei, die die Systemkatalogtabellen enthält.

[ @syssize = ] syssize

Die Größe in Megabyte der Datei, die die Systemkatalogtabellen enthält. @syssize ist int mit einem Standardwert von NULL.

[ @loglogical = ] N'loglogical'

Der logische Name der Datei, die das Transaktionsprotokoll enthält. @loglogical ist "sysname" mit dem Standardwert "NULL.

[ @logphysical = ] N'logphysical'

Der physische Name. @logphysical ist nvarchar(260), mit einem Standardwert von NULL. Dieser Wert enthält einen vollqualifizierten Pfad der Datei, die das Transaktionsprotokoll enthält.

[ @logsize = ] logsize

Die Größe in Megabyte der Datei, die das Transaktionsprotokoll enthält. @logsize ist int mit einem Minimalwert von 1.

[ @datalogical1 = ] N'datalogical1'

Der logische Name einer Datei, die die Datentabellen enthält. @datalogical1 ist "sysname" mit einem Standardwert von NULL.

Es muss zwischen 1 und 16 Datendateien vorhanden sein. In der Regel wird mehr als eine Datendatei erstellt, wenn die Datenbank voraussichtlich groß ist und auf mehreren Datenträgern verteilt werden muss.

[ @dataphysical1 = ] N'dataphysical1'

Der physische Name. @dataphysical1 ist nvarchar(260), mit einem Standardwert von NULL. Dieser Wert enthält einen vollqualifizierten Pfad einer Datei, die Datentabellen enthält.

[ @datasize1 = ] datasize1

Die Größe einer Datei, die Datentabellen enthält, in Megabyte. @datasize1 ist int mit einem Minimalwert von 1.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

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. Die Berechtigungen verhindern, dass die Dateien versehentlich manipuliert werden, wenn sie sich in einem Verzeichnis befinden, das geöffnete Berechtigungen besitzt.

Vorgang auf Datenbank Für Dateien festgelegte Berechtigungen
Geändert, 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;