web-dev-qa-db-ja.com

DBミラーを使用したSQL Serverの移行(ローリングアップグレード)

SQL Server 2012を新しいハードウェアと新しいバージョンのSQL Server(2016)に移行する予定です。ダウンタイムを最小限に抑えて最適なソリューションを見つけようとしています。私はインターネット上で理論的には素晴らしい音がするという提案を見つけました。私はDBミラーリングとローリングアップグレードについて話しています。しかし、私は、MSが異なるSQL Serverバージョン間のDBミラーリングを推奨しないことも読んだ。そのため、このためにDBミラーリングを使用するべきか、しないべきなのか、今は混乱しています。助言がありますか?誰かが以前にその方法を試したことがありますか?ログシッピングについても考えています。

2
IgorG

データベースをSQL 2005からSQL 2016に(新しいハードウェア上で)移行するために、ミラーリングに成功しました。すべてが完璧に機能しました。 13〜14歳で、Windows Server 2003を使用しているハードウェア。

MSのサポートについては何も言えません。これは、そのような古いバージョンがあったため、MSからのサポートの種類がまったくなかったためです(拡張さえも)。

気になる方は、以下の手順を使用してください。

前提条件

  • ログイン
  • リンクサーバー
  • 仕事
  • SSISパッケージ
  • sys.messagesをエクスポートする

ミラーリングの準備

  • エンドポイントと権限を設定する
  • ログのバックアップを無効にする
  • ミラー上のデータベースを復元する
  • プリンシパルとパートナーの両方でのミラー設定
  • バックアップを再度有効にする

実際の移行-ダウンタイムの唯一の瞬間

  • 手動フェイルオーバー。同期するまでに時間がかかるので、手順を追って実行してください。
  • ミラーを解除してデータベースをオンラインに設定
  • 古いプリンシパルのデータベースをオフラインに設定して、アプリがデータベースに接続しないようにします
  • 統計の更新(可能であれば完全に)-このステップの重要性を強調できません
  • 次に、アプリケーションのログインを有効にすると、それに進むことができます

レプリケーションではすべてが少し複雑になりますが、要点はわかります。それは非常にうまく機能します。ログ配布も機能しますので、心配はいりません。ただし、これには少し手作業のステップが含まれるため、可能であれば複雑さを減らすことをお勧めします。

5
Marian