Azure Arc 対応 SQL Server データベースを表示する
適用対象: SQL Server
Azure で Azure Arc 対応のSQL Serverのデータベースのインベントリ作成や表示を行うことができます。
前提条件
データベースをホストするSQL Serverインスタンスを確認します。
- Windows オペレーティング システムが実行されている物理マシンまたは仮想マシンでホストされています。
- SQL Server 2014 (12.x) 以降です。
- Azure Arcに接続されています。「SQL ServerをAzure Arcに接続する」を参照してください。
- インターネットに直接接続されているか、プロキシ サーバー経由で接続されています。
データベース名が名前付け規則に従っており、予約語が含まれていないことを確認します。 予約語のリストについては、「予約されたリソース名のエラーを解決する」を参照してください。
データベースのサイズと空き容量を表示するには、組み込みの SQL Server ログイン NT AUTHORITY\SYSTEM が、必ずそのマシンで実行されているすべての SQL Server インスタンスに対する SQL Server sysadmin サーバー ロールのメンバーであるようにします。
インベントリ データベース
- Azure portal で Azure Arc 対応の SQL Server のインスタンスを見つけます。
- SQL Server リソースを選択します。
- [データ管理]で[データベース]を選択します。
- SQL Server データベース -Azure Arc 領域を使用して、インスタンスに属しているデータベースを表示します。
データベースのプロパティの表示
特定のデータベースのデータベースのプロパティを表示するには、ポータルでデータベースを選択します。
データベースを作成、変更、または削除すると、変更は 1 時間以内にAzure portal に表示されます。
[データベース] ウィンドウには、次の情報も表示されます:
- データ コレクションとアップロードに関する情報:
- 最後に収集された時刻
- アップロード ステータス
- 各データベースに関する情報:
- Name
- 状態
- 作成時間
- 最初の復元ポイント
特定のデータベースを選択すると、そのデータベースのすべてのプロパティが表示されます。 これらのプロパティは、SQL Server Management Studio 内でも表示されます。
Azure Resource Graph をデータのクエリに使用する
以下は、Azure Resource Graph を使用して、Azure Arc 対応 SQL Server データベースを表示するときに利用可能なデータをクエリする方法を示すシナリオの例です。
シナリオ 1: 10 個のデータベースを取得する
10 個のデータベースを取得し、クエリに使用できるプロパティを返します。
resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| limit 10
クエリを実行する最も興味深いプロパティの多くは、properties
プロパティ内にあります。 使用可能なプロパティを調べるには、次のクエリを実行して、行の [詳細の表示] を選択します。 このアクションにより、右側の JSON ビューアーでプロパティが返されます。
resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| project properties
JSON の各レベル間の期間を使用して、プロパティの JSON の階層を移動できます。
シナリオ 2: データベース オプション AUTO_CLOSE がONに設定されているすべてのデータベースを取得する
| where (type == 'microsoft.azurearcdata/sqlserverinstances/databases' and properties.databaseOptions.isAutoCloseOn == true)
| extend isAutoCloseOn = properties.databaseOptions.isAutoCloseOn
| project name, isAutoCloseOn
シナリオ 3: 暗号化されているデータベースと暗号化されていないデータベースの数を取得する
resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| extend isEncrypted = properties.databaseOptions.isEncrypted
| summarize count() by tostring(isEncrypted)
| order by ['isEncrypted'] asc
シナリオ 4: 暗号化されていないすべてのデータベースを表示する
resources
| where (type == 'microsoft.azurearcdata/sqlserverinstances/databases' and properties.databaseOptions.isEncrypted == false)
| extend isEncrypted = properties.databaseOptions.isEncrypted
| project name, isEncrypted
シナリオ 5: リージョンと互換性レベル別にすべてのデータベースを取得する
次の例では、westus3
の場所にある、互換性レベルが 160 のすべてのデータベースが返されます。
resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| where location == "westus3"
| where properties.compatibilityLevel == "160"
シナリオ 6:SQL Serverバージョンの分布を表示する
resources
| where type == 'microsoft.azurearcdata/sqlserverinstances'
| extend SQLversion = properties.version
| summarize count() by tostring(SQLversion)
シナリオ 7: 互換性別にデータベースの数を表示する
次の例では、互換性レベルで並べ替えられたデータベースの数が返されます。
resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| summarize count() by tostring(properties.compatibilityLevel)
| order by properties_compatibilityLevel asc
グラフを作成してダッシュボードにピン留めすることもできます。
既知の問題
オンプレミスで削除されたデータベースは、Azure ではすぐに削除されない場合があります。 データベース CRUD (作成、読み取り、更新、削除) 操作がオンプレミスでど行われる方法には影響しません。