sp_replicationdboption (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
指定したデータベースのレプリケーション データベース オプションを設定します。 このストアド プロシージャは、任意のデータベースのパブリッシャーまたはサブスクライバーで実行されます。
構文
sp_replicationdboption
[ @dbname = ] N'dbname'
, [ @optname = ] N'optname'
, [ @value = ] { N'true' | N 'false' }
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @from_scripting = ] from_scripting ]
[ ; ]
引数
[ @dbname = ] N'dbname'
レプリケーション データベース オプションが設定されているデータベース。 @dbname は sysname で、既定値はありません。
[ @optname = ] N'optname'
有効または無効にするレプリケーション データベース オプション。 @optname は sysname であり、次のいずれかの値を指定できます。
値 | 説明 |
---|---|
merge publish |
データベースは、マージ パブリケーションで使用できます。 |
publish |
データベースは、他の種類のパブリケーションで使用できます。 |
subscribe |
データベースはサブスクリプション データベースです。 |
sync with backup |
データベースは、調整されたバックアップに対して有効になっています。 詳細については、「 トランザクション レプリケーションの有効な調整されたバックアップ」を参照してください。 |
[ @value = ] { N'true' |N 'false' }
指定されたレプリケーション データベース オプションを有効または無効にするかどうか。 @value は sysname で、既定値はありません。 この値が false
され、 @optname が merge publish
されると、マージパブリッシュされたデータベースのサブスクリプションも削除されます。
[ @ignore_distributor = ] ignore_distributor
ディストリビューターに接続せずにこのストアド プロシージャを実行するかどうかを示します。 @ignore_distributor は bit で、既定値は 0
です。
0
場合は、ディストリビューターを接続し、発行データベースの新しい状態で更新する必要があります。1
は、ディストリビューターにアクセスできない場合にのみ指定し、sp_replicationdboption
を使用して発行を無効にする必要があります。
[ @from_scripting = ] from_scripting
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_replicationdboption
は、スナップショット レプリケーション、トランザクション レプリケーション、マージ レプリケーションで使用されます。
このプロシージャでは、指定したオプションに従って、特定のレプリケーション システム テーブル、セキュリティ アカウントなどが作成または削除されます。 対応するis_published
(トランザクション またはスナップショット レプリケーション)、is_merge_published
(マージ レプリケーション)、またはmaster.databases
システム テーブルのis_distributor
ビットを設定し、必要なシステム テーブルを作成します。
発行を無効にするには、パブリケーション データベースがオンラインである必要があります。 パブリケーション データベースのデータベース スナップショットが存在する場合は、パブリッシュを無効にする前に削除する必要があります。 データベース スナップショットは、データベースの読み取り専用オフライン コピーであり、レプリケーション スナップショットとは関係ありません。 詳細については、「 Database スナップショット (SQL Server)」を参照してください。
アクセス許可
sysadmin固定サーバー ロールのメンバーのみがsp_replicationdboption
を実行できます。