Gespeicherte Cloud SQL-Prozeduren

In diesem Abschnitt werden gespeicherte Prozeduren für Cloud SQL-Instanzen beschrieben.

Eine gespeicherte Prozedur beinhaltet einen SQL-Code, den Sie wiederverwenden können.

Verwenden Sie zum Ausführen der gespeicherten Prozedur den Befehl EXEC und ersetzen Sie die folgenden Variablen:

  • procedure_name: der Name des gespeicherten Verfahrens.
  • database_name: der Name der Datenbank, in der Sie das Verfahren ausführen möchten.
  • schema_name: der Name des Schemas, in dem Sie das Verfahren ausführen möchten.
EXEC database_name.schema_name.procedure_name @param1, @param2;
Weitere Informationen finden Sie auf der Referenzseite EXECUTE (Transact-SQL).

Informationen zum Erstellen eines eigenen gespeicherten Verfahrens finden Sie unter Gespeichertes Verfahren erstellen.

Gespeicherte Prozeduren für Cloud SQL for SQL Server

Gespeicherte Prozedur für die Verwendung von Bulk-Einfügung

Weitere Informationen zur Bulk-Einfügung finden Sie unter Bulk-Einfügung für den Import von Daten verwenden.

msdb.dbo.gcloudsql_bulk_insert

Syntax

EXEC msdb.dbo.gcloudsql_bulk_insert @database @schema @object @file ...

Beschreibung

Diese gespeicherte Prozedur hat ähnliche Parameter und ein ähnliches Verhalten wie der Befehl BULK INSERT.

Die gespeicherte Prozedur importiert Daten aus einer Datei, die in einem Cloud Storage-Bucket gespeichert ist, in eine Cloud SQL-Instanz. Für die Authentifizierung des Zugriffs auf den Cloud Storage-Bucket werden die interoperable API von Cloud Storage und die HMAC-Schlüssel verwendet.

Diese gespeicherte Prozedur hat die folgenden Parameter:

Parameter Typ Beschreibung
@database SYSNAME Gibt den Namen der Zieldatenbank an, in die die Daten importiert werden sollen.
@schema SYSNAME Der Name des Schemas, zu dem die Tabelle gehört.
@object NVARCHAR Gibt den Namen der Tabelle an, in die die Daten eingefügt werden sollen.
@file NVARCHAR Gibt den Pfad zur Importdatei im Cloud Storage-Bucket an.

Der Pfad muss das folgende Format haben:

 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

Ersetzen Sie Folgendes:

  • BUCKET_NAME: Gibt den Namen des Cloud Storage-Buckets an.
  • FILE_PATH: Gibt den Pfad zur Datei an, die im Cloud Storage-Bucket gespeichert ist.
@batchsize INT Gibt die Anzahl der Zeilen in einem Batch an.
@checkconstraints BIT Gibt an, dass alle Einschränkungen für die Zieltabelle geprüft werden müssen.
@codepage NVARCHAR Gibt die Codepage der Daten in der Datei an. RAW ist die Standard- und einzige Option.
@datafiletype NVARCHAR Gibt den Dateityp für Bulk-Einfügungen an.
@datasource NVARCHAR Gibt den Namen der externen Datenquelle an, aus der Sie die Daten importieren möchten.
@errorfile NVARCHAR Gibt den Pfad zur Datei an, mit der Zeilen mit Formatierungsfehlern erfasst wurden.

Der Pfad muss das folgende Format haben:

 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

Ersetzen Sie Folgendes:

  • BUCKET_NAME: Gibt den Namen des Cloud Storage-Buckets an.
  • FILE_PATH: Gibt den Pfad zur Datei an, die im Cloud Storage-Bucket gespeichert ist.

Außerdem wird in Cloud SQL eine Datei mit der Erweiterung .ERROR.txt erstellt. Diese Datei enthält Verweise auf jede Zeile in der Fehlerdatei und bietet Fehlerdiagnosen.

@errorfiledatasource NVARCHAR Gibt den Namen der externen Datenquelle an, in der Sie die Fehlerdatei erstellen möchten.
@firstrow INT Gibt die numerische Kennung der ersten zu ladenden Zeile an.
@firetriggers BIT Gibt an, dass alle Einfügungs-Trigger, die in der Zieltabelle definiert sind, während der Bulk-Einfügungs-Vorgänge ausgeführt werden.
@formatfiledatasource NVARCHAR Gibt den Namen der externen Datenquelle an, aus der die Formatdatei geladen werden soll.
@keepidentity BIT Gibt an, ob Identitätsdaten aus der Importdatei für die Identitätsspalte verwendet werden sollen. Die Werte sind 0, was falsch (false) und 1, was wahr (true) bedeutet.
@keepnulls BIT Gibt an, ob leere Spalten während des Bulk-Importvorgangs einen Nullwert beibehalten sollen, anstatt dass Standardwerte für die Spalten eingefügt werden. Die Werte sind 0, was falsch (false) und 1, was wahr (true) bedeutet.
@kilobytesperbatch INT Gibt die Datenmenge pro Batch in KB an.
@lastrow INT Gibt die numerische Kennung der letzten zu ladenden Zeile an.
@maxerrors INT Gibt die zulässige Anzahl von Fehlern an, bevor Cloud SQL den Vorgang abbricht.
@ordercolumnsjson NVARCHAR Gibt die Sortierreihenfolge und die Spalten im JSON-Format an. Beispiel:
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}]

Ersetzen Sie Folgendes:

  • COLUMN_NAME: Der Name der Spalte
  • ORDER: die Sortierreihenfolge. Der Wert dieses Parameters kann asc für aufsteigend oder desc für absteigend sein.
@rowsperbatch INT Gibt die Anzahl der Zeilen pro Batch an.

Weitere Informationen zur Auswahl einer Batchgröße finden Sie unter Überlegungen zur Leistung.

@tablock BIT Gibt an, dass eine Tabellensperre für die Dauer des Bulk-Einfügungs-Vorgangs verwendet wird.
@format NVARCHAR Gibt das Format der Datei an. Verwenden Sie CSV als Wert für diesen Parameter.
@fieldquote NVARCHAR Gibt das Zeichen an, das in der CSV-Datei als Anführungszeichen verwendet werden soll.

Wenn Sie keinen Wert angeben, verwendet Cloud SQL " als Standardwert.

@formatfile NVARCHAR Gibt den Pfad der Datei in Cloud Storage an, der das Format der zu importierenden Daten beschreibt.

Der Pfad sollte das folgende Format haben:

 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

Ersetzen Sie Folgendes:

  • BUCKET_NAME: Gibt den Namen des Cloud Storage-Buckets an.
  • FILE_PATH: Gibt den Pfad zur Datei an, die im Cloud Storage-Bucket gespeichert ist.
@fieldterminator NVARCHAR Gibt den Feldterminator für char- und widechar-Dateien an.
@rowterminator NVARCHAR Gibt den Zeilenterminator für char- und widechar-Dateien an.

Gespeicherte Prozeduren für die Funktion von SQL Server-Audit

Informationen zur Verwendung der Funktion von SQL Server-Audit finden Sie unter SQL Server-Datenbankprüfung.

msdb.dbo.gcloudsql_fn_get_audit_file

Syntax

msdb.dbo.gcloudsql_fn_get_audit_file

Beschreibung

Ruft die Daten aus einer Audit-Datei ab, die mithilfe der SQL Server-Audit-Funktion erstellt wurde.

Diese gespeicherte Prozedur akzeptiert die gleichen Parameter wie die Funktion sys.fn_get_audit_file. Weitere Informationen zu msdb.dbo.gcloudsql_fn_get_audit_file finden Sie in der Dokumentation zu dieser Funktion.

Gespeicherte Prozeduren für Change Data Capture (CDC)

Weitere Informationen zu CDC erhalten Sie unter Change Data Capture aktivieren.

msdb.dbo.gcloudsql_cdc_enable_db

Syntax

exec msdb.dbo.gcloudsql_cdc_enable_db databaseName

Beschreibung

Aktiviert Change Data Capture für eine Datenbank.

  • databaseName – Der Name der Datenbank, in der dieses gespeicherte Verfahren ausgeführt werden soll.

msdb.dbo.gcloudsql_cdc_disable_db

Syntax

exec msdb.dbo.gcloudsql_cdc_disable_db databaseName

Beschreibung

Deaktiviert CDC für eine Datenbank.

  • databaseName – Der Name der Datenbank, in der dieses gespeicherte Verfahren ausgeführt werden soll.

Gespeicherte Prozeduren für die externe Replikation mit Cloud SQL als Publisher

Weitere Informationen zur Veröffentlichung mit einem externen Abonnenten oder in einer anderen Cloud SQL-Instanz finden Sie unter Externe Replikate konfigurieren.

msdb.dbo.gcloudsql_transrepl_setup_distribution

Syntax

    exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password

Beschreibung

Eine gespeicherte Wrapper-Prozedur, mit dem eine Distributionsdatenbank eingerichtet wird. Der Wrapper ruft Folgendes auf: sp_adddistributor, sp_adddistributiondb und sp_adddistpublisher.

  • login – Eine vorhandene Anmeldung zum Verbinden und Erstellen der Distributionsdatenbank.
  • password – Das Passwort, das beim Herstellen einer Verbindung zum Verteiler verwendet wird.

msdb.dbo.gcloudsql_transrepl_replicationdboption

Syntax

    exec msdb.dbo.gcloudsql_transrepl_replicationdboption @db,@value

Beschreibung

Aktiviert oder deaktiviert die Veröffentlichungsoption einer Datenbank für den Publisher, der sp_replicationdboption verwendet.

  • db – Die Datenbank, für die die Replikationsoption festgelegt wird.
  • value – Geben Sie hierfür True an, um die Veröffentlichungsoption zu aktivieren, oder False, um die Veröffentlichungsoption zu deaktivieren.

msdb.dbo.gcloudsql_transrepl_addlogreader_agent

Syntax

    exec msdb.dbo.gcloudsql_transrepl_addlogreader_agent @db,@login,@password

Beschreibung

Richtet den Log-Reader-Agent für eine Datenbank ein, die sp_addlogreader_agent verwendet.

  • db – Die Datenbank, die veröffentlicht werden soll.
  • login – Der Log-in beim Herstellen einer Verbindung zum Publisher.
  • password – Das Passwort, das beim Herstellen der Verbindung verwendet wird.

msdb.dbo.gcloudsql_transrepl_addpublication

Syntax

    exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication

Beschreibung

Erstellt die Transaktionspublikation und fungiert als gespeicherte Wrapper-Prozedur für sp_addpublication.

  • db – Die Datenbank, die veröffentlicht wird.
  • publication – Der Name der neu erstellten Publikation.

msdb.dbo.gcloudsql_transrepl_droppublication

Syntax

    exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication

Beschreibung

Löscht die Transaktionspublikation und fungiert als gespeicherte Wrapper-Prozedur für sp_droppublication.

  • db – Die Datenbank, für die die Veröffentlichung gelöscht wurde.
  • publication – Der Name der Publikation, die gelöscht wurde.

msdb.dbo.gcloudsql_transrepl_addpublication_snapshot

Syntax

    exec msdb.dbo.gcloudsql_transrepl_addpublication_snapshot  @db,@publication,@login,@password

Beschreibung

Erstellt einen Snapshot-Agent für die veröffentlichte Datenbank als gespeicherte Wrapper-Prozedur für sp_addpublication_snapshot.

  • db – Die Datenbank, für die die Veröffentlichung gelöscht wurde.
  • publication – Der Name der Publikation, die gelöscht wurde.
  • login – Der Log-in beim Herstellen einer Verbindung zum Publisher.
  • password – Das Passwort, das beim Herstellen der Verbindung verwendet wird.

msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent

Syntax

    exec msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
      @db,@publication,@subscriber_db,@subscriber_login,
        @subscriber_password,@subscriber

Beschreibung

Erstellt einen neuen geplanten Agent-Job zur Synchronisierung des Push-Abos, das als gespeicherte Wrapper-Prozedur für sp_addpushsubscription_agent fungiert.

  • db – Die Datenbank, die veröffentlicht wird.
  • publication – Der Name der Publikation, der ein Push-Abo-Agent hinzugefügt werden soll.
  • subscriber_db – Die Datenbank des Abonnenten.
  • subscriber_login – Die Anmeldung, die beim Herstellen einer Verbindung zum Abonnenten verwendet wird.
  • subscriber_password – Das Passwort, das beim Herstellen einer Verbindung zum Abonnenten verwendet wird.
  • subscriber – Der IP-Name der Abonnenteninstanz. Dieser Wert wird im folgenden Format angegeben: <Hostname>,<PortNumber>.

msdb.dbo.gcloudsql_transrepl_addmonitoraccess

Syntax

    exec msdb.dbo.gcloudsql_transrepl_addmonitoraccess @login

Beschreibung

Bietet Zugriff auf den Replikationsmonitor und die Anweisung SELECT für replikationsbezogene Tabellen in der Distributionsdatenbank.

  • login – Die Anmeldung für den Zugriff auf den Replikationsmonitor.

msdb.dbo.gcloudsql_transrepl_changedistributor_property

Syntax

    exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value

Beschreibung

Mit diesem gespeicherten Verfahren wird heartbeat_interval geändert und sp_changedistributor_property zusammengefasst. Weitere Informationen finden Sie in der Dokumentation zu sp_changedistributor_property. Weitere Informationen zum Wert heartbeat_interval erhalten Sie in dieser Dokumentation.

  • property – Das Attribut für eine Distributionsdatenbank.
  • value – Der Wert, der für das angegebene Attribut bereitgestellt werden soll.

msdb.dbo.gcloudsql_transrepl_dropsubscriber

Syntax

    exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber

Beschreibung

Entfernt den Abonnenten, der als gespeicherte Wrapper-Prozedur für sp_dropsubscriber dient.

  • subscriber – Der IP-Name des Abonnenten, der gelöscht werden soll. Dieser Wert wird im folgenden Format angegeben: <Hostname>,<PortNumber>.

msdb.dbo.gcloudsql_transrepl_remove_distribution

Syntax

     exec msdb.dbo.gcloudsql_transrepl_remove_distribution

Beschreibung

Entfernt die Verteilungskonfiguration, die als gespeicherte Wrapper-Prozedur verwendet wird: sp_dropdistpublisher, sp_dropdistributiondb und sp_dropdistributor.

Nächste Schritte