Open棟梁Project - マイクロソフト系技術情報 Wiki
以下は種々のアップグレード・パスの参考資料です。
SQL Server 7.0/2000 から SQL Server 2005 への移行
コンポーネント | アップグレード | マイグレーション |
全コンポーネント | セットアップ ウィザード | ― |
データベース エンジン | デタッチ/アタッチ | |
バックアップ/復元 | ||
データベース コピーウィザード | ||
SSIS (SQL Server Integration Services) | ||
SQL Server スクリプト生成ウィザードによる、スクリプトの生成・実行 | ||
● SQL Server Migration Asistant 移行ツール ● Microsoft SQL Server Migration Assistant for Oracle v5.1 http://www.microsoft.com/download/en/details.aspx?id=26711 ● Microsoft SQL Server Migration Assistant for Access v5.1 http://www.microsoft.com/download/en/details.aspx?id=26709 ● Microsoft SQL Server Migration Assistant for MySQL v5.1 http://www.microsoft.com/download/en/details.aspx?id=26712 ● Microsoft SQL Server Migration Assistant for Sybase v5.1 http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26710 | ||
Analysis Services | Analysis Services 移行ウィザード(オブジェクトの最適化は行われない) | |
Reporting Services | Reporting Services Configuration Tool | |
データ変換サービス (DTS) | - | SQL Server Integration Services 移行ウィザード |
既存 SQL Server 2005 の DTS パッケージ並行稼動 |
基本的なアップグレードと移行方法は、インストール ファイルの Setup.exe からセットアップ ウィザードでの実行となります。
アップグレードの実行で、既存のコンポーネントやデータベースに 問題が発生しないか、既存インスタンスの解析を行います。
その結果、問題となる部分が発見された場合には、アップグレードを実行する前に必ず対処しておく必要があります。
さらに Upgrade Advisor によって得た結果を、Upgrade Advisor Report Viewer によってレポート形式で出力することもできます。
Upgrade Advisor ツールは既定でインストールされないため、
セットアップ メニューから[Install SQL Server Upgrade Advisor] を選択して、
ツールをインストールする必要があります。
については、専用の移行ツールが備えられており、
ウィザードで移行作業にかかる工数を簡略化することができます。
SQL Server 2000 → SQL Server 2012アップグレードは、
サポートされず、2008などのDBを経由する必要があるようです。
SQL Server 2008 自習書シリーズ No.21移行とアップグレード
http://msdn.microsoft.com/ja-jp/sqlserver/cc720685.aspx
SQL Server 2000 のデータベースを SQL Server 2012 に移行 ≪ SE の雑記
http://engineermemo.wordpress.com/2012/04/18/sql-server-2000-%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92-sql-server-2012-%E3%81%AB%E7%A7%BB%E8%A1%8C/
第1回 SQL Server勉強会
データ移行のテクニックいろいろ
http://dbtk.main.jp/doc/20101106/Study_SQLServer_01_03.pdf
アップグレード アドバイザーを使用したアップグレードの準備
http://msdn.microsoft.com/ja-jp/library/ms144256.aspx
アップグレード アドバイザーでは、
以前のバージョンの SQL Server でインストールされたコンポーネントが分析され、
アップグレードの前または後に修正する必要がある問題を示すレポートが生成されます。
インストール ウィザードを使用した
SQL Server 2012 へのアップグレード (セットアップ)
http://msdn.microsoft.com/ja-jp/library/ms144267
SQL Server インストール ウィザードでは、1 つの機能ツリーを使用して、
SQL Server コンポーネントをアップグレードできます。
バックアップと復元によるデータベースのコピー
http://msdn.microsoft.com/ja-jp/library/ms190436.aspx
#オンライン・バックアップに相当する。
ファイルのデタッチ / アタッチもバックアップ / リストアの一種です。
#オフライン・バックアップに相当する。
プライマリ データ ファイルはデータベースの開始点であり、
データベース内の他のファイルを指し示します。
SQL Server データベースのアップグレード後
データベース コピー ウィザードは
内部的に「デタッチとアタッチ」を使用している。
ジョブやログイン DTS パッケージの移行等を考慮する必要がありますが、
データベース単体であればスキーマと、データを
インポート / エクスポートウィザード(SSIS)で移行できます。
ただし、同様にインポートの後、
ユーザーおよびアプリケーションに一貫した使用環境を提供するために、
アタッチ先のサーバー インスタンスで、ログイン、ジョブ、権限などの
データベースのメタデータの一部またはすべてを作成し直す必要が生じる場合があります。
インポート / エクスポート ウィザードでテーブルを作成しデータを移行した場合、
インデックス等の情報は移行されていませんので、ウィザードでテーブルを作成するのではなく、
スクリプトの生成で一度スクリプトを作成して、移行するのが良いと思います。
一括インポート操作と一括エクスポート操作
Identity列がある場合も考慮が必要になります。
一括インポートの際は、以下の項目に注意ください。
一括インポートのパフォーマンスの最適化
http://msdn.microsoft.com/ja-jp/library/ms190421.aspx
特定の一括インポート操作のパフォーマンスの最適化に影響を与える要素と高速化の方法
以下の方法が有用です。
基本的にファイルにエクスポートした後にデータ変換を行い、
データ変換後にファイルからインポートを行うのが高性能。
(ファイルtoファイルをシーケンシャル・アクセスで処理)
ただし、変換処理に検索SQLを使用したいケースもある
(通常、処理性能を考慮してTransact-SQLを使用する)。
このような場合、検索SQLでインデックス必要があるため、
データのインポート後に統計情報の更新を行っておくと良い。
(これを行わない場合、検索SQLで不適格なプランが使用され性能が出ない事がある)
また、上記の様にデータ変換にてインデックスを使用する場合、
インポート(インサート)時にはインデックスを定義しないで、
インポート(インサート)完了後にインデックスを定義するようにする。
これは、インデックスの更新も発生するためオーバーヘッドがあるためである。
特に、インデックスに対しシーケンシャルにインサートを実行しないと、
インデックス更新負荷が増加し、性能が大幅に劣化することがある。
(データ件数が多くインデックスサイズも大きい場合に限られる)
この検証には、本ページに添付される「検証セット一式」が使用できる。
データベースの互換性レベルの表示または変更
http://msdn.microsoft.com/ja-jp/library/bb933794.aspx
互換性レベルには以下のものがあり、
データベース単位で動作を変える事ができます。
互換性レベルの詳細は以下を参照してください。
ALTER DATABASE 互換性レベル (Transact-SQL)
データベースを別のサーバー インスタンスに移行するときは、
ユーザーおよびアプリケーションに一貫した使用環境を提供するために、
移行先のサーバー インスタンスで、ログイン、ジョブ、権限などの
データベースのメタデータの一部またはすべてを作成し直す必要が生じる場合があります。
詳しくは、以下を参照下さい。
データベースを別のサーバー インスタンスで
使用できるようにするときのメタデータの管理
http://msdn.microsoft.com/ja-jp/library/ms187580.aspx
基本的に、新規構築手順を踏んだり、SQLスクリプト生成で対応します。
(masterやmsdbの復元での移行はしない)
この部分の操作イメージについては、
「SQL Server 2008 自習書シリーズ No.21移行とアップグレード」
を参照すると良いかと考えます。
Windows Azure SQL データベース (以前の SQL Azure) へのデータベース移行
http://msdn.microsoft.com/ja-jp/library/windowsazure/ee730904.aspx
Microsoft SQL Server Migration Assistant(SSMA:DB移行支援ツール)
SSMAはSQL Server以外の異種DBMSからの移行を支援します。
前述のインポート / エクスポートウィザード(=SSIS)も利用可能。
Oracle Database から SQL Server への移行に関する情報は以下に纏まっています。
その他の情報
Smarts データベース移行支援サービス - SQL Serverのデータベース移行
http://sc.ha-sys.co.jp/products/DBtoMSSQL.html