SQL Server 2014 では、SQL Server 2005 以降のバージョンを使用して作成されたユーザー データベースのバックアップを復元することで、新しいデータベースを作成できます。 ただし、以前のバージョンの SQL Server を使用して作成された マスター、 モデル 、 および msdb のバックアップは、SQL Server 2014 では復元できません。 また、SQL Server 2014 バックアップは、以前のバージョンの SQL Server では復元できません。
重要
SQL Server 2014 では、以前のバージョンとは異なる既定のパスが使用されます。 そのため、以前のバージョンの既定の場所に作成されたデータベースのバックアップを復元するには、MOVE オプションを使用する必要があります。 新しい既定のパスの詳細については、「 SQL Server の既定のインスタンスと名前付きインスタンスのファイルの場所」を参照してください。 データベース ファイルの移動の詳細については、このトピックで後述する「データベース ファイルの移動」を参照してください。
バックアップと復元を使用してデータベースをコピーするための一般的な手順
バックアップと復元を使用してデータベースを SQL Server の別のインスタンスにコピーする場合、ソース コンピューターと移行先コンピューターは、SQL Server を実行する任意のプラットフォームにすることができます。
一般的な手順は次のとおりです。
SQL Server 2005 以降のインスタンスに存在できるソース データベースをバックアップします。 SQL Server のこのインスタンスが実行されている コンピューターがソース コンピューターです。
データベースのコピー先のコンピューター ( コピー先コンピューター) で、データベースを復元する SQL Server のインスタンスに接続します。 必要に応じて、移行先サーバー インスタンスで、ソース データベースのバックアップに使用したのと同じバックアップ デバイスを作成します。
コピー先のコンピューター上のソース データベースのバックアップを復元します。 データベースを復元すると、すべてのデータベース ファイルが自動的に作成されます。
次のトピックでは、このプロセスに影響する可能性があるその他の考慮事項について説明します。
データベース ファイルを復元する前に
データベースを復元すると、復元中のデータベースに必要なデータベース ファイルが自動的に作成されます。 既定では、復元プロセス中に SQL Server によって作成されたファイルは、ソース コンピューター上の元のデータベースのバックアップ ファイルと同じ名前とパスを使用します。
必要に応じて、データベースを復元するときに、復元するデータベースのデバイス マッピング、ファイル名、またはパスを指定できます。 これは、次の状況で必要になる場合があります。
元のコンピューター上のデータベースによって使用されるディレクトリ構造またはドライブ マッピングは、他のコンピューターに存在しません。 たとえば、バックアップに既定でドライブ E に復元されるファイルが含まれているとしますが、コピー先のコンピューターにドライブ E がありません。
ターゲットの場所に十分な領域がない可能性があります。
復元先に存在するデータベース名を再利用しており、そのファイルの名前はバックアップ セット内のデータベース ファイルと同じです。次のいずれかが発生します。
既存のデータベース ファイルを上書きできる場合は、上書きされます (これは別のデータベース名に属するファイルには影響しません)。
既存のファイルを上書きできない場合は、復元エラーが発生します。
エラーや意図しない結果を回避するために、復元操作の前に、 backupfile 履歴テーブルを使用して、復元するバックアップ内のデータベースとログ ファイルを確認できます。
データベース ファイルの移動
前述の理由により、データベース バックアップ内のファイルを復元先のコンピューターに復元できない場合は、復元中にファイルを新しい場所に移動する必要があります。 例えば次が挙げられます。
以前のバージョンの既定の場所に作成されたバックアップからデータベースを復元する場合。
容量に関する考慮事項により、バックアップ内のデータベース ファイルの一部を別のドライブに復元することが必要になる場合があります。 組織内のほとんどのコンピューターに同じ数とサイズのディスク ドライブまたは同じソフトウェア構成がないため、これは一般的に発生する可能性があります。
テスト目的で、同じコンピューター上に既存のデータベースのコピーを作成することが必要な場合があります。 この場合、元のデータベースのデータベース ファイルは既に存在するため、復元操作中にデータベース コピーを作成するときに、異なるファイル名を指定する必要があります。
詳細については、このトピックで後述する「ファイルとファイル グループを新しい場所に復元するには」を参照してください。
データベース名の変更
データベースの名前は、コピー先のコンピューターに復元されるときに変更できます。データベースを最初に復元してから、手動で名前を変更する必要はありません。 たとえば、データベース名を Sales から SalesCopy に変更して、これがデータベースのコピーであることを示す必要がある場合があります。
データベースを復元するときに明示的に指定されたデータベース名は、新しいデータベース名として自動的に使用されます。 データベース名がまだ存在しないため、バックアップ内のファイルを使用して新しい名前が作成されます。
復元を使用してデータベースをアップグレードする場合
以前のバージョンからバックアップを復元する場合は、バックアップ内の各フルテキスト カタログのパス (ドライブとディレクトリ) が移行先コンピューターに存在するかどうかを事前に把握しておくことが役立ちます。 カタログ ファイルを含め、バックアップ内のすべてのファイルの論理名、物理名、パス、ファイル名) を一覧表示するには、RESTORE FILELISTONLY FROM <backup_device> ステートメントを使用します。 詳細については、 RESTORE FILELISTONLY (Transact-SQL) を参照してください。
ターゲット コンピューターに同じパスが存在しない場合は、次の 2 つの方法があります。
対象のコンピューターで同等のドライブ/ディレクトリ マッピングを作成します。
RESTORE DATABASE ステートメントで WITH MOVE 句を使用して、復元操作中にカタログ ファイルを新しい場所に移動します。 詳細については、「RESTORE (Transact-SQL)」を参照してください。
フルテキスト インデックスをアップグレードするための代替オプションについては、「Full-Text 検索のアップグレード」を参照してください。
データベースの所有権
データベースが別のコンピューターに復元されると、復元操作を開始した SQL Server ログインまたは Microsoft Windows ユーザーが新しいデータベースの所有者になります。 データベースが復元されると、システム管理者または新しいデータベース所有者がデータベースの所有権を変更できます。 データベースの不正な復元を防ぐには、メディアまたはバックアップ セットのパスワードを使用します。
別のサーバー インスタンスに復元するときのメタデータの管理
データベースを別のサーバー インスタンスに復元するときに、ユーザーとアプリケーションに一貫したエクスペリエンスを提供するために、他のサーバー インスタンスにログインやジョブなど、データベースのメタデータの一部またはすべてを再作成することが必要になる場合があります。 詳細については、「データベースを別のサーバー インスタンスで使用できるようにするときのメタデータの管理 (SQL Server)」を参照してください。
バックアップ セット内のデータ ファイルとログ ファイルを表示するには
ファイルとファイル グループを新しい場所に復元するには
既存のファイル上にファイルとファイルグループを復元するには
新しい名前でデータベースを復元するには
中断された復元操作を再開するには
データベースの所有者を変更するには
SQL Server 管理オブジェクト (SMO) を使用してデータベースをコピーするには
こちらもご覧ください
他のサーバーへのデータベースのコピー
SQL Server の既定のインスタンスおよび名前付きインスタンスのファイルの場所
RESTORE FILELISTONLY (Transact-SQL)
RESTORE (Transact-SQL)