次の方法で共有


Azure Arc を使用して SQL Server リソースのインベントリを管理する

適用対象:SQL Server

SQL Server エンジン インスタンスまたは関連サービスが Azure Arc によって有効になっている場合は、Azure を使用してインベントリを管理できます。

前提条件

SQL Server サービスが稼働していることを確認する

  • バージョン SQL Server 2014 (12.x) 以降。
  • Windows オペレーティング システムを実行している物理マシンまたは仮想マシン。
  • Azure Arc に接続されています。「SQL Server を Azure Arcに接続する」を参照してください。
  • インターネットに直接接続されているか、プロキシ サーバー経由で接続されています。

インベントリ データベース

SQL Server データベースのインベントリを作成するには、データベース名が名前付け規則に従っており、予約語が含まれていないことを確認します。 予約語のリストについては、「予約されたリソース名のエラーを解決する」を参照してください。

データベースのインベントリを作成するには:

  1. Azure portal で Azure Arc 対応の SQL Server のインスタンスを見つけます。
  2. SQL Server リソースを選択します。
  3. [データ管理][データベース]を選択します。
  4. SQL Server データベース -Azure Arc 領域を使用して、インスタンスに属しているデータベースを表示します。

データベースのサイズと空き容量を表示するには、組み込みの SQL Server ログイン NT AUTHORITY\SYSTEM が、必ずそのマシンで実行されているすべての SQL Server インスタンスに対する SQL Server sysadmin サーバー ロールのメンバーであるようにします。

データベースのプロパティの表示

特定のデータベースのデータベースのプロパティを表示するには、ポータルでデータベースを選択します。

データベースを作成、変更、または削除すると、変更は 1 時間以内にAzure portal に表示されます。

Azure portal での SQL Server データベース プロパティのスクリーンショット。

[データベース] ウィンドウには、次の情報も表示されます:

  • データ コレクションとアップロードに関する情報:
    • 最後に収集された時刻
    • アップロード ステータス
  • 各データベースに関する情報:
    • 名前
    • ステータス
    • 作成時間
    • 最初の復元ポイント

特定のデータベースを選択すると、そのデータベースのすべてのプロパティが表示されます。 これらのプロパティは、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

関連するサービスのインベントリ

SQL Server に関連付けられているサービスは次のとおりです。

  • SQL Server データベース エンジン
  • SQL Server Analysis Services (SSAS)
  • SQL Server Integration Services (SSIS)
  • SQL Server Reporting Services (SSRS)
  • Power BI Report Server (PBIRS)

関連付けられたサービスの各インストールは、Azure Resource Manager (ARM) で SQL Server インスタンスとして表され、serviceType プロパティには特定のサービスが表示されます。 プロパティは次のように定義されます。

"serviceType":  {
         "type": "string",
         "enum": [ "Engine", "SSAS", "SSIS", "SSRS", “PBIRS” ],
         "default": "Engine"
     }

インベントリ ダッシュボードを作成する

グラフを作成してダッシュボードにピン留めすることもできます。

互換性レベル別のデータベース数のクエリ結果を表示する円グラフの図。

既知の問題

オンプレミスで削除されたリソースは、Azure ですぐに削除されない場合があります。 たとえば、データベースを削除した場合、Azure 上のデータベースのイメージは、サーバー リソースが同期されるまで保持されます。