データベースをアップグレードする

完了

あなたは法律事務所のデータベース管理者であるとします。 Microsoft Data Migration Assistant (DMA) を使用してソース データベースとターゲット インスタンスの間の互換性の問題を特定しており、次にデータベースを SQL Server 2019 に移行したいと考えています。

ほとんどのデータベースは SQL Server のオンプレミスのインスタンスに移行されますが、一部のデータベースは Azure SQL Database に移行されます。 また、移行したデータベースを追跡し、進行状況をビジネス マネージャーに報告する必要があります。 一部のオフィスは異なるタイム ゾーンにあるため、アップグレードを行う時間は限られています。 データベースのアップグレードは業務時間外に行う必要があります。

あなたは、バックアップを作成し、ターゲット インスタンスにそれを復元することを検討しています。 この方法でもまったく問題ありませんが、多数のデータベースを移行する必要があるため、あなたは時間がかかる可能性があることに気付きます。 バックアップと復元を使用して手動でデータベースを移行する場合は、ログインとユーザーを個別に移行する必要もあります。 データベース管理者であるあなたは、壊れたユーザー アカウントをコピーして修正する時間を見つける必要もあります。

あなたは DMA を使います。このツールを使うと、複数のデータベースを並行に移行したり、ログインを移行したり、結果をエクスポートしたり、カスタム レポートを作成したりできます。 これからあなたは、DMA を使用してデータベースをアップグレードするために必要な手順を行います。

DMA を使用してデータベースをアップグレードする

DMA では、データベースのアップグレード プロセスが自動化され、データベース スキーマ、データ、適確な Windows ログイン、SQL ログイン、およびデータベース ユーザーをターゲット サーバーに移行されます。 別のアップグレード方法ではなく DMA を使用することにより、すべての必要なデータベース ユーザーが確実に含まれるようになります。 移行後に適切なアプリケーションを切り替えることができます。 必要な場合は、移行したいログインだけを選択することもできます。 Azure SQL Database に移行する場合、DMA では、スキーマとデータの両方、スキーマだけ、データだけのいずれを移行するかを選択できます。

Screenshot of Data Migration Assistant migration tab selected displaying step one, Select source, with no database connected.

また、DMA では、1 つのインスタンスの 1 つまたは複数のデータベースを選択して、ターゲット サーバーに移行することもできます。 移行を開始すると、データベースは並列にコピーされ、移行完了までに必要な時間が短縮されます。 このアプローチは、1 つのインスタンスに多数のデータベースがある場合や、移行を行えるのがユーザーがオフラインになっているわずかな期間しかない場合に便利です。

Screenshot of Data Migration Assistant migration tab selected displaying step one, Select source, with a connection to an example database.

移行の後、ユーザーが接続されたままになっている場合、またはデータベースでの開発が続行されている場合は、ソース データベースが引き続き変更される可能性があります。 これらの変更をキャプチャし、最終的な切り替えの前に、移行されたデータベースに適用する必要があります。 ユーザーが接続されていないときにアップグレードを実行できる場合は、アプリケーションの接続文字列でインスタンス名を切り替えるだけで済みます。

移行の結果をエクスポートする

DMA ではデータベースの移行結果が保存されるため、それらを CSV ファイルまたは JSON ファイルにエクスポートできます。 レポートを作成する必要がある場合、または移行したデータベースを失敗したものと共に監査する必要がある場合は、これらのファイルを Excel で管理するか、結果を独自のデータベースまたはレポート システムにインポートすることができます。 また、レポートでは、移行しないことを選択したソース インスタンス上のデータベースについても警告されます。

データベース互換レベルを変更する

データベースがターゲット SQL Server に正常に移行された後、その互換性レベルはソースイ ンスタンスと同じままになります。 ターゲット サーバーでは、必要な変更を行って、非推奨の機能や破損したコードを変更できます。 これらの変更を行った後で、ターゲット バージョンで新機能を使用したい場合は、互換性レベルを変更できます。

DMA を使用してデータベースをアップグレードする手順

データベースをアップグレードするための主な手順は次のとおりです。

  1. DMA で、[移行] を選択して開始し、プロジェクトの名前を指定します。
  2. [Source server type](ソース サーバーの種類) および [Target server type](ターゲット サーバーの種類) として [SQL Server] を選択します。
  3. ソース サーバーとターゲット サーバーのサーバー名と資格情報を入力します。
  4. ソースとターゲットの両方の SQL Server からアクセス可能な共有バックアップの場所を入力します。
  5. データ パスやログ パスなど、復元のオプションを設定します。
  6. ログインを移行するかどうか、および移行する特定のログインを設定した後、[Start Migration](移行の開始) を選択します。
  7. 移行が完了したら、[結果の表示] タブから移行レポートをエクスポートできます。

移行後にデータベースの互換性レベルを変更するには、SQL Server Management Studio (SSMS) のプロパティ ウィンドウを使用して、[オプション] タブを選択し、選択されている互換性レベルを変更します。 また、Transact-SQL を使用し、次のコードを実行して、WorldLaw データベースの互換性を SQL Server 2019 に変更することもできます。

ALTER DATABASE WorldLaw
SET COMPATIBILITY_LEVEL = 150  
GO

DMA を使用して、データベースをアップグレードするために、SQL Server のインスタンスからターゲット インスタンスに 1 つ以上のデータベースを移行します。 複数のデータベースがある場合、DMA ではそれらを並列に移行できるため、必要な時間が大幅に短縮されます。 移行の後で、データベースの互換性レベルを変更し、ターゲット インスタンスで新機能を使用することができます。

また、DMA では、ソース サーバー上のすべてのデータベースの一覧が含まれるレポートも生成されます。 そのレポートでは移行の状態が示されるため、正常に移行されたデータベース、失敗したデータベース、または移行されなかったデータベースを監査できます。