マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

以下は種々のアップグレード・パスの参考資料です。

アップグレードとマイグレーション

コンポーネントアップグレードマイグレーション
全コンポーネントセットアップ ウィザード
データベース エンジンデタッチ/アタッチ
バックアップ/復元
データベース コピーウィザード
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 ServicesAnalysis Services 移行ウィザード(オブジェクトの最適化は行われない)
Reporting ServicesReporting 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

  1. アップグレード アドバイザによる移行チェックを行う
  2. 新規サーバーへの SQL Server 2008 をインストールする
  3. 新規サーバーへの SQL Server 2008 の最新の修正プログラムのインストールする
  4. SQL Server 2000 データベースを新規サーバー(SQL Server 2008)へ移行する
  5. システム データベース関連のオブジェクトを移行する
  6. レジストリに格納されている情報を再設定する
  7. 統計情報(Statistics)を更新する
  8. フルテキスト インデックスを再構築する(フルテキスト インデックスを利用している場合)
  9. 互換性レベルを調整する
  10. DTS パッケージを移行する(DTS パッケージを利用している場合)
  1. 現在のマスタ環境を丸ごと新規サーバーへ複製する(ハードウェア リプレイスを行う)
  2. アップグレード アドバイザによる事前チェックを行う
  3. 新規サーバーを SQL Server 2008 へアップグレードする
  4. SQL Server 2008 の Service Pack や修正プログラムをインストールする
  5. レジストリに格納されている情報を再設定する(サービスの自動起動やサービス アカウント、認証モード、TCP ポート番号など)
  6. 統計情報(Statistics)を更新する
  7. フルテキスト インデックスを再構築する(フルテキスト インデックスを利用している場合)
  8. 互換性レベルを調整する
  9. DTS パッケージを移行する(SQL Server 2000 の DTS パッケージを利用している場合)
  10. 保守計画を移行する(保守計画を利用している場合)
  1. アップグレード アドバイザによる事前チェックを行う
  2. 新規サーバーを SQL Server 2008 へアップグレード インストールする
  3. SQL Server 2008 の Service Pack や修正プログラムをインストールする
  4. レジストリに格納されている情報を再設定する(サービスの自動起動やサービス アカウント、認証モード、TCP ポート番号など)
  5. 統計情報(Statistics)を更新する
  6. フルテキスト インデックスを再構築する(フルテキスト インデックスを利用している場合)
  7. 互換性レベルを調整する
  8. DTS パッケージを移行する(SQL Server 2000 の DTS パッケージを利用している場合)
  9. 保守計画を利用している場合は再作成する

SE の雑記

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)で移行できます。

ただし、同様にインポートの後、
ユーザーおよびアプリケーションに一貫した使用環境を提供するために、
アタッチ先のサーバー インスタンスで、ログイン、ジョブ、権限などの
データベースのメタデータの一部またはすべてを作成し直す必要が生じる場合があります。

インポート / エクスポート ウィザードでテーブルを作成しデータを移行した場合、
インデックス等の情報は移行されていませんので、ウィザードでテーブルを作成するのではなく、
スクリプトの生成で一度スクリプトを作成して、移行するのが良いと思います。

bcpユーティリティ、BULK INSERT

一括インポート操作と一括エクスポート操作

Identity列がある場合

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移行とアップグレード」
を参照すると良いかと考えます。

サブシステムの移行

Azure SQL データベースへの移行

Windows Azure SQL データベース (以前の SQL Azure) へのデータベース移行
http://msdn.microsoft.com/ja-jp/library/windowsazure/ee730904.aspx

異種DBMSからの移行

SSMA

Microsoft SQL Server Migration Assistant(SSMA:DB移行支援ツール)
SSMAはSQL Server以外の異種DBMSからの移行を支援します。

SSIS

前述のインポート / エクスポートウィザード(=SSIS)も利用可能。

その他

Oracle Database から SQL Server への移行に関する情報は以下に纏まっています。

その他の情報

他社、サービス

Smarts データベース移行支援サービス - SQL Serverのデータベース移行
http://sc.ha-sys.co.jp/products/DBtoMSSQL.html


Tags: :移行, :データアクセス, :SQL Server


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS