次の方法で共有


データベース エンジンのアップグレード

このトピックでは、アップグレード プロセスの準備と理解に必要な情報を提供します。以下が対象です。

  • アップグレードに関する既知の問題。

  • アップグレード前のタスクと考慮事項。

  • データベース エンジンをアップグレードするための手順に関するトピックへのリンク。

  • データベースを SQL Server に移行するための手順に関するトピックへのリンク。

  • フェールオーバー クラスターに関する考慮事項。

  • アップグレード後のタスクと考慮事項。

アップグレードに関する既知の問題

データベース エンジンをアップグレードする前に、 SQL Server データベース エンジンの下位互換性を確認してください。 サポートされているアップグレード シナリオとアップグレードの既知の問題については、「 サポートされているバージョンとエディションのアップグレード」を参照してください。 他の SQL Server コンポーネントの下位互換性のコンテンツについては、「 下位互換性」を参照してください。

重要

SQL Server の 1 つのエディションから別のエディションにアップグレードする前に、現在使用している機能がアップグレード先のエディションでサポートされていることを確認します。

以前のバージョンの SQL Server Enterprise Edition から SQL Server 2014 にアップグレードする場合は、Enterprise Edition: Core ベースのライセンスと Enterprise Edition のいずれかを選択します。 これらの Enterprise エディションは、ライセンス モードのみが異なります。 詳細については、「 Compute Capacity Limits by Edition of SQL Server」を参照してください。

アップグレード前チェックリスト

SQL Server を以前のバージョンからアップグレードすることは、SQL Server セットアップ プログラムでサポートされています。 以前のバージョンの SQL Server からデータベースを移行することもできます。 移行は、1 つの SQL Server インスタンスから同じコンピューター上の別の SQL Server インスタンスに、または別のコンピューター上の SQL Server インスタンスから行うことができます。 移行オプションには、データベースのコピー ウィザードの使用、バックアップと復元の機能、SQL ServerIntegration Services インポートおよびエクスポート ウィザードの使用、一括エクスポート/一括インポート方法などがあります。

データベース エンジンをアップグレードする前に、次の内容を確認してください。

SQL Server をアップグレードする前に、次の問題を確認し、変更を加えます。

  • SQL Server エージェントが MSX/TSX リレーションシップに参加している SQL Server のインスタンスをアップグレードする場合は、マスター サーバーをアップグレードする前に、ターゲット サーバーをアップグレードします。 ターゲット サーバーの前にマスター サーバーをアップグレードすると、SQL Server エージェントは SQL Server のマスター インスタンスに接続できなくなります。

  • 64 ビット エディションの SQL Server から 64 ビット エディションの SQL Server 2014 にアップグレードする場合は、データベース エンジンをアップグレードする前に Analysis Services をアップグレードする必要があります。

  • 必要に応じて復元できるように、アップグレードするインスタンスからすべての SQL Server データベース ファイルをバックアップします。

  • アップグレード対象のデータベース上で適切なデータベース コンソール コマンド (DBCC) を実行して、データベースの一貫性を確保します。

  • SQL Server コンポーネントおよびユーザー データベースのアップグレードに必要なディスク容量を見積もります。 SQL Server コンポーネントで必要なディスク領域については、「SQL Server 2014 をインストールするためのハードウェアとソフトウェアの要件」を参照してください。

  • 既存の SQL Server システム データベース (master、model、msdb、tempdb) が自動拡張するように構成され、十分なハード ディスク領域があることを確認します。

  • すべてのデータベース サーバーがマスター データベースにログオン情報を持っていることを確認します。 システム ログオン情報は master データベースに格納されるので、データベースを復元するにはこの作業が重要になります。

  • アップグレード プロセスが停止し、アップグレード中の SQL Server インスタンスでサービスが開始されるため、すべてのスタートアップ ストアド プロシージャを無効にします。 起動時にストアド プロシージャを実行すると、アップグレード プロセスをブロックする可能性があります。

  • レプリケーションが最新であることを確認してから、レプリケーションを停止します。

  • SQL Server との従属関係を持つすべてのサービスを含むすべてのアプリケーションを終了します。 アップグレード実行中のインスタンスにローカル アプリケーションが接続されている場合は、アップグレード操作が失敗する場合があります。

  • データベース ミラーリングを使用する場合は、「 サーバー インスタンスをアップグレードするときのミラー化されたデータベースのダウンタイムを最小限に抑える」を参照してください。

データベース エンジンのアップグレード

SQL Server 2005 以降のインストールは、バージョンのアップグレードで上書きできます。 SQL Server セットアップの実行時に以前のバージョンの SQL Server が検出された場合、以前のすべての SQL Server プログラム ファイルがアップグレードされ、以前の SQL Server インスタンスに格納されているすべてのデータが保持されます。 さらに、以前のバージョンの SQL Server オンライン ブックは、コンピューター上にそのまま残ります。

警告

SQL Server 2014 セットアップ プログラムを実行すると、アップグレード前チェックの実行の一環として、SQL Server インスタンスが停止して再起動されます。

注意事項

SQL Server をアップグレードすると、以前の SQL Server インスタンスが上書きされ、コンピューターに存在しなくなります。 アップグレードする前に、 SQL Server データベースおよび以前の SQL Server インスタンスに関連するその他のオブジェクトをバックアップしてください。

SQL Server インストール ウィザードを使用して、データベース エンジンをアップグレードできます。

アップグレード後のデータベース互換性レベル

tempdbmodelmsdbおよびリソース データベースの互換性レベルは、アップグレード後に 120 に設定されます。 master システム データベースの互換性レベルは、アップグレード前と同じです。

アップグレード前のユーザー データベースの互換性レベルが 100 以上の場合は、アップグレード後も互換性レベルは変わりません。 アップグレード前に互換性レベルが 90 であった場合、アップグレードされたデータベースでは、互換性レベルが 100 に設定されます。これは、SQL Server 2014 でサポートされている最も低い互換性レベルです。

新しいユーザー データベースは、 model データベースの互換性レベルを継承します。

データベースの移行

SQL Server のバックアップと復元、デタッチ、アタッチ機能を使用して、ユーザー データベースを SQL Server のインスタンスに移動できます。 詳細については、「 バックアップと復元を使用したデータベースのコピー 」または 「データベースのデタッチとアタッチ (SQL Server)」を参照してください。

重要

移行元サーバーと移行先サーバーの両方で同じ名前のデータベースを移動またはコピーすることはできません。 この場合、"既に存在する" と表示されます。

詳細については、「 データベースのコピー ウィザードを使用する」を参照してください

データベース エンジンのアップグレード後

データベース エンジンをアップグレードした後は、次の作業を実行します。

  • サーバーを再登録します。 サーバーの登録の詳細については、「サーバーの 登録」を参照してください。

  • クエリ結果のセマンティック整合性を確保するために、フルテキスト カタログを再入力します。

    SQL Server 2014 では、Full-Text およびセマンティック検索で使用する新しいワード ブレーカーがインストールされます。 ワード ブレーカーは、インデックス作成時とクエリ時の両方で使用されます。 フルテキスト カタログを再構築しないと、検索結果に一貫性がない可能性があります。 以前のバージョンの SQL Server と現在のワード ブレーカーでワード ブレーカーによって異なる方法で壊れている語句を検索するフルテキスト クエリを発行した場合、その語句を含むドキュメントまたは行が取得されない可能性があります。 これは、インデックス付きフレーズが、クエリで使用されているロジックとは異なるロジックを使用して破損したためです。 解決策は、インデックス時刻とクエリ時間の動作が同じになるように、フルテキスト カタログに新しいワード ブレーカーを再入力 (再構築) することです。

    詳細については、「 sp_fulltext_catalog (Transact-SQL)」を参照してください。

  • SQL Server のインストールを構成します。 システムの攻撃可能な領域を減らすために、SQL Server は主要なサービスと機能を選択的にインストールして有効にします。

  • SQL Server 2005 によって生成され、パーティション テーブルとパーティション インデックスに対するクエリに適用される USE PLAN ヒントを検証または削除します。

    SQL Server では、パーティション テーブルとインデックスに対するクエリの処理方法が変更されます。 SQL Server 2005 によって生成されるプランの USE PLAN ヒントを使用するパーティション オブジェクトに対するクエリには、SQL Server 2014 では使用できないプランが含まれている場合があります。 SQL Server 2014 にアップグレードした後は、次の手順をお勧めします。

    USE PLAN ヒントがクエリで直接指定されている場合:

    1. クエリから USE PLAN ヒントを削除します。

    2. クエリをテストします。

    3. オプティマイザーが適切なプランを選択しない場合は、クエリを調整してから、目的のクエリ プランで USE PLAN ヒントを指定することを検討してください。

    プラン ガイドで USE PLAN ヒントが指定されている場合:

    1. sys.fn_validate_plan_guide関数を使用して、プラン ガイドの有効性を確認します。 または、SQL Server Profiler のプラン ガイドの失敗イベントを使用して、無効なプランを確認することもできます。

    2. プラン ガイドが無効な場合は、プラン ガイドを削除します。 オプティマイザーが適切なプランを選択しない場合は、クエリを調整してから、必要なクエリ プランで USE PLAN ヒントを指定することを検討してください。

    プラン ガイドで USE PLAN ヒントが指定されている場合、無効なプランではクエリが失敗しません。 代わりに、USE PLAN ヒントを使用せずにクエリがコンパイルされます。

アップグレード前にフルテキストが有効または無効にされたデータベースは、アップグレード後もその状態を維持します。 アップグレード後、フルテキスト カタログは再構築され、フルテキスト対応のすべてのデータベースに対して自動的に設定されます。 これは、時間がかかり、リソースを消費する操作です。 次のステートメントを実行すると、フルテキスト インデックス作成操作を一時的に一時停止できます。

EXEC sp_fulltext_service 'pause_indexing', 1;  

フルテキスト インデックスの作成を再開するには、次のステートメントを実行します。

EXEC sp_fulltext_service 'pause_indexing', 0;  

こちらもご覧ください

サポートされているバージョンとエディションのアップグレード
SQL Server の複数のバージョンとインスタンスを操作する
旧バージョンとの互換性
レプリケートされたデータベースのアップグレード