データベースのパブリケーションを無効にする
このページのタグ:[SQL Server]
SQL Serverでデータベースのパブリケーションを無効にする方法を紹介します。

概要

SQL Serverにおいて、データベースのレプリケーションを一時的に停止したいことがあります。特にデータベースのデタッチはレプリケーションが有効の場合には実行できないため、一時的にレプリケーションを停止する必要があります。この記事では、パブリケーションを削除することなく、データベースのパブリケーションを無効にする手順を紹介します。

手順

sp_replicationdboption を利用します。

書式


sp_replicationdboption [ @dbname= ] 'db_name'   
        , [ @optname= ] 'optname'   
        , [ @value= ] 'value'   
    [ , [ @ignore_distributor= ] ignore_distributor ]  
    [ , [ @from_scripting = ] from_scripting ] 
と定義されていますが今回の利用では

sp_replicationdboption @dbname='(対象のデータベース名)', @optname='(オプション名)',@value='value'
となります。

optname

"optname"は有効、または無効にするオプションの種類を指定します。以下の値を指定できます。
意味
merge publishマージ パブリケーション
publish他の種類のパブリケーション
subscribeサブスクリプション データベース
sync with backup連携バックアップ

value

"value"には、オプションを有効にするか、無効にするかの値を与えます。
意味
true有効にする
false無効にする

パブリケーションしているデータベース"iPentecSandBox"に対し

sp_replicationdboption @dbname='iPentecSandBox', @optname='publish', @value='false'
を実行することで、パブリケーションを無効にできます。
パブリケーションを再度有効にする場合は。

sp_replicationdboption @dbname='iPentecSandBox', @optname='publish', @value='true'
コマンドを実行します。

実行結果

コマンドが実行されると下図の結果となります。

パブリケーションを無効にした場合


パブリケーションを有効にした場合


注意

sp_replicationdboption でパブリケーションを無効にした場合でも、データベースをドロップするとパブリケーションの登録が削除されてしまう場合があります。データベースをドロップする場合には、パブリケーションを削除したほうが確実かもしれません。

プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)