連載
» 2021年08月17日 05時00分 公開

SQL Databaseのデータベースコピーに関する情報を出力するSQL Server動的管理ビューレファレンス(35)

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

[伊東敏章,@IT]

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

SQL Server動的管理ビュー一覧

 本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は動的管理ビュー「sys.dm_database_copies」における、SQL Databaseのデータベースコピーに関する情報の出力について解説します。

概要

 「Azure SQL Database」では、「geo」レプリケーションを構成することで、同じデータセンターまたは異なる地域のデータセンターのSQL Databaseサーバ上に、読み取り可能なセカンダリーデータベースを作成できます。「geo」レプリケーションは、データセンターで地域災害または大規模な機能停止が発生した場合のディザスタリカバリーなどの用途に使用できます。

 「geo」レプリケーションでは、セカンダリーデータベースが作成された後、シード処理によってプライマリーデータベースのデータがセカンダリーデータベースにコピーされます。シード処理が完了するとセカンダリーデータベースは使用可能となり、プライマリーデータベースの更新がセカンダリーデータベースに非同期で自動的にレプリケートされるようになります。

 「sys.dm_database_copies」動的管理ビューを使用することで、プライマリーデータベースとセカンダリーデータベース間のデータコピーに関する情報を確認できます。

出力内容

列名 データ型 説明
database_id int データベースID
start_date datetimeoffset 接続先SQL Databaseのデータセンターにおいて、データベースコピーが開始された時刻(UTC)
modify_date datetimeoffset データベースコピーが完了した時刻(UTC)、またはpercent_completeフィールドの更新を反映した時刻(UTC)
1分ごとに更新される
percent_complete real コピーされたバイトの割合(%)
error_code int コピー中に発生したエラーを示すコード
エラーが発生していない場合は0
error_desc nvarchar(4096) コピー中に発生したエラーの説明
error_severity int データベースコピーが失敗した場合は16
error_state int コピーが失敗した場合は1
copy_guid uniqueidentifier コピー操作の一意のID
partner_server sysname コピー先のSQL Databaseサーバの名前
partner_database sysname コピー先のSQL Databaseの名前
replication_state tinyint このデータベースのレプリケーションの状態
 0 = 保留中
 1 = シード処理中
replication_state_desc nvarchar(256) replication_stateの説明
 ・PENDING
 ・SEEDING
maximum_lag int 予約フィールド
is_continuous_copy bit 0を返す
is_target_role bit 0 = ソースデータベース
1 = データベースのコピー
is_interlink_connected bit 予約フィールド
is_offline_secondary bit 予約フィールド

動作例

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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