レプリケートされたアーティクルに関する情報を出力するSQL Server動的管理ビューレファレンス(145)

「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、レプリケートされたアーティクルに関する情報の出力について解説します。

» 2022年09月13日 05時00分 公開
[椎名武史@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

SQL Server動的管理ビュー一覧

 本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は動的管理ビュー「sys.dm_repl_articles」における、レプリケートされたアーティクルに関する情報の出力について解説します。対応バージョンは、SQL Server(サポートされている全てのバージョン)です。

概要

 SQL Serverでは、レプリケーション機能を使用することでデータベースから別のデータベースにデータやデータベースオブジェクトをコピーして配布し、データベースを同期させることが可能です。

 同期させるデータベースオブジェクトは、アーティクルと呼ばれます。「sys.dm_repl_articles」では、レプリケートされたアーティクルに関する情報を出力します。

出力内容

列名 データ型 説明
artcache_db_address varbinary(8) メモリ内のデータベース構造のアドレス
artcache_table_address varbinary(8) メモリ内のテーブル構造のアドレス
artcache_schema_address varbinary(8) メモリ内のスキーマ構造のアドレス
artcache_article_address varbinary(8) メモリ内のアーティクル構造のアドレス
artid bigint このテーブル内の各エントリを一意に識別
artfilter bigint アーティクルをフィルターする場合に使用されるストアドプロシージャのID
artobjid bigint パブリッシュされたオブジェクトID
artpubid bigint アーティクルが属しているパブリケーションのID
artstatus tinyint アーティクルのオプションと状態のビットマスク
 「1」=アーティクルはアクティブ
 「8」=挿入ステートメントに列名を含める
 「16」=パラメーター化されたステートメントを使用
 「24」=挿入ステートメントに列名を含め、パラメーター化されたステートメントを使用
arttype tinyint アーティクルの種類
 「1」=ログベースのアーティクル
 「3」=手動フィルターを使用したログベースのアーティクル
 「5」=手動ビューを使用したログベースのアーティクル
 「7」=手動フィルターと手動ビューを使用するログベースのアーティクル
 「8」=ストアドプロシージャの実行
 「24」=シリアル化可能なストアドプロシージャの実行
 「32」=スキーマのみのストアドプロシージャ
 「64」=スキーマのみのビュー
 「128」=スキーマのみの関数
wszArtdesttable nvarchar(514) パブリッシュされたオブジェクトの名前
wszArtdesttableowner nvarchar(514) パブリッシュされたオブジェクトの所有者
wszArtinscmd nvarchar(510) 挿入に使用されるコマンドまたはストアドプロシージャ
cmdTypeIns int 挿入ストアドプロシージャの呼び出し構文
 「1」=CALL
 「2」=SQL
 「3」=NONE
 「7」=UNKNOWN
wszArtdelcmd nvarchar(510) 削除に使用されるコマンドまたはストアドプロシージャ
cmdTypeDel int 削除ストアドプロシージャの呼び出し構文
 「0」=XCALL
 「1」=CALL
 「2」=SQL
 「3」=NONE
 「7」=UNKNOWN
wszArtupdcmd nvarchar(510) 更新に使用されるコマンドまたはストアドプロシージャ
cmdTypeUpd int 更新ストアドプロシージャの呼び出し構文
 「0」=XCALL
 「1」=CALL
 「2」=SQL
 「3」=NONE
 「4」=MCALL
 「5」=VCALL
 「6」=SCALL
 「7」=UNKNOWN
wszArtpartialupdcmd nvarchar(510) 部分更新に使用されるコマンドまたはストアドプロシージャ
cmdTypePartialUpd int 部分更新ストアドプロシージャの呼び出し構文
 「2」=SQL
numcol int 列方向にフィルター選択されたアーティクルのパーティション内の列数
artcmdtype tinyint 現在レプリケートされているコマンドの種類
 「1」=INSERT
 「2」=DELETE
 「3」=UPDATE
 「4」=UPDATETEXT
 「5」=NONE
 「6」=内部使用のみ
 「7」=内部使用のみ
 「8」=部分的なUPDATE
artgeninscmd nvarchar(510) 挿入コマンドテンプレート
artgendelcmd nvarchar(510) 削除コマンドテンプレート
artgenupdcmd nvarchar(510) 更新コマンドテンプレート
artpartialupdcmd nvarchar(510) 部分更新コマンドテンプレート
artupdtxtcmd nvarchar(510) UPDATETEXTコマンドテンプレート
artgenins2cmd nvarchar(510) 同時実行スナップショット処理中にアーティクルを調整するときに使用される挿入コマンドテンプレート
artgendel2cmd nvarchar(510) 同時実行スナップショット処理中にアーティクルを調整するときに使用される削除コマンドテンプレート
fInReconcile tinyint 同時実行スナップショット処理中にアーティクルが現在調整されているかどうかを示す
fPubAllowUpdate tinyint パブリケーションがサブスクリプションの更新を許可するかどうかを示す
intPublicationOptions bigint 追加のパブリッシングオプションを指定するビットマップ
 「0x1」=ピアツーピアレプリケーション
 「0x2」=ローカル変更
 「0x4」=SQL Server以外のサブスクライバー

動作例

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。