web-dev-qa-db-ja.com

すべてのデータベースを1つのSQL Server 2005から別のSQL Server 2005に移行する

200のデータベースをホストしているSQL Server 2005サーバーを運用しています。

これらのデータベースを新しいサーバーでホストします。新しいサーバーにSQL Server 2005がインストールされ、準備ができています。

データ全体を移行するための最良かつ最も便利な方法は次のとおりです。

  • セキュリティと許可
  • ユーザーとメンバーシップ
  • すべてのデータベースと..

1つの単語で、現在のSQL Server 2005とまったく同じコピーを新しいサーバーの新しいインスタンスに配置したいと考えています。

この件についてご案内いただければ幸いです。

宜しくお願いします

5
Armin

免責事項:SQL Server 2005はメインストリームサポートの対象外です-2016年4月12日にsp4の拡張サポートが終了します

移行には常にダウンタイムがあります。したがって、ダウンタイムの程度に応じて、次のいずれかを設定できます。

  1. Logshipping(この方法を使用したため、ダウンタイムが大幅に短縮されます)

    a。通常どおり、ソースから宛先サーバーへのログ配布を設定します。同期時間は1分(最小)にしてください。

    b。移行の日に、logbackupsが同期していることを確認します。

    c。すべてのログ配布ジョブを停止してから、最後のテールログバックアップを取り、プライマリデータベースを非リカバリモードにします(これは、プライマリに戻る必要がある場合に備えて)。

    d。セカンダリでテールログバックアップを復元しますwith recoveryすべてのセカンダリデータベースをオンラインにします。

  2. データベースのミラーリング:200個のデータベースを移行する場合、簡単にミラーリングすることはお勧めしません このKB記事で説明されているようにワーカースレッドを使い果たします。 。データベースが少ない場合、これは実行可能なオプションになります。

十分なダウンタイムがある場合、私はお勧めします

バックアップ/復元方法(デタッチ/アタッチとは対照的に)何か問題が発生した場合のように、少なくとも適切なバックアップを復元できます。 this スクリプトを使用すると、すべてのログインとデータベースを移動できます。バックアップ/復元を使用するように変更するだけです(または、スクリプトを実行する前に完全なバックアップを取得します-detach/attachメソッドを使用するため)。

移行前にできること:

  • 移行手順については、 this の回答を参照してください。いくつかはあなたのシナリオにも当てはまるかもしれません。

  • すべてのジョブやssisパッケージなどのスクリプトを作成します-または-@shankyの提案に従い、システムデータベースを手前に古いサーバーから新しいサーバーに復元できます。これにより、すべてのログイン、ジョブなどを取得できます。新しいサーバー。

  • ターンオンインスタントファイル初期化 新しいサーバーで。

  • 同じサイズの 複数のtempdbデータファイル を用意します。
  • トレースフラグ1118を有効にする - SGAMおよびその他の割り当て競合ポイントを回避することにより、TEMPDBのスケーラビリティを支援します。
  • 最大メモリと最小メモリを正しく構成します。特に最大メモリはデフォルトから離れています。
  • MAXDOP設定を適切に調整します。詳細は https://dba.stackexchange.com/a/36578/878 を参照してください。
  • Brent Ozarの sp_Blitz をインストールするのが最善です。実行して、報告された重大で優先度の高い問題に対処します。
  • SQL Power Docをkendalvandykeから使用することもできます-SQL Power DocはSQL Server 2000〜2012、およびWindows ServerのすべてのバージョンとWindows 2000およびWindowsのコンシューマWindowsオペレーティングシステムXP Windows Server 2012およびWindows 8。計画アップグレードにも役立ちます-インスタンスで使用されている非表示の機能を確認します。

編集:

powershellを使用して、 PowerShellを使用してSQL Serverインスタンス全体を移行する(db、ログイン、ジョブなど)

バックアップと復元またはデタッチとアタッチを介して、単純または複雑なファイル構造を持つデータベースを移行します。また、パスワード、SID、サーバーとデータベースの権限セット、サーバーとデータベースの役割、サーバー構成設定、SQLエージェントオブジェクト、システムデータベース内のユーザーオブジェクトを使用してユーザーを移行します。

6
Kin Shah

データ全体を移行するための最良かつ最も便利な方法を知りたい:-セキュリティと権限-ユーザーとメンバーシップ-すべてのデータベースと..

特定のデータベースに関連するデータとすべてのオブジェクトを移行する最良の方法は、バックアップと復元の方法を使用することです。データベース全体を新しいインスタンスに移行したい場合は、すべてのユーザーデータベースとシステムデータベースをバックアップして、新しいSQL Serverインスタンスに復元できます。

現在のサーバーのデータベースをバックアップし、新しいサーバーにコピーして、そこに復元します。

システムデータベースをバックアップし、新しいインスタンスで復元する必要があります。 システムデータベースのバックアップと復元の方法 。まず、システムデータベースのバックアップと復元を行います。

システムデータベースをバックアップおよび復元すると、MSDBに保存されているすべてのログイン、ジョブ、およびパッケージが新しいインスタンスに提供されます。新しいサーバーには、完全なセキュリティ保護可能なファイルとアクセス許可も含まれます

SQL Server 2005はメインストリームサポートから外れているため、最新のSQLサーバーバージョンにアップグレードすることを強くお勧めします。または、2005に留まる必要がある場合は、すべてのSQL ServerインスタンスにSP4がパッチされていることを確認してください。

4
Shanky