「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、SQL Databaseのデータベースコピーに関する情報の出力について解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、「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.