データベース エンジンのアップグレード方法の選択Choose a database engine upgrade method

適用対象: ○SQL Server (Windows のみ)×Azure SQL Database ×Azure SQL Data Warehouse ×Parallel Data Warehouse APPLIES TO: yesSQL Server (Windows only) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

SQL Server の以前のリリースから データベース エンジンDatabase Engine のアップグレードを計画している場合、ダウンタイムとリスクを最小限に抑えるために、考慮すべきいくつかのアプローチがあります。There are several approaches to consider when you are planning to upgrade the データベース エンジンDatabase Engine from a prior release of SQL Server in order to minimize downtime and risk. インプレース アップグレードの実行、新規インストールへの移行、またはローリング アップグレードの実行が可能です。You can perform an upgrade in-place, migrate to a new installation, or perform a rolling upgrade. 次の図は、これらのアプローチから選択する場合に役立ちます。The following diagram will help you to choose amongst these approaches. 図の各アプローチについては、下でも説明しています。Each of the approaches in the diagram are also discussed below. 図の意思決定ポイントに役立てるため、「 データベース エンジンのアップグレード計画の策定およびテスト」も参照してください。To assist you with the decision points in the diagram, please also review Plan and Test the Database Engine Upgrade Plan.

データベース エンジンのアップグレード方法のデシジョン ツリーDatabase Engine Upgrade Method Decision Tree

ダウンロードDownload

  • SQL ServerSQL Serverをダウンロードするには、 評価センター に移動してください。To download SQL ServerSQL Server, go to Evaluation Center.

  • Azure アカウントをすでにお持ちですか?Have an Azure account? 既にお持ちの場合は、 こちら にアクセスして、SQL ServerSQL Server Developer Edition がインストール済みの仮想マシンをすぐにご利用いただけます。Then go Here to spin up a Virtual Machine with SQL ServerSQL Server Developer Edition already installed.

注意

また、アップグレード計画の一環として、Azure SQL Database のアップグレードや SQL Server 環境の仮想化を考慮する場合もあります。You may also consider upgrading the Azure SQL Database or virtualizing your SQL Server environment as part of your upgrade plan. これらの記事はここでは範囲外ですが、いくつかのリンクを示します。These articles are out of scope for this article, but here are some links:

インプレース アップグレードUpgrade in-place

このアプローチでは、SQL Server セットアップ プログラムは、既存の SQL ServerSQL Server ビットを新しい SQL ServerSQL Server ビットで置き換えて、既存の SQL ServerSQL Server インストールをアップグレードし、次に各システム データベースとユーザー データベースをアップグレードします。With this approach, the SQL Server setup program upgrades the existing SQL ServerSQL Server installation by replacing the existing SQL ServerSQL Server bits with the new SQL ServerSQL Server bits and then upgrades each of the system and user databases. インプレース アップグレード アプローチは最も簡単ですが、ある程度のダウンタイムを必要とし、フォールバックが必要な場合にフォールバックに時間がかかるため、すべてのシナリオでサポートされるわけではありません。The upgrade in-place approach is easiest, requires some amount of downtime, takes longer to fallback if a fallback is necessary, and it is not supported for all scenarios. インプレース アップグレードがサポートされるシナリオとサポートされないシナリオの詳細については、「 サポートされているバージョンとエディションのアップグレード」を参照してください。For more information on supported and unsupported upgrade in-place scenarios, see Supported Version and Edition Upgrades.

このアプローチは、次のシナリオでよく使われます。This approach is frequently used in the following scenarios:

  • 高可用性 (HA) 構成のない開発環境。A development environment without a high-availability (HA) configuration.

  • ダウンタイムを許容でき、最新のハードウェアとソフトウェアで実行されている非ミッション クリティカル運用環境。A non-mission critical production environment that can tolerate downtime and that is running on a recent hardware and software. ダウンタイムの長さは、データベースのサイズと、I/O サブシステムの速度によって異なります。The amount of downtime is dependent upon the size of your database and the speed of your I/O subsystem. メモリ最適化テーブルを使用している場合、SQL Server 2014 をアップグレードすると、余分な時間がかかることがあります。Upgrading SQL Server 2014 when memory-optimized tables are in use will take some extra time. 詳細については、「 データベース エンジンのアップグレード計画の策定およびテスト」を参照してください。For more information, see Plan and Test the Database Engine Upgrade Plan.

注意

Microsoft がこの方法をどのように使用するかの例については、次のブログ記事を参照してください: 「To upgrade or not to upgrade」 (アップグレードするか、アップグレードしないか)。For an example of how Microsoft has used this strategy, see the following blog post: To upgrade or not to upgrade.

警告

SQL ServerSQL Server セットアップ プログラムの実行中に、アップグレード前チェックの実行の一部として、 SQL ServerSQL Server インスタンスが停止し、再起動します。When running the SQL ServerSQL Server setup program, the SQL ServerSQL Server instance is stopped and restarted as part of running the pre-upgrade checks.

注意事項

SQL ServerSQL Serverをアップグレードすると、以前の SQL ServerSQL Server インスタンスは上書きされて、コンピューター上に存在しなくなります。When you upgrade SQL ServerSQL Server, the previous SQL ServerSQL Server instance will be overwritten and will no longer exist on your computer. アップグレードする前に、 SQL ServerSQL Server データベースおよび以前の SQL ServerSQL Server インスタンスに関連するその他のオブジェクトをバックアップしてください。Before upgrading, back up SQL ServerSQL Server databases and other objects associated with the previous SQL ServerSQL Server instance.

次の図に、 データベース エンジンDatabase Engineのインプレース アップグレードに必要な手順の概要を示します。The following diagram provides a high-level overview of the steps required for an in-place upgrade of the データベース エンジンDatabase Engine.

非 HA データベース エンジンのインプレ―ス アップグレードDatabase Engine Upgrade Non-HA In-Place Upgrade

詳細な手順については、「Upgrade SQL Server Using the Installation Wizard (Setup)」(インストール ウィザードを使用した SQL Server のアップグレード (セットアップ)) を参照してください。For detailed steps, see Upgrade SQL Server Using the Installation Wizard (Setup).

新しいインストールへの移行Migrate to a new installation

このアプローチでは、多くの場合に、新しいハードウェア上に、新しいバージョンのオペレーティング システムで新しい SQL ServerSQL Server 環境をビルドしながら、現在の環境を維持します。With this approach, you maintain the current environment while you build a new SQL ServerSQL Server environment, frequently on new hardware and with a new version of the operating system. 新しい環境に SQL ServerSQL Server をインストールしたら、既存の環境から既存のユーザー データベースを新しい環境に移行し、ダウンタイムを最小限に抑えるように、新しい環境を準備するための多くの手順を実行します。After installing SQL ServerSQL Server in the new environment, you perform a number of steps to prepare the new environment so that you can migrate the existing user databases from the existing environment to the new environment and minimize downtime. これらの手順では、以下の移行が含まれます。These steps include migrating the following:

  • システム オブジェクト: アプリケーションによっては、シングル ユーザー データベースのスコープの外部にある情報、エンティティ、オブジェクトに依存することがあります。System objects: Some applications depend on information, entities, and/or objects that are outside of the scope of a single user database. 通常、アプリケーションには、マスター データベースと msdb データベースへの依存関係があり、ユーザー データベースにも依存関係があります。Typically, an application has dependencies on the master and msdb databases, and also on the user database. ユーザー データベースの外部に格納される (ユーザー データベースを正しく機能させるために必要な) すべてのデータは、対象のサーバー インスタンスで使用できるようにする必要があります。Anything stored outside of a user database that is required for the correct functioning of that database must be made available on the destination server instance. たとえば、アプリケーションのログインが、マスター データベースにメタデータとして格納されているため、それらを移行先サーバーで再作成する必要があります。For example, the logins for an application are stored as metadata in the master database, and they must be re-created on the destination server. アプリケーションまたはデータベースのメンテナンス プランが、メタデータが msdb データベースに格納されるエージェント ジョブに依存している場合、移行先サーバー インスタンスでこれらのジョブを再作成する必要があります。If an application or database maintenance plan depends on SQL Server Agent jobs, whose metadata is stored in the msdb database, you must re-create those jobs on the destination server instance. 同様に、サーバーレベルのトリガーのメタデータはマスターに格納されます。Similarly, the metadata for a server-level trigger is stored in master.

アプリケーションのデータベースを別のサーバー インスタンスに移動するときは、移行先サーバー インスタンス上のマスターおよび msdb に、依存しているエンティティとオブジェクトのすべてのメタデータを再作成する必要があります。When you move the database for an application to another server instance, you must re-create all the metadata of the dependant entities and objects in master and msdb on the destination server instance. たとえば、データベース アプリケーションでサーバーレベルのトリガーを使用している場合、そのデータベースを新しいシステムでアタッチまたは復元するだけでは不十分です。For example, if a database application uses server-level triggers, just attaching or restoring the database on the new system is not enough. このデータベースは、マスター データベース内にこれらのトリガーのメタデータを手動で再作成しない限り、正常に動作しません。The database will not work as expected unless you manually re-create the metadata for those triggers in the master database. 詳細については、「データベースを別のサーバー インスタンスで使用できるようにするときのメタデータの管理 (SQL Server)」を参照してください。For detailed information, see Manage Metadata When Making a Database Available on Another Server Instance (SQL Server)

  • MSDB に格納されている Integration Services パッケージ: MSDB にパッケージを格納する場合、dtutil Utility を使用して、それらのパッケージをスクリプトに記述するか、新しいサーバーに再配置する必要があります。Integration Services packages stored in MSDB: If you are storing packages in MSDB, you will need to either script out those packages using the dtutil Utility or redeploy them to the new server. 新しいサーバーでパッケージを使用する前に、パッケージを SQL ServerSQL Serverにアップグレードする必要があります。Before using the packages on the new server, you will need to upgrade the packages to SQL ServerSQL Server. 詳細については、「 Upgrade Integration Services Packages」を参照してください。For more information, see Upgrade Integration Services Packages.

  • Reporting Services 暗号化キー: レポート サーバー構成で重要なのは、機密情報の暗号化に使用される対称キーのバックアップ コピーの作成です。Reporting Services encryption keys: An important part of report server configuration is creating a backup copy of the symmetric key used for encrypting sensitive information. キーのバックアップ コピーは多くのルーチン処理で必要とされ、キーのバックアップ コピーにより新しいインストールで既存のレポート サーバー データベースを再利用できます。A backup copy of the key is required for many routine operations, and enables you to reuse an existing report server database in a new installation. 詳細については、「 Reporting Services の暗号化キーのバックアップと復元 」および「 Upgrade 」および「 Migrate Reporting Services」を参照してくださいFor more information, see Back Up and Restore Reporting Services Encryption Keys and Upgrade and Migrate Reporting Services

新しい SQL ServerSQL Server 環境に既存の環境と同じシステム オブジェクトを設定したら、既存のシステムのダウンタイムを最小限に抑える方法で、ユーザー データベースを既存のシステムから、 SQL ServerSQL Server インスタンスに移行します。Once the new SQL ServerSQL Server environment has the same system objects as the existing environment, you then migrate the user databases from the existing system to the SQL ServerSQL Server instance in a manner that will minimize downtime on the existing system. データベースの移行を実行するには、バックアップと復元を使用するか、SAN 環境内の場合は LUN を再指定します。You accomplish the database migration either using backup and restore, or by repointing LUNs if you are in a SAN environment. 両方の方法の手順を下の図に示しています。The steps for both methods are delineated in the diagrams below.

注意事項

ダウンタイムの長さは、データベースのサイズと、I/O サブシステムの速度によって異なります。The amount of downtime is dependent upon the size of your database and the speed of your I/O subsystem. メモリ最適化テーブルを使用している場合、SQL Server 2014 をアップグレードすると、余分な時間がかかることがあります。Upgrading SQL Server 2014 when memory-optimized tables are in use will take some extra time. 詳細については、「 データベース エンジンのアップグレード計画の策定およびテスト」を参照してください。For more information, see Plan and Test the Database Engine Upgrade Plan.

ユーザー データベースの移行後、多様な方法 (サーバー名の変更、DNS エントリの使用、接続文字列の変更など) のいずれかを使用して、新しいユーザーを新しい SQL ServerSQL Server インスタンスに指示します。After migrating the user database(s), you point new users to the new SQL ServerSQL Server instance using one of a variety of methods (e.g. renaming the server, using a DNS entry, modifying connection strings). 新規インストール アプローチは、インプレース アップグレードと比較して、リスクとダウンタイムを減らし、 SQL ServerSQL Serverへのアップグレードと同時のハードウェアとオペレーティング システムのアップグレードを容易にします。The new installation approach reduces risk and downtime as compared to an in-place upgrade , and facilitates hardware and operating system upgrades in conjunction with the upgrade to SQL ServerSQL Server.

注意

既に高可用性 (HA) ソリューションを設置しているなど、 SQL ServerSQL Serverインスタンスが複数ある環境の場合は、「 ローリング アップグレード」に進みます。If you already have a high availability (HA) solution in place or some other multiple SQL ServerSQL Serverinstance environment, go Rolling upgrade. 高可用性ソリューションを設定していない場合は、 データベース ミラーリング を一時的に構成して、ダウンタイムを最小にして、このアップグレードを容易にするか、またはこの機会を利用して、永続的な HA ソリューションとして、 Always On 可用性グループ を構成することを考慮できます。If you do not have a high availability solution in place, you can consider either temporarily configuring Database Mirroring to further minimize downtime to facilitate this upgrade or taking this opportunity to configure an Always On Availability Group as a permanent HA solution.

たとえば、このアプローチは、次をアップグレードする場合に使用できます。For example, you may use this approach to upgrade:

  • サポートされていないオペレーティング システムへの SQL ServerSQL Server のインストール。An installation of SQL ServerSQL Server on an unsupported operating system.
  • SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降は x86 インストールをサポートしていないため、SQL Server の x86 インストール。An x86 installation of SQL Server as SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later do not support x86 installations.
  • SQL ServerSQL Server 新しいハードウェアや新しいバージョンのオペレーティング システムへ。to new hardware and/or a new version of the operating system.
  • SQL ServerSQL Server in conjunction with server consolidation.
  • SQL Server 2016 (13.x)SQL Server 2016 (13.x) 以降は SQL Server 2005 のインプレース アップグレードをサポートしていないため、SQL Server 2005。SQL Server 2005 as SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later do not support the in-place upgrade of SQL Server 2005. 詳細については、「SQL Server 2005 からアップグレードしますか?」を参照してください。For more information, see Are you upgrading from SQL Server 2005.

新規インストール アップグレードに必要な手順は、アタッチされたストレージを使用するか、または SAN ストレージを使用するかどうかによってやや異なります。The steps required for a new installation upgrade vary slightly depending upon whether you are using attached storage or SAN storage.

  • アタッチされたストレージ環境: アタッチされたストレージを使用する SQL ServerSQL Server 環境がある場合、次の図と図内のリンクで、データベース エンジンDatabase Engine の新規インストール アップグレードに必要な手順を示しています。Attached storage environment: If you have a SQL ServerSQL Server environment using attached storage, the following diagram and the links within the diagram to guide you through the steps required for a new installation upgrade of the データベース エンジンDatabase Engine.

    アタッチされたストレージのバックアップと復元を使用した新しいインストール アップグレードの方法New installation upgrade method using backup and restore for attached storage

  • SAN ストレージ環境: SAN ストレージを使用した SQL ServerSQL Server 環境がある場合、次の図と図内のリンクで、データベース エンジンDatabase Engine の新規インストール アップグレードに必要な手順を示しています。SAN storage environment: If you have a SQL ServerSQL Server environment using SAN storage, the following diagram and the links within the diagram to guide you through the steps required for a new installation upgrade of the データベース エンジンDatabase Engine.

    SAN ストレージのデタッチとアタッチを使用した新しいインストール アップグレードの方法New installation upgrade method using detach and attach for SAN storage

ローリング アップグレードRolling upgrade

ローリング アップグレードは、特定の順序でアップグレードする必要がある複数の SQL ServerSQL Server インスタンスを含む SQL Server ソリューション環境で、アップタイムを最大にし、リスクを最小にして、機能を維持するために必要です。A rolling upgrade is required in SQL Server solution environments involving multiple SQL ServerSQL Server instances that must be upgraded in a certain order to maximize uptime, minimize risk, and preserve functionality. ローリング アップグレードは、基本的に特定の順序での複数の SQL ServerSQL Server インスタンスのアップグレードであり、既存の各 SQL ServerSQL Serverインスタンスに対してインプレース アップグレードを実行するか、またはアップグレード プロジェクトの一環としてハードウェアやオペレーティング システムのアップグレードを容易にするために、新規インストール アップグレードを実行します。A rolling upgrade is essentially the upgrade of multiple SQL ServerSQL Server instances in a particular order, either performing an upgrade in-place on each existing SQL ServerSQL Serverinstance or performing a new installation upgrade to facilitate upgrading hardware and/or the operating system as part of the upgrade project. ローリング アップグレード アプローチを使用する必要がある多くのシナリオがあります。There are a number of scenarios in which you need to use the rolling upgrade approach. これらを以下の各記事で説明します。These are documented in the following articles:

次の手順Next steps

データベース エンジンのアップグレード計画の策定およびテスト Plan and Test the Database Engine Upgrade Plan
データベース エンジンのアップグレードの完了Complete the Database Engine Upgrade