CREATE DATABASE (Azure SQL-Datenbank)

 

DIESES THEMA GILT FÜR: neinSQL Server jaAzure SQL-Datenbank neinAzure SQL Data Warehouse neinParallel Data Warehouse

Erstellt eine neue Datenbank. Es muss eine Verbindung mit der master-Datenbank bestehen, um eine neue Datenbank zu erstellen.

  
CREATE DATABASE database_name [ COLLATE collation_name ]  
{  
   (<edition_options> [, ...n])   
}  
  
<edition_options> ::=   
{  
      MAXSIZE = { 100 MB | 500 MB | 1 | 5 | 10 | 20 | 30 … 150…500 } GB    
    | EDITION = {  'basic' | 'standard' | 'premium' }   
    | SERVICE_OBJECTIVE =   
          {  'basic' | 'S0' | 'S1' | 'S2' | 'S3'   
            | 'P1' | 'P2' | 'P3' | 'P4'| 'P6' | 'P11'  | 'P15' | 
            | { ELASTIC_POOL(name = <elastic_pool_name>) } }   
}  
[;]  
  

To copy a database in Azure SQL Database V12:  
CREATE DATABASE database_name  
    AS COPY OF [source_server_name.] source_database_name  
    [ SERVICE_OBJECTIVE =   
          {  'basic' | 'S0' | 'S1' | 'S2' | 'S3'   
            | 'P1' | 'P2' | 'P3' | 'P4'| 'P6' | 'P11' | 'P15' | 
            | { ELASTIC_POOL(name = <elastic_pool_name>) } }   
    ]  
[;]  

Das Syntaxdiagramm veranschaulicht die in Azure SQL-Datenbank unterstützten Argumente.

Datenbankname
Der Name der neuen Datenbank. Dieser Name muss auf dem SQL-Server, die beide hosten können eindeutig sein Azure SQL-Datenbank Datenbanken und SQL Data Warehouse -Datenbanken und entsprechen dem SQL Server Regeln für Bezeichner entsprechen. Weitere Informationen finden Sie unter Bezeichner.

Sortierungsname
Gibt die Standardsortierung für die Datenbank an. Als Sortierungsname kann entweder der Name einer Windows-Sortierreihenfolge oder ein SQL-Sortierungsname verwendet werden. Wenn keine Angabe erfolgt, wird der Datenbank die Standardsortierung, SQL_Latin1_General_CP1_CI_AS, zugewiesen.

Weitere Informationen zu den Windows- und SQL-Sortierungsnamen COLLATE (Transact-SQL).

EDITION
Gibt die Dienstebene der Datenbank an. Die verfügbaren Werte sind: 'basic','standard' und 'Premium'.

Wenn EDITION angegeben ist, MAXSIZE jedoch nicht, wird MAXSIZE auf die restriktivste, von der Edition unterstützte Größe festgelegt.

System_CAPS_ICON_note.jpg Hinweis


SQL-Datenbank V11, die abgekoppelt wurde, unterstützt auch Web und Business Edition. Finden Sie unter Einstellung von Web und Business Edition-FAQ.

MAXSIZE
Gibt die maximale Größe der Datenbank an. MAXSIZE muss für die angegebene EDITION (Dienstebene) gültig sein. Im Folgenden sind die unterstützten MAXSIZE-Werte und die Standardwerte (S) für die Dienstebenen aufgeführt.

MAXSIZEGrundlegendeStandardPremium
100 MB
500 MB
1 GB
2 GB√ (S)
5 GB
10 GB
20 GB
30 GB
40 GB
50 GB
100 GB
150 GB
200 GB
250 GB√ (S)
300 GB
400 GB
500 GB√ (D)*

*Premium P11 und P15 können eine größere MAXSIZE 1024 GB, die standardmäßig aktiviert ist.

Die folgenden Regeln gelten für das MAXSIZE-Argument und das EDITION-Argument:

  • Falls angegeben, muss der MAXSIZE-Wert einem gültigen, in der Tabelle oben aufgeführten Wert entsprechen.

  • Wenn EDITION angegeben ist, MAXSIZE jedoch nicht, wird der Standardwert für die Edition verwendet. Wenn EDITION beispielsweise auf die Standard Edition festgelegt und MAXSIZE nicht angegeben ist, wird MAXSIZE automatisch auf 500 MB festgelegt.

  • Wenn weder MAXSIZE noch EDITION angegeben ist, wird die EDITION, Standard (S0) festgelegt ist, und MAXSIZE auf 250 GB festgelegt.

SERVICE_OBJECTIVE
Gibt die Leistungsebene an. Dienst dienstzielbeschreibungen und Weitere Informationen über die Größe, Editionen und dienstzielkombinationen finden Sie unter Azure SQL-Datenbank-Dienstebenen und Leistungsstufen. Wenn der angegebene SERVICE_OBJECTIVE von der EDITION nicht unterstützt wird, erhalten Sie eine Fehlermeldung.

ELASTIC_POOL (Name = <elastic_pool_name>)</elastic_pool_name>
Zum Erstellen einer neuen Datenbank in einem elastischen Pool die SERVICE_OBJECTIVE von der Datenbank auf ELASTIC_POOL festgelegt, und geben Sie den Namen des Pools. Weitere Informationen finden Sie unter erstellen und verwalten Sie einen Pool für elastische Datenbanken SQL-Datenbank (Vorschau).

ALS COPY OF [Name des Quellservers.] Name der Quelldatenbank
Zum Kopieren einer Datenbank auf demselben oder einem anderen SQL-Datenbank-Server.

Name des Quellservers
Der Name des SQL-Datenbank-Servers, auf dem sich die Quelldatenbank befindet. Dieser Parameter ist optional, wenn sich die Quell- und die Zieldatenbank auf demselben SQL-Datenbank-Server befinden sollen.

Hinweis: Das AS COPY OF-Argument unterstützt nicht die vollqualifizierten eindeutigen Domänennamen. Das heißt, wenn der vollqualifizierte Domänenname des Servers serverName.database.windows.net ist, verwenden Sie serverName nur während des Datenbankkopiervorgangs.

Name der Quelldatenbank
Der Name der zu kopierenden Datenbank.

Azure SQL-Datenbankunterstützt nicht die folgenden Argumente und Optionen bei Verwendung der CREATE DATABASE Anweisung:

  • Parameter im Zusammenhang mit der physischen Platzierung der Datei, z. B. <> > und<>>

  • Externe Zugriffsoptionen wie DB_CHAINING und TRUSTWORTHY

  • Anfügen einer Datenbank

  • Service Broker-Optionen, wie ENABLE_BROKER, NEW_BROKER und ERROR_BROKER_CONVERSATIONS

  • Datenbankmomentaufnahme

Weitere Informationen zu den Argumenten und der CREATE DATABASE -Anweisung finden Sie unter CREATE DATABASE (SQL Server Transact-SQL).

Datenbanken in Azure SQL-Datenbank weisen einige Standardeinstellungen auf, die beim Erstellen der Datenbank festgelegt werden. Weitere Informationen zu diesen Standardeinstellungen finden Sie in der Liste der Werte in DATABASEPROPERTYEX (Transact-SQL).

MAXSIZE bietet die Möglichkeit, die Größe der Datenbank zu beschränken. Wenn die Größe der Datenbank den Wert von MAXSIZE erreicht, erhalten Sie den Fehlercode 40544. In diesem Fall können Sie keine Daten einfügen oder aktualisieren oder neue Objekte (wie Tabellen, gespeicherte Prozeduren. Sichten und Funktionen) erstellen. 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 aktualisieren, der größer als die aktuelle Datenbankgröße ist, oder Sie löschen einige Daten, um Speicherplatz freizugeben. Eine Verzögerung von bis zu fünfzehn Minuten ist möglich, bevor Sie neue Daten einfügen können.

System_CAPS_ICON_important.jpg Wichtig


Die CREATE DATABASE-Anweisung muss die einzige Anweisung in einem Transact-SQL-Batch sein. Sie müssen verbunden sein, um die master Datenbank beim Ausführen der CREATE DATABASE Anweisung.

Um die Größe, Edition oder dienstzielwerte später ändern, verwenden ALTER DATABASE (Azure SQL-Datenbank).

Das Kopieren einer Datenbank mit der CREATE DATABASE Anweisung ist ein asynchroner Vorgang. Deshalb muss nicht für die volle Dauer des Kopiervorgangs eine Verbindung mit dem SQL-Datenbank-Server bestehen. Die CREATE DATABASE-Anweisung gibt die Steuerung an den Benutzer zurück, nachdem der Eintrag in sys.databases erstellt, aber bevor der Datenbank-Kopiervorgang abgeschlossen wurde. Das heißt, die CREATE DATABASE-Anweisung wird erfolgreich ausgeführt, während der Datenbank-Kopiervorgang noch ausgeführt wird.

  • Überwachung des Kopiervorgangs auf eine SQL-Datenbank Server: Abfrage der percentage_complete oder replication_state_desc Spalten in der Dm_database_copies oder state Spalte in der sys.databases anzeigen. Die dm_operation_status Ansicht kann ebenfalls verwendet werden, wie er den Status von Datenbankvorgängen, wie die Datenbankkopie zurückgibt.

Sobald der Kopiervorgang erfolgreich abgeschlossen wurde, ist die Zieldatenbank im Hinblick auf Transaktionen mit der Quelldatenbank konsistent.

Die folgende Syntax und die folgenden 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 es wird standardmäßig der Serverkontext der aktuellen Sitzung verwendet.

  • Die Namen der Quell- und der Zieldatenbank müssen angegeben werden. Diese Namen müssen 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 master-Datenbank des SQL-Datenbank-Servers ausgeführt werden, auf dem die neue Datenbank erstellt wird.

  • Nachdem der Kopiervorgang abgeschlossen wurde, muss die Zieldatenbank als unabhängige Datenbank verwaltet werden. Sie können die ALTER DATABASE-Anweisung und die DROP DATABASE-Anweisung unabhängig von der Quelldatenbank für die neue Datenbank ausführen. Außerdem können Sie die neue Datenbank in eine andere neue Datenbank kopieren.

  • Der Zugriff auf die Quelldatenbank ist weiterhin möglich, solange der Datenbank-Kopiervorgang ausgeführt wird.

Weitere Informationen finden Sie unter erstellen Sie eine Kopie einer Azure SQL-Datenbank mithilfe von Transact-SQL-.

Zum Erstellen einer Datenbank ein Anmeldename müssen eine der folgenden sein:

  • Der prinzipalanmeldung auf Serverebene

  • Die Azure AD-Administrator für den lokalen Azure SQL-Server

  • Eine Anmeldung ein Mitglied der dbmanager -Datenbankrolle

Zusätzliche Anforderungen für die Verwendung von CREATE DATABASE ... AS COPY OF Syntax: Anmeldenamens die Anweisung ausführt, auf dem lokalen Server zudem muss mindestens die db_owner auf dem Quellserver. Wenn die Anmeldung basiert SQL Server -Authentifizierung und die Anmeldung, die Ausführung der Anweisung auf dem lokalen Server benötigen kein entsprechenden Anmeldename für die Quelle SQL-Datenbank -Server, mit identischen Namen und Kennwort.

Alle Beispiele müssen ausgeführt werden, während einer Verbindung mit der master Datenbank. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einer Azure SQL-Datenbank mit SSMS.

Einfaches Beispiel

Ein einfaches Beispiel zum Erstellen einer Datenbank.

CREATE DATABASE TestDB1;  

Einfaches Beispiel mit der Edition

Ein einfaches Beispiel zum Erstellen einer standard-Datenbank.

CREATE DATABASE TestDB2  
( EDITION = 'standard' );  

Beispiel mit zusätzlichen Optionen

Ein Beispiel für mehrere Optionen.

CREATE DATABASE hito   
COLLATE Japanese_Bushu_Kakusu_100_CS_AS_KS_WS   
( MAXSIZE = 500 MB, EDITION = 'standard', SERVICE_OBJECTIVE = 'S1' ) ;  

Eine Kopie erstellen

Beispiel für die Erstellung einer Kopie einer Datenbank.

CREATE DATABASE escuela   
AS COPY OF school;  

Erstellen einer Datenbank in einem elastischen Pool

Neue Datenbank erstellt mit dem Namen S3M100 Pool:

CREATE DATABASE db1 ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = S3M100 ) ) ;  

Erstellen eine Kopie einer Datenbank auf einem anderen Server

Das folgende Beispiel erstellt eine Kopie der Db_original-Datenbank, in der Leistungsstufe P2 Db_copy für eine einzelne Datenbank. Dies gilt unabhängig davon, ob Db_original in einem elastischen Pool oder eine Leistungsstufe für eine einzelne Datenbank.

CREATE DATABASE db_copy   
    AS COPY OF ozabzw7545.db_original ( SERVICE_OBJECTIVE = 'P2' )  ;  

Das folgende Beispiel erstellt eine Kopie der Db_original-Datenbank, in einem elastischen Pool mit dem Namen ep1 Db_copy. Dies gilt unabhängig davon, ob Db_original in einem elastischen Pool oder eine Leistungsstufe für eine einzelne Datenbank. Wenn Db_original in einem elastischen Pool mit einem anderen Namen befindet, wird Db_copy weiterhin in ep1 erstellt.

CREATE DATABASE db_copy   
    AS COPY OF ozabzw7545.db_original   
    (SERVICE_OBJECTIVE = ELASTIC_POOL( name = ep1 ) ) ;  

Community-Beiträge

HINZUFÜGEN
Anzeigen: