SQL Server から Azure SQL Managed Instance への移行に関する評価ルール
適用対象: Azure SQL Managed Instance
移行ツールは、多数の評価ルールを実行して、ソース SQL Server インスタンスを検証します。 このルールは、SQL Server データベースを Azure SQL Managed Instance に移行する前に対処しなければならない問題を特定します。
この記事では、SQL Server データベースを Azure SQL Managed Instance に移行する実現可能性を評価するために使用されるルールの一覧を示します。
ルールの概要
AnalysisCommand ジョブ
タイトル: AnalysisCommand ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 警告
説明
これは、Analysis Services コマンドを実行するジョブ ステップです。 AnalysisCommand ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションを確認し、Analysis Service コマンド ジョブ ステップを使用してすべてのジョブを表示し、ジョブ ステップまたは影響を受けるオブジェクトを削除できるかどうかを評価します。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance での SQL Server エージェントの相違点
AnalysisQuery ジョブ
タイトル: AnalysisQuery ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 警告
説明
これは、Analysis Services クエリを実行するジョブ ステップです。 AnalysisQuery ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションを確認し、Analysis Service クエリ ジョブ ステップを使用してすべてのジョブを表示し、ジョブ ステップまたは影響を受けるオブジェクトを削除できるかどうかを評価します。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance での SQL Server エージェントの相違点
ファイルからのアセンブリ
タイトル: Azure SQL Managed Instance では、ファイル パラメーターが指定されている 'CREATE ASSEMBLY' および 'ALTER ASSEMBLY' はサポート対象外です。
カテゴリ: 問題
説明
Azure SQL Managed Instance は、ファイル パラメーターでは CREATE ASSEMBLY
や ALTER ASSEMBLY
をサポートしていません。 バイナリ パラメーターはサポートされています。 ファイル パラメーターが使用されている特定のオブジェクトについては、[影響を受けるオブジェクト] セクションを参照してください。
推奨事項
ファイル パラメーターで CREATE ASSEMBLY
もしくは ALTER ASSEMBLY
を使用しているオブジェクトを確認すること。 このようなオブジェクトが必要な場合は、ファイル パラメーターをバイナリ パラメーターに変換します。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance での CLR の相違点
BULK INSERT
タイトル: Azure BLOB 以外のデータ ソースの BULK INSERT は、Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 問題
説明
Azure SQL Managed Instance では、ファイル共有または Windows フォルダーにアクセスできません。 Azure blob を参照しない BULK INSERT ステートメントの具体的な使用方法については、[影響を受けるオブジェクト] セクションを参照してください。 ソースが Azure Blob Storage ではない "BULK INSERT" でのオブジェクトは、Azure SQL Managed Instance に移行した後は機能しません。
推奨事項
ローカル ファイルまたはファイル共有を使っている BULK INSERT ステートメントは、Azure SQL Managed Instance に移行するときに、代わりに Azure Blob Storage のファイルを使うように変換する必要があります。
詳細情報: Azure SQL Managed Instance での BULK INSERT と OPENROWSET の相違点
CLR のセキュリティ
タイトル: SAFE または EXTERNAL_ACCESS とマークされた CLR アセンブリは UNSAFE と見なされる
カテゴリ: 警告
説明
Azure SQL Managed Instance には CLR Strict Security モードが適用されます。 このモードは既定で有効になり、SAFE または EXTERNAL_ACCESS のいずれかのマークが付けられたユーザー定義の CLR アセンブリを含むデータベースで破壊的変更が発生します。
推奨
CLR では、セキュリティ境界としてサポートされなくなった、.NET Framework のコード アクセス セキュリティ (CAS) が使用されます。 PERMISSION_SET = SAFE
で作成された CLR アセンブリが、外部のシステム リソースにアクセスし、非管理対象コードを呼び出し、sysadmin 特権を取得できる場合があります。 SQL Server 2017 (14.x) 以降のバージョンでは、sp_configure
オプション、厳密なセキュリティにより CLR アセンブリのセキュリティが強化されます。 clr strict security
は既定で有効になり、SAFE
および EXTERNAL_ACCESS
アセンブリを UNSAFE
とマークされている場合と同様に扱います。 clr strict security
オプションは、旧バージョンとの互換性のために無効にできますが、推奨されません。
すべてのアセンブリに対して、UNSAFE ASSEMBLY
データベース内で master
権限が付与された対応するログインを持つ認定資格証または非対称キーで署名することをお勧めします。 SQL Server 管理者は、データベース エンジンが信頼するアセンブリのリストにアセンブリを追加することもできます。 詳細については、「sys.sp_add_trusted_assembly」を参照してください。
COMPUTE 句
タイトル: COMPUTE 句はサポートされなくなったので、削除されました。
カテゴリ: 警告
説明
COMPUTE 句では、結果セットの最後に集計列として追加される総計が生成されます。 しかし、この句は Azure SQL Managed Instance ではサポートされなくなりました。
推奨
代わりに ROLLUP 演算子を使用して、T-SQL モジュールを書き直す必要があります。 以下のコードは、COMPUTE を ROLLUP に置き換える方法を示しています。
USE AdventureWorks2022;
GO
SELECT SalesOrderID,
UnitPrice,
UnitPriceDiscount
FROM Sales.SalesOrderDetail
ORDER BY SalesOrderID COMPUTE SUM(UnitPrice),
SUM(UnitPriceDiscount) BY SalesOrderID;
GO
SELECT SalesOrderID,
UnitPrice,
UnitPriceDiscount,
SUM(UnitPrice) AS UnitPrice,
SUM(UnitPriceDiscount) AS UnitPriceDiscount
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID,
UnitPrice,
UnitPriceDiscount
WITH ROLLUP;
詳細情報: SQL Server で廃止されたデータベース エンジンの機能
CRYPTOGRAPHIC PROVIDER
タイトル: Azure SQL Managed Instance ではサポートされない CREATE CRYPTOGRAPHIC PROVIDER または ALTER CRYPTOGRAPHIC PROVIDER の使用が検出されました。
カテゴリ: 問題
説明
Azure SQL Managed Instance では、ファイルにアクセスできないため、CRYPTOGRAPHIC PROVIDER ステートメントをサポートしていません。 CRYPTOGRAPHIC PROVIDER ステートメントの具体的な使用方法については、[影響を受けるオブジェクト] セクションを参照してください。 'CREATE CRYPTOGRAPHIC PROVIDER' または 'ALTER CRYPTOGRAPHIC PROVIDER' を使用するオブジェクトは、Azure SQL Managed Instance への移行後は正しく機能しません。
推奨事項
'CREATE CRYPTOGRAPHIC PROVIDER' または 'ALTER CRYPTOGRAPHIC PROVIDER' を使用するオブジェクトを確認します。 そのようなオブジェクトが必須の場合、これらの機能の使用を削除してください。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance での暗号化サービス プロバイダーの相違点
データベース互換
タイトル: 100 未満のデータベース互換レベルはサポートされていません
カテゴリ: 警告
説明
データベース互換レベルは、SQL Server データベース エンジンのアップグレードを可能にし、それと同時に、アップグレード前と同じデータベース互換レベルを維持することで接続するアプリケーションの機能的な状態を保つという点で、データベースの最新化支援に有益なツールです。 Azure SQL Managed Instance では、100 未満の互換レベルはサポートされません。 互換レベルが 100 未満のデータベースを Azure SQL Managed Instance で復元すると、その互換レベルは 100 にアップグレードされます。
推奨事項
Azure SQL Managed Instance でデータベース互換レベルを 100 にアップグレードしたとき、アプリケーションの機能が損なわれないか評価します。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance でサポートされている互換レベル
データベース プリンシパルの別名
タイトル: SYS.DATABASE_PRINCIPAL_ALIASES は廃止され、削除されました。
カテゴリ: 問題
説明
Azure SQL Managed Instance では、sys.database_principal_aliases
はサポートが終わり、削除されました。
推奨事項
別名の代わりにロールを使用してください。
詳細情報: SQL Server で廃止されたデータベース エンジンの機能
DISABLE_DEF_CNST_CHK オプション
タイトル: SET オプション DISABLE_DEF_CNST_CHK はサポートが終わり、削除されました。
カテゴリ: 問題
説明
SET オプション DISABLE_DEF_CNST_CHK は、Azure SQL Managed Instance でのサポートが終わり、削除されました。
詳細情報: SQL Server で廃止されたデータベース エンジンの機能
FASTFIRSTROW ヒント
タイトル: FASTFIRSTROW クエリ ヒントはサポートされなくなったので、削除されました。
カテゴリ: 警告
説明
FASTFIRSTROW クエリ ヒントは、Azure SQL Managed Instance でのサポートが終わり、削除されました。
推奨
FASTFIRSTROW クエリ ヒントの代わりに OPTION (FAST n) を使用します。
詳細情報: SQL Server で廃止されたデータベース エンジンの機能
FILESTREAM
タイトル: Filestream と Filetable は Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 問題
説明
テキスト ドキュメント、画像、動画などの構造化されていないデータを NTFS ファイル システムに格納できる FILESTREAM 機能は、Azure SQL Managed Instance ではサポートされていません。 このデータベースは、FILESTREAM ファイルグループを含むバックアップを Azure SQL Managed Instance で復元できないため、移行できません。
推奨
構造化されていないファイルを Azure Blob Storage にアップロードし、これらのファイルに関するメタデータ (名前、種類、URL の場所、ストレージ キーなど) を Azure SQL Managed Instance に格納します。 Azure SQL Managed Instance 間で BLOB をストリーミングできるように、アプリケーションを再設計する必要があることがあります。 または、Azure VM 上の SQL Server に移行します。
詳細情報: SQL Azure 間での BLOB のストリーミングに関するブログ
異種 MS DTC
タイトル: SQL Server 以外のリモート サーバーを使用する BEGIN DISTRIBUTED TRANSACTION は、Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 問題
説明
リモート サーバーが SQL Server ではない場合、Transact SQL BEGIN DISTRIBUTED TRANSACTION によって開始され、Microsoft 分散トランザクション コーディネーター (MS DTC) で管理される分散トランザクションは、Azure SQL Managed Instance ではサポートされません。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションを確認し、BEGIN DISTRUBUTED TRANSACTION を使用するすべてのオブジェクトを確認すること。 複数のインスタンス間での分散トランザクションがサポートされている Azure SQL Managed Instance に参加しているデータベースを移行することを検討してください。 詳細については、「Azure SQL Managed Instance の複数のサーバーにまたがるトランザクション」を参照してください。
または、Azure VM 上の SQL Server に移行します。
同種 MS DTC
タイトル: BEGIN DISTRIBUTED TRANSACTION は、Azure SQL Managed Instance の複数のサーバーにわたってサポートされています。
カテゴリ: 問題
説明
Transact SQL BEGIN DISTRIBUTED TRANSACTION によって開始され、Microsoft 分散トランザクション コーディネーター (MS DTC) で管理される分散トランザクションは、Azure SQL Managed Instance の複数のサーバーにわたってサポートされています。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションを確認し、BEGIN DISTRUBUTED TRANSACTION を使用するすべてのオブジェクトを確認すること。 複数のインスタンス間での分散トランザクションがサポートされている Azure SQL Managed Instance に参加しているデータベースを移行することを検討してください。 詳細については、「Azure SQL Managed Instance の複数のサーバーにまたがるトランザクション」を参照してください。
または、Azure VM 上の SQL Server に移行します。
リンク サーバー (SQL 以外のプロバイダー)
タイトル: SQL 以外のサーバー プロバイダーのリンク サーバーは Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 問題
説明
リンク サーバーを使用すると、SQL Server のインスタンス外の OLE DB データ ソースに対して、SQL Server データベース エンジンでコマンドを実行できます。 SQL Server プロバイダー以外のリンク サーバーは Azure SQL Managed Instance ではサポートされていません。
推奨事項
リモート サーバー プロバイダーが Oracle、Sybase などの SQL 以外のサーバーである場合、Azure SQL Managed Instance でリンク サーバー機能はサポートされません。
リンク サーバーが必要なくなるようにするには、次のアクションが推奨されます。
- リモートの SQL 以外のサーバーから依存データベースを特定し、これらを移行するデータベースに移動することを検討します。
- SQL Managed Instance、SQL Database、Azure Synapse SQL、SQL Server インスタンスなど、サポートされているターゲットに依存データベースを移行します。
- Azure SQL Managed Instance と Azure 仮想マシン上の SQL Server (SQL VM) の間にリンク サーバーを作成することを検討します。 その後、SQL VM から、Oracle や Sybase へのリンク サーバーを作成します。この方法には 2 つのホップが含まれますが、一時的な回避策として使用できます。
- または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance でのリンク サーバーの相違点
マージ ジョブ
タイトル: マージ ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 警告
説明
これは、レプリケーション マージ エージェントをアクティブにするジョブ ステップです。 レプリケーション マージ エージェントは、データベース テーブルに保持された初期スナップショットをサブスクライバーに適用するユーティリティ実行可能ファイルです。 さらに、初期スナップショットの作成後にパブリッシャーで発生したデータの増分変更をマージし、ユーザーが構成したルールに従って、またはユーザーが作成したカスタムリゾルバーを使用して、競合を調整します。 マージ ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションを確認して、マージ ジョブ ステップを使用してすべてのジョブを表示し、ジョブ ステップまたは影響を受けるオブジェクトを削除できるかどうかを評価します。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance での SQL Server エージェントの相違点
SQL Managed Instance データベース サイズ
タイトル: Azure SQL Managed Instance では、16 TB を超えるデータベース サイズはサポートされていません。
カテゴリ: 問題
説明
データベースのサイズがインスタンスの予約済み最大ストレージよりも大きくなっています。 このデータベースは、サイズが許可されている制限を超えているため、移行用に選択できません。
推奨
データをアーカイブまたは圧縮できるか、あるいは複数のデータベースにシャード化できるかを評価します。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance のハードウェアの特性
SQL Managed Instance インスタンス サイズ
タイトル: Azure SQL Managed Instance でのインスタンス ストレージの最大サイズを 8 TB より大きくすることはできません。
カテゴリ: 警告
説明
すべてのデータベースのサイズが、インスタンスの予約済み最大ストレージよりも大きくなっています。
推奨事項
データベースを別の Azure SQL Managed Instance に移行するか、すべてのデータベースが同じインスタンス上に存在する必要がある場合は Azure 仮想マシン上の SQL Server に移行することを検討してください。
詳細情報: Azure SQL Managed Instance のハードウェアの特性
複数のログ ファイル
タイトル: Azure SQL Managed Instance では複数のログ ファイルはサポートされていません。
カテゴリ: 問題
説明
SQL Server を使用すると、データベースで複数のファイルにログを記録できます。 このデータベースには、Azure SQL Managed Instance でサポートされていない複数のログ ファイルがあります。 このデータベースは、Azure SQL Managed Instance でバックアップを復元できないため、移行できません。
推奨事項
Azure SQL Managed Instance では、データベースごとに 1 つのログのみがサポートされます。 このデータベースを Azure に移行する前に、ログ ファイルの 1 つを除くすべてのログ ファイルを削除する必要があります。
ALTER DATABASE [database_name] REMOVE FILE [log_file_name]
詳細情報: Azure SQL Managed Instance でサポートされていないデータベース オプション
Next 列
タイトル: Azure SQL Managed Instance では、NEXT という名前のテーブルと列があると、エラーが発生します。
カテゴリ: 問題
説明
NEXT という名前のテーブルまたは列が検出されました。 Microsoft SQL Server で導入されたシーケンスでは、ANSI 標準の NEXT VALUE FOR 関数が使用されます。 NEXT という名前のテーブルまたは列、および ANSI 標準 AS を省略して VALUE として別名が付けられた列では、エラーが発生する可能性があります。
推奨
ステートメントを書き直し、テーブルまたは列の別名を指定するときに ANSI 標準の AS キーワードを使用してください。 たとえば、列の名前が NEXT で、その列に VALUE という別名が付けられている場合、クエリ SELECT NEXT VALUE FROM TABLE を使用するとエラーが発生するため、SELECT NEXT AS VALUE FROM TABLE に書き直す必要があります。 同様に、テーブルの名前が NEXT で、VALUE という別名が付けられている場合、クエリ SELECT Col1 FROM NEXT VALUE を使用するとエラーが発生するため、SELECT Col1 FROM NEXT AS VALUE に書き直す必要があります。
ANSI 以外のスタイルでの左外部結合
タイトル: ANSI 以外のスタイルの左外部結合はサポートが終わり、削除されました。
カテゴリ: 警告
説明
Azure SQL Managed Instance では、ANSI 以外のスタイルでの左外部結合はサポートが終わり、削除されました。
推奨
ANSI 結合構文を使用してください。
詳細情報: SQL Server で廃止されたデータベース エンジンの機能
ANSI 以外のスタイルでの右外部結合
タイトル: ANSI 以外のスタイルの右外部結合はサポートが終わり、削除されました。
カテゴリ: 警告
説明
Azure SQL Managed Instance では、ANSI 以外のスタイルでの右外部結合はサポートが終わり、削除されました。
詳細情報: SQL Server で廃止されたデータベース エンジンの機能
推奨
ANSI 結合構文を使用してください。
データベースの数が 100 を超えている
タイトル: Azure SQL Managed Instance では、インスタンスあたり最大 100 個のデータベースがサポートされます。
カテゴリ: 警告
説明
インスタンス ストレージ サイズの制限に達していない限り、Azure SQL Managed Instance でサポートされるデータベースの最大数は 100 です。
推奨事項
データベースを別の Azure SQL Managed Instance に移行するか、すべてのデータベースが同じインスタンス上に存在する必要がある場合は Azure 仮想マシン上の SQL Server に移行することを検討してください。
詳細情報: Azure SQL Managed Instance のリソース制限
OPENROWSET (BLOB 以外のデータ ソース)
タイトル: Azure SQL Managed Instance では、Azure Blob Storage 以外のデータ ソースでの一括操作で使用される OpenRowSet はサポートされていません。
カテゴリ: 問題
説明
OPENROWSET では組み込みの BULK プロバイダーによる一括操作がサポートされ、ファイルのデータを行セットとして読み取り、返すことができます。 Azure Blob Storage 以外のデータ ソースでの OPENROWSET は、Azure SQL Managed Instance ではサポートされていません。
推奨事項
Azure SQL Managed Instance はファイル共有や Windows フォルダーにアクセスできないため、Azure Blob Storage からファイルをインポートする必要があります。 そのため、OPENROWSET 関数でサポートされる BLOB の型は DATASOURCE のみとなります。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance での BULK INSERT と OPENROWSET の相違点
OPENROWSET (SQL 以外のプロバイダー)
タイトル: Azure SQL Managed Instance では、SQL 以外のプロバイダーでの OpenRowSet はサポートされていません。
カテゴリ: 問題
説明
このメソッドは、リンク サーバー内のテーブルにアクセスする代わりに、OLE DB を使用してリモート データに接続しアクセスするアドホック メソッドです。 Azure SQL Managed Instance では、SQL 以外のプロバイダーでの OpenRowSet はサポートされていません。
推奨事項
OPENROWSET 関数は、SQL Server インスタンス (マネージド、オンプレミス、または Virtual Machines 内) でのみ、クエリを実行するために使用できます。 プロバイダー SQLNCLI
、SQLNCLI11
、SQLOLEDB
、MSOLEDBSQL
(推奨) がサポートされています。 新しい開発には、Microsoft OLE DB Driver for SQL Server をお勧めします。
推奨されるアクションは、リモートの SQL 以外のサーバーから依存データベースを特定し、これらを移行するインスタンスに移動するのを検討してください。
詳細情報: Azure SQL Managed Instance での BULK INSERT と OPENROWSET の相違点
PowerShell ジョブ
タイトル: PowerShell ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 警告
説明
これは、PowerShell スクリプトを実行するジョブ ステップです。 PowerShell ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションを確認し、PowerShell ジョブ ステップを使用してすべてのジョブを表示し、ジョブ ステップまたは影響を受けるオブジェクトを削除できるかどうかを評価します。 Azure Automation を使用できるかどうかを評価します。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance での SQL Server エージェントの相違点
キュー リーダー ジョブ
タイトル: キュー リーダー ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 警告
説明
これは、レプリケーション キュー リーダー エージェントをアクティブにするジョブ ステップです。 レプリケーション キュー リーダー エージェントは、Microsoft SQL Server キューまたは Microsoft メッセージ キューに格納されたメッセージを読み取ってから、これらのメッセージをパブリッシャーに適用する実行可能ファイルです。 キュー リーダー エージェントは、スナップショット、およびキュー更新を許可するトランザクション パブリケーションで使用されます。 キュー リーダー ジョブ ステップは Azure SQL Managed Instance ではサポートされていません。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションを確認し、Queue Reader ジョブ ステップを使用してすべてのジョブを表示し、ジョブ ステップまたは影響を受けるオブジェクトを削除できるかどうかを評価します。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance での SQL Server エージェントの相違点
RAISERROR
タイトル: レガシ スタイルの RAISERROR 呼び出しは、それに相当する最新のものに置き換える必要があります。
カテゴリ: 警告
説明
次の例のような RAISERROR 呼び出しは、コンマとかっこが含まれないため、レガシ スタイルと呼ばれます。 RAISERROR 50001 'this is a test'
= Azure SQL Managed Instance では、RAISERROR を呼び出すこのメソッドはサポートが終わり、削除されました。
推奨
現在の RAISERROR 構文を使用してステートメントを書き直すか、最新のアプローチの BEGIN TRY { } END TRY BEGIN CATCH { THROW; } END CATCH
を使用できるかどうかを評価してください。
詳細情報: SQL Server で廃止されたデータベース エンジンの機能
SQL Mail
タイトル: SQL Mail はサポートが終わりました。
カテゴリ: 警告
説明
Azure SQL Managed Instance では、SQL Mail はサポートが終わり、削除されました。
推奨
データベース メールを使用してください。
詳細情報: SQL Server で廃止されたデータベース エンジンの機能
SystemProcedures110
タイトル: Azure SQL Managed Instance では使用できない削除されたシステム ストアド プロシージャを参照するステートメントが検出されました。
カテゴリ: 警告
説明
Azure SQL Managed Instance では、sp_dboption
、sp_addserver
、sp_dropalias
、sp_activedirectory_obj
、sp_activedirectory_scp
、および sp_activedirectory_start
のサポート対象外のシステムおよび拡張ストアド プロシージャは使用できません。
推奨事項
Azure SQL Managed Instance で削除されたサポート対象外のシステム プロシージャへの参照を削除します。
詳細情報: SQL Server で廃止されたデータベース エンジンの機能
Transact-SQL ジョブ
タイトル: TSQL ジョブ ステップには、Azure SQL Managed Instance でサポートされていないコマンドが含まれています
カテゴリ: 警告
説明
これは、スケジュールされた時刻に TSQL スクリプトを実行するジョブ ステップです。 TSQL ジョブ ステップには、Azure SQL Managed Instance でサポートされていないサポート対象外のコマンドが含まれています。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションを確認し、Azure SQL Managed Instance でサポートされていないコマンドを含むすべてのジョブを表示し、ジョブ ステップまたは影響を受けるオブジェクトを削除できるかどうかを評価すること。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance での SQL Server エージェントの相違点
トレース フラグ
タイトル: Azure SQL Managed Instance でサポートされていないトレース フラグが見つかりました
カテゴリ: 警告
説明
Azure SQL Managed Instance では、限られた数のグローバル トレース フラグのみがサポートされます。 セッション トレース フラグはサポートされていません。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションを確認し、Azure SQL Managed Instance でサポートされていないすべてのトレース フラグを表示し、それらを削除できるかどうかを評価します。 または、Azure VM 上の SQL Server に移行します。
詳細情報: トレース フラグ
Windows 認証
タイトル: Windows 認証 (統合セキュリティ) にマップされたデータベース ユーザーは、Azure SQL Managed Instance ではサポートされていません
カテゴリ: 警告
説明
Azure SQL Managed Instance では次の 2 種類の認証がサポートされます。
- SQL 認証。ユーザー名とパスワードを使用します。
- Microsoft Entra 認証では、Microsoft Entra ID で管理されている ID を使用し、管理、統合されたドメインをサポートしています。
Windows 認証 (統合セキュリティ) にマップされたデータベース ユーザーは、Azure SQL Managed Instance ではサポートされていません。
推奨事項
ローカル Active Directory を Microsoft Entra ID とフェデレーションすること。 その後、Windows ID を同等の Microsoft Entra ID に置き換えることができます。 または、Azure VM 上の SQL Server に移行します。
詳細情報: SQL Managed Instance のセキュリティ機能
xp_cmdshell
タイトル: xp_cmdshell は Azure SQL Managed Instance ではサポートされていません。
カテゴリ: 問題
説明
Windows コマンド シェルを生成し、実行用の文字列を渡す xp_cmdshell
は、Azure SQL Managed Instance ではサポートされていません。
推奨事項
Azure Migrate の [影響を受けるオブジェクト] セクションで xp_cmdshell
を使用するすべてのオブジェクトを確認し、xp_cmdshell
または影響を受けるオブジェクトに対する参照を削除できるか評価すること。 クラウドベースの自動化と構成サービスを提供する Azure Automation の調査を検討してください。 または、Azure VM 上の SQL Server に移行します。
詳細情報: Azure SQL Managed Instance でのストアド プロシージャの相違点
関連するコンテンツ
- 移行ガイド: SQL Server から Azure SQL Managed Instance へ
- データ移行のシナリオで利用できるサービスとツール
- Azure SQL Managed Instance のサービス レベル
- SQL Server と Azure SQL Managed Instance での T-SQL の相違点
- Azure 総保有コスト計算ツール
- Azure 向けのクラウド導入フレームワーク
- Azure に移行するワークロードの料金計算とサイズ設定のベスト プラクティス
- Data Access Migration Toolkit (プレビュー中)
- Database Experimentation Assistant の概要