「Microsoft 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.