CREATE DATABASE (Windows Azure SQL-Datenbank)
Erstellt eine neue Datenbank. Sie müssen mit der Masterdatenbank verbunden sein, um eine neue Datenbank zu erstellen.
Syntaxkonventionen (Windows Azure SQL-Datenbank)
CREATE DATABASE database_name [ COLLATE collation_name ]
{
(<edition_options> [, ...n])
}
<edition_options> ::=
{
(MAXSIZE = {1 | 5 | 10 | 20 | 30 … 150} GB)
|(EDITION = {'web' | 'business'})
}
[;]
To copy a database:
CREATE DATABASE destination_database_name
AS COPY OF [source_server_name.] source_database_name
[;]
In diesem Syntaxdiagramm werden die unterstützten Argumente in Microsoft Windows Azure SQL-Datenbank veranschaulicht.
- database_name
- Der Name der neuen Datenbank. Dieser Name muss auf dem SQL-Datenbank-Server eindeutig sein und den Regeln für SQL Server-Bezeichner entsprechen. Weitere Informationen finden Sie unter Bezeichner.
- Collation_name
- Gibt die Standardsortierung für die Datenbank an. Als Sortierungsname kann entweder der Name einer Windows-Sortierreihenfolge oder ein SQL-Sortierungsname verwendet werden. Bei fehlender Angabe wird der Datenbank die Standardsortierung zugewiesen; dies ist SQL_Latin1_General_CP1_CI_AS. Weitere Informationen zu den Namen der Windows-Sortierreihenfolgen und zu den SQL-Sortierungsnamen finden Sie unter COLLATE (Transact-SQL).
- EDITION
- Gibt die Edition der Datenbank an, entweder "web" für die Web Edition oder "business" für die Business Edition. Wenn EDITION ohne MAXSIZE angegeben wird, wird MAXSIZE auf die restriktivste Größe festgelegt, die von der jeweiligen Edition unterstützt wird (Web Edition: 1 GB; Business Edition: 10 GB).
- MAXSIZE
- Gibt die maximale Größe der Datenbank an. MAXSIZE muss für den angegebenen EDITION-Wert gültig sein. Gültige Werte von MAXSIZE (Web Edition): 1 GB oder 5 GB. Gültige Werte (Business Edition): 10-GB-Inkremente bis zu 50 GB und dann 50-GB-Inkremente. Wenn MAXSIZE auf 1 GB oder 5 GB festgelegt und EDITION nicht angegeben wird, wird die Datenbankedition automatisch auf die Web Edition festgelegt. Wenn MAXSIZE auf 10 GB oder einen höheren Wert festgelegt und EDITION nicht angegeben wird, wird die Datenbankedition automatisch auf die Business Edition festgelegt. Wird weder MAXSIZE noch EDITION angegeben, wird eine Web Edition-Datenbank mit einer Größe von 1 GB erstellt.
- destination_database_name
- Der Name der Datenbank, die durch den Datenbankkopiervorgang erstellt wird. Dieser Name muss auf dem SQL-Datenbank-Zielserver eindeutig sein und den Regeln für SQL Server-Bezeichner entsprechen. Weitere Informationen finden Sie unter Bezeichner.
- AS COPY OF [source_server_name.]source_database_name
-
Dient zum Kopieren einer Datenbank auf den gleichen oder einen anderen SQL-Datenbank-Server.
Hinweis AS COPY OFkann nicht zusammen mit anderenCREATE DATABASE-Argumenten verwendet werden.- source_server_name
-
Der Name des SQL-Datenbank-Servers, auf dem sich die Quelldatenbank befindet. Dieser Parameter ist optional, wenn sich die Quelldatenbank und die Zieldatenbank auf dem gleichen SQL-Datenbank-Server befinden sollen.
Hinweis: Das
AS COPY OF-Argument unterstützt die vollqualifizierten eindeutigen Domänennamen nicht. Wenn der vollqualifizierte Domänenname des ServersserverName.database.windows.netlautet, darf während des Datenbankkopiervorgangs folglich nurserverNameverwendet werden.
- source_database_name
- Der Name der zu kopierenden Datenbank.
Bei Verwendung der CREATE DATABASE-Anweisung werden folgende Argumente und Optionen von Windows Azure SQL-Datenbank nicht unterstützt:
-
Parameter, die sich auf die physische Platzierung der Datei beziehen, z. B. <filespec> und <filegroup>
-
Externe Zugriffsoptionen, z. B. DB_CHAINING und TRUSTWORTHY
-
Anfügen einer Datenbank
-
Service Broker-Optionen, z. B. ENABLE_BROKER, NEW_BROKER und ERROR_BROKER_CONVERSATIONS
-
Datenbankmomentaufnahme
Weitere Informationen zu den Argumenten und zur CREATE DATABASE-Anweisung finden Sie in der SQL Server-Onlinedokumentation unter CREATE DATABASE.
Datenbanken in Windows Azure SQL-Datenbank haben mehrere Standardeinstellungen, die beim Erstellen der Datenbank festgelegt werden. Weitere Informationen zu diesen Standardeinstellungen finden Sie in der Liste der Werte in DATABASEPROPERTYEX (Windows Azure SQL-Datenbank).
Mithilfe von MAXSIZE lässt sich die Größe der Datenbank einschränken. Wenn die Größe der Datenbank den Wert für MAXSIZE erreicht, wird ein Fehlercode 40544 ausgegeben. In diesem Fall können keine Daten mehr hinzugefügt oder aktualisiert werden, und es können keine neuen Objekte (wie Tabellen, gespeicherte Prozeduren, Sichten oder Funktionen) erstellt werden. Sie können jedoch weiterhin Daten lesen und löschen, Tabellen abschneiden, Tabellen und Indizes löschen sowie Indizes neu erstellen. Anschließend können Sie MAXSIZE auf einen Wert festlegen, der die aktuelle Datenbankgröße übersteigt, oder Daten löschen, um Speicherplatz freizugeben. Es können bis zu 15 Minuten vergehen, bis wieder neue Daten hinzugefügt werden können.
Wichtig |
|---|
Die CREATE DATABASE-Anweisung muss die einzige Anweisung in einem Transact-SQL-Batch sein. Beim Ausführen der CREATE DATABASE-Anweisung muss eine Verbindung mit der master-Datenbank bestehen. |
Datenbankkopien
Das Kopieren einer Datenbank mit der CREATE DATABASE-Anweisung ist ein asynchroner Vorgang. Daher wird nicht für die vollständige Dauer des Kopiervorgangs eine Verbindung mit dem SQL-Datenbank-Server benötigt. Die CREATE DATABASE-Anweisung gibt die Steuerung an den Benutzer zurück, bevor der Datenbankkopiervorgang abgeschlossen ist. Dies bedeutet, dass die CREATE DATABASE-Anweisung erfolgreich abgeschlossen wird, während der Datenbankkopiervorgang noch ausgeführt wird. Sie können den Kopiervorgang mit den Sichten sys.dm_database_copies und sys.databases überwachen. Nach dem erfolgreichen Abschluss des Kopiervorgangs ist die Zieldatenbank im Hinblick auf Transaktionen konsistent mit der Quelldatenbank. Weitere Informationen zum Kopieren von Datenbanken in SQL-Datenbank finden Sie unter Kopieren von Datenbanken in die Windows Azure SQL-Datenbank.
Die folgenden Syntaxregeln und semantischen Regeln gelten für die Verwendung des AS COPY OF-Arguments:
-
Der Quellservername und der Servername für das Kopierziel können identisch oder unterschiedlich sein. Wenn sie identisch sind, ist dieser Parameter optional, und der Serverkontext der aktuellen Sitzung wird standardmäßig verwendet.
-
Die Quell- und Zieldatenbanknamen müssen angegeben werden, eindeutig sein und den SQL Server-Regeln für Bezeichner entsprechen. Weitere Informationen finden Sie unter Bezeichner.
-
Die
CREATE DATABASE-Anweisung muss im Kontext der Masterdatenbank des SQL-Datenbank-Servers ausgeführt werden, auf dem die neue Datenbank erstellt wird. -
Nach Abschluss des Kopiervorgangs muss die Zieldatenbank als unabhängige Datenbank verwaltet werden. Sie können die
ALTER DATABASE- undDROP DATABASE-Anweisungen unabhängig von der Quelldatenbank für die neue Datenbank ausführen. Sie können die neue Datenbank auch in eine andere neue Datenbank kopieren. -
Der Zugriff auf die Zieldatenbank ist erst nach Abschluss des Kopiervorgangs möglich. Sie können den Status des Kopiervorgangs überprüfen, indem Sie die Spalte
statein der Sichtsys.databasesoder die Spaltepercentage_completein der Sichtsys.dm_database_copiesauf dem SQL-Datenbank-Zielserver abfragen.
Während des Kopiervorgangs enthält die Spaltestateder Sichtsys.databasesden WertCopyingauf dem SQL-Datenbank-Zielserver. Zudem wird in der Spaltepercentange_completeder Sichtsys.dm_database_copiesder Prozentsatz von Bytes angezeigt, die auf den Zielserver kopiert wurden. -
Auf die Quelldatenbank kann während des Datenbankkopiervorgangs möglicherweise weiterhin zugegriffen werden.
Nur die Serverebenenprinzipal-Anmeldung, die im Rahmen des Bereitstellungsprozesses erstellt wurde, oder Mitglieder, die über die dbmanager-Datenbankrolle verfügen, können Datenbanken erstellen.
Wichtig