このセクションでは、Cloud SQL インスタンスのストアド プロシージャについて説明します。
ストアド プロシージャには、再利用可能な SQL コードが含まれています。
ストアド プロシージャを実行するには、EXEC
コマンドを使用し、次の変数を置き換えます。
- procedure_name は、ストアド プロシージャの名前です。
- database_name は、プロシージャを実行するデータベースの名前です。
- schema_name は、プロシージャを実行するスキーマの名前です。
EXEC database_name.schema_name.procedure_name @param1, @param2;
独自のストアド プロシージャを作成するには、ストアド プロシージャの作成をご覧ください。
Cloud SQL for SQL Server のストアド プロシージャ
一括挿入を使用するためのストアド プロシージャ
一括挿入の詳細については、一括挿入を使用してデータをインポートするをご覧ください。
msdb.dbo.gcloudsql_bulk_insert
構文
EXEC msdb.dbo.gcloudsql_bulk_insert @database @schema @object @file ...
説明
このストアド プロシージャのパラメータと動作は、BULK INSERT コマンドに似ています。
ストアド プロシージャは、Cloud Storage バケットに保存されているファイルから Cloud SQL インスタンスにデータをインポートします。Cloud Storage の相互運用可能な API と HMAC キーを使用して、Cloud Storage バケットへのアクセスを認証します。
このストアド プロシージャには次のパラメータがあります。
パラメータ | 型 | 説明 |
---|---|---|
@database |
SYSNAME |
データのインポート先のターゲット データベースの名前を指定します。 |
@schema |
SYSNAME |
テーブルが属するスキーマの名前を指定します。 |
@object |
NVARCHAR |
データの挿入先のテーブルの名前を指定します。 |
@file |
NVARCHAR |
Cloud Storage バケット内のインポート ファイルへのパスを指定します。 パスは次の形式にする必要があります。 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH 次のように置き換えます。
|
@batchsize |
INT |
バッチ内の行数を指定します。 |
@checkconstraints |
BIT |
ターゲット テーブルに対するすべての制約をチェックする必要があることを指定します。 |
@codepage |
NVARCHAR |
ファイル内のデータのコードページを指定します。RAW がデフォルトかつ唯一のオプションです。 |
@datafiletype |
NVARCHAR |
一括挿入のファイル形式を指定します。 |
@datasource |
NVARCHAR |
データのインポート元となる外部データソースの名前を指定します。 |
@errorfile |
NVARCHAR |
フォーマット エラーのある行の収集に使用するファイルのパスを指定します。 パスは次の形式にする必要があります。 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH 次のように置き換えます。
また、Cloud SQL は拡張子が |
@errorfiledatasource |
NVARCHAR |
エラーファイルを作成する外部データソースの名前を指定します。 |
@firstrow |
INT |
読み込む最初の行の数値識別子を指定します。 |
@firetriggers |
BIT |
ターゲット テーブルで定義された挿入トリガーが一括挿入オペレーション中に実行されることを示します。 |
@formatfiledatasource |
NVARCHAR |
フォーマット ファイルを読み込む外部データソースの名前を指定します。 |
@keepidentity |
BIT |
ID 列のインポート ファイルの ID データの使用を指定します。値は 0 (false)と 1 (true)です。 |
@keepnulls |
BIT |
一括インポート オペレーション中に、挿入される列のデフォルト値の代わりに、空の列に null 値を保持するかどうかを指定します。値は 0 (false)と 1 (true)です。 |
@kilobytesperbatch |
INT |
バッチあたりのデータ量を KB 単位で指定します。 |
@lastrow |
INT |
読み込む最後の行の数値識別子を指定します。 |
@maxerrors |
INT |
Cloud SQL がオペレーションをキャンセルするまでに許容されるエラー数を指定します。 |
@ordercolumnsjson |
NVARCHAR |
並べ替え順と列を JSON 形式で指定します。次に例を示します。
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}] 次のように置き換えます。
|
@rowsperbatch |
INT |
バッチあたりの行数を指定します。 バッチサイズの選択の詳細については、パフォーマンスに関する考慮事項をご覧ください。 |
@tablock |
BIT |
一括挿入オペレーションの実行中にテーブルをロックすることを指定します。 |
@format |
NVARCHAR |
ファイルの形式を指定します。このパラメータの値として CSV を使用します。 |
@fieldquote |
NVARCHAR |
CSV ファイルで引用符として使用する文字を指定します。 値を指定しない場合、Cloud SQL はデフォルト値として |
@formatfile |
NVARCHAR |
インポートするデータの形式を記述する Cloud Storage 内のファイルのパスを指定します。 パスの形式は次のとおりです。 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH 次のように置き換えます。
|
@fieldterminator |
NVARCHAR |
char および widechar データファイルのフィールド終端子を指定します。 |
@rowterminator |
NVARCHAR |
char および widechar データファイルの行終端子を指定します。 |
SQL Server Audit 機能のストアド プロシージャ
SQL Server Audit の機能の使用については、SQL Server データベースの監査をご覧ください。
msdb.dbo.gcloudsql_fn_get_audit_file
構文
msdb.dbo.gcloudsql_fn_get_audit_file
説明
SQL Server Audit の機能によって作成された監査ファイルからデータを取得します。
このストアド プロシージャは、sys.fn_get_audit_file
関数と同じパラメータを受け入れます。msdb.dbo.gcloudsql_fn_get_audit_file
の詳細については、その関数のドキュメントをご覧ください。
変更データ キャプチャ(CDC)のストアド プロシージャ
CDC の詳細については、変更データ キャプチャを有効にするをご覧ください。
msdb.dbo.gcloudsql_cdc_enable_db
構文
exec msdb.dbo.gcloudsql_cdc_enable_db databaseName
説明
データベースの変更データ キャプチャを有効にします。
databaseName
- このストアド プロシージャを実行するデータベースの名前。
msdb.dbo.gcloudsql_cdc_disable_db
構文
exec msdb.dbo.gcloudsql_cdc_disable_db databaseName
説明
データベースの CDC を無効にします。
databaseName
- このストアド プロシージャを実行するデータベースの名前。
Cloud SQL をパブリッシャーとして使用した外部レプリケーションのストアド プロシージャ
外部サブスクライバーまたは別の Cloud SQL インスタンスへの公開の詳細については、外部レプリカの構成をご覧ください。
msdb.dbo.gcloudsql_transrepl_setup_distribution
構文
exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password
説明
分散データベースを設定するラッパー ストアド プロシージャ。ラッパーは、sp_adddistributor、sp_adddistributiondb、sp_adddistpublisher. を呼び出します。
- login - ディストリビューション データベースへの接続と作成に使用される既存のログイン。
- password - ディストリビューターへの接続に使用されるパスワード。
msdb.dbo.gcloudsql_transrepl_replicationdboption
構文
exec msdb.dbo.gcloudsql_transrepl_replicationdboption @db,@value
説明
sp_replicationdboption を使用するパブリッシャー用のデータベースの公開オプションを有効または無効にします。
- db - レプリケーション オプションが設定されているデータベース。
- value - 公開オプションを有効にするには
True
を指定します。無効にするにはFalse
を指定します。
msdb.dbo.gcloudsql_transrepl_addlogreader_agent
構文
exec msdb.dbo.gcloudsql_transrepl_addlogreader_agent @db,@login,@password
説明
sp_addlogreader_agent を使用するデータベースのログリーダー エージェントを設定します。
- db - 公開されるデータベース。
- login - パブリッシャーへの接続に使用されるログイン。
- password - 接続時に使用されるパスワード。
msdb.dbo.gcloudsql_transrepl_addpublication
構文
exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication
説明
トランザクションのパブリケーションを作成し、sp_addpublication のラッパー ストアド プロシージャとして機能します。
- db - 公開されているデータベース。
- publication - 作成された新しいパブリケーションの名前。
msdb.dbo.gcloudsql_transrepl_droppublication
構文
exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication
説明
トランザクションのパブリケーションを破棄し、sp_droppublication のラッパー ストアド プロシージャとして機能します。
- db - パブリケーションが破棄されたデータベース。
- publication - 破棄されたパブリケーションの名前。
msdb.dbo.gcloudsql_transrepl_addpublication_snapshot
構文
exec msdb.dbo.gcloudsql_transrepl_addpublication_snapshot @db,@publication,@login,@password
説明
公開されるデータベースのスナップショット エージェントを作成します。sp_addpublication_snapshot のラッパー ストアド プロシージャとして機能します。
- db - パブリケーションが破棄されたデータベース。
- publication - 破棄されたパブリケーションの名前。
- login - パブリッシャーへの接続に使用されるログイン。
- password - 接続時に使用されるパスワード。
msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
構文
exec msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
@db,@publication,@subscriber_db,@subscriber_login,
@subscriber_password,@subscriber
説明
push サブスクリプションを同期する新しいスケジュール設定されたエージェント ジョブを作成します。sp_addpushsubscription_agent のラッパー ストアド プロシージャとして機能します。
- db - 公開されているデータベース。
- publication - push サブスクリプション エージェントを追加するパブリケーションの名前。
- subscriber_db - サブスクライバーのデータベース。
- subscriber_login - サブスクライバーへの接続に使用されるログイン。
- subscriber_password - サブスクライバーへの接続に使用されるパスワード。
- subscriber - サブスクライバー インスタンスの IP 名。この値は
<Hostname>,<PortNumber>
として指定できます。
msdb.dbo.gcloudsql_transrepl_addmonitoraccess
構文
exec msdb.dbo.gcloudsql_transrepl_addmonitoraccess @login
説明
ディストリビューション データベースのレプリケーション関連のテーブルに存在するレプリケーション モニターと SELECT
ステートメントへのアクセス権を付与します。
- login - レプリケーション モニターへのアクセスに使用されるログイン。
msdb.dbo.gcloudsql_transrepl_changedistributor_property
構文
exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value
説明
このストアド プロシージャは heartbeat_interval
を変更し、sp_changedistributor_property
をラップします。詳細については、sp_changedistributor_property
のドキュメントをご覧ください。heartbeat_interval
値の詳細についても、そのドキュメントもご覧ください。
- property - ディストリビューション データベースのプロパティ。
- value - 指定されたプロパティに入力する値。
msdb.dbo.gcloudsql_transrepl_dropsubscriber
構文
exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber
説明
sp_dropsubscriber のラッパー ストアド プロシージャとして機能するサブスクライバーを削除します。
- subscriber - 破棄されるサブスクライバーの IP 名。この値は
<Hostname>,<PortNumber>
として指定できます。
msdb.dbo.gcloudsql_transrepl_remove_distribution
構文
exec msdb.dbo.gcloudsql_transrepl_remove_distribution
説明
ディストリビューション設定を削除します。sp_dropdistpublisher、sp_dropdistributiondb、sp_dropdistributor のラッパー ストアド プロシージャとして機能します。
次のステップ
- 変更データ キャプチャ(CDC)を有効にする方法を確認する。
- 外部レプリカを構成する方法を確認する。