SQL Server 2019 から SQL Server 2017 へのDB移行
週末に SQL Server 2019(MSSQL2019) から SQL Server 2017(MSSQL2017) へDBを移行する作業をしました。
SQL Server 2017 のインスタンスに SQL Server 2019 の mdf ファイルをアッタッチすることができないため、
データの移行は「SQL Server インポートおよびエクスポート ウィザード」を使って行いました。
<背景>
MSSQL2019の試用版を使っていたが、以前購入したMSSQL2017のランセンスがあったため
MSSQL2019の試用期間180日を前にMSSQL2017へ移行することにしました。
<メモ>
新しいバージョンのMSSQLのmdfファイルをより下のバージョンのインスタンスにアタッチしようとするとエラーとなり、アタッチできません。SQL Serverログを見るとこんなメッセージが表示されています。
ダウングレードのインスタンスにはアタッチできないようです。
メッセージ
The database 'testdb' cannot be opened because it is version 904. This server supports version 869 and earlier. A downgrade path is not supported.
<作業の流れ>
- MSSQL2017をインストールします。
- このとき同一OS上にMSSQL2019の既定のインスタンスがあったためMSSQL2017は名前付きインスタンスで作成しました。
- MSSQL2017でスクリプトを実行します。
- このときMSSQL2019のみでしか使えないオプションのところではエラーとなります。その場合は必要に応じてスクリプトを修正します。
- 「SQL Server インポートおよびエクスポート ウィザード」でデータをMSSQL2019からMSSQL2017へ移行します。
(おわり)