web-dev-qa-db-ja.com

SQL Server 2008での.bakファイルSQL Server 2005の復元

SQL Serverに関する十分な知識がありません。 SQL Server 2005の.bakファイルをSQL Server 2008で復元できることを知りたいだけです。はいの場合、どうすればよいですか?

2
Shafeeque

SQL Serverのすべての復元操作には下位互換性があります。同じインスタンスで2008バックアップを復元するのと同じように、2008インスタンスで2005バックアップを復元できます。

古いSQL Serverバージョンにはいくつかの制限がありますが、現在、2005以降のインスタンスで作成されたバックアップは、サポートされているすべてのSQL Serverバージョンで復元できます。

ただし、バックアップ自体には下位互換性がありません。したがって、2005年のインスタンスでは、2008年のインスタンスで作成されたバックアップを復元できません。

4
Sebastian Meine

はい、SQL Server 2005のバックアップをSQL Server 2008に復元することは可能です。

復元コマンドは、SQL Server 2005への復元と同じです。

RESTORE DATABASE [Xyzzy] 
  FROM  DISK = N'\\Server\Share\Path\Xyzzy_FULL_20130915.bak' WITH  FILE = 1,  
  MOVE N'Xyzzy_Data' TO N'D:\Data\Xyzzy_Data.MDF',  
  MOVE N'Xyzzy_Log' TO N'F:\Data\Xyzzy_log.LDF',  RECOVERY,  NOUNLOAD,  STATS = 10

復元の後に、SQL Server 2005データベース形式をSQL Server 2008データベース形式にアップグレードするためのいくつかのアップグレード手順が続きます。

(注:2008データベースを2005に復元することはできません。)

SQL Serverのバージョンを2008年に復元する方法には制限がありますが、2005年は問題なく機能します。 SQL Server 2008へのサポートされているアップグレードパスへのリンクは次のとおりです。

http://technet.Microsoft.com/en-us/library/ms143393(v = sql.100).aspx

3
RLF

はい、できますSQL Server 2005のデータベースをSQL Server 2008に復元したいので、データベースの「移行」どうすればよいですか?

次の手順に従ってください。
 1。ユーザーデータベースの完全およびトランザクションログバックアップを実行します
 2。データベースバックアップファイルを新しいサーバーにコピーします
 3。フルバックアップを復元してから、ユーザーデータベースのトランザクションログバックアップを復元します
 4。データベースの互換性レベルを変更する
 5。データベースの論理的および物理的整合性を確認する 

注:データベースがシンプルリカバリモードの場合、フルバックアップとフルリストアを実行するだけで済みます。

*T-SQLコマンドを使用してユーザーデータベースの完全およびトランザクションログバックアップを実行する*

  1. SQL Server Management Studioを使用してSQL Server 2005インスタンスに接続します。
  2. 下記のT-SQLコードを実行して、Adventure Worksデータベースをバックアップします。

データベースのアドベンチャーワークスをディスクにバックアップ= 'D:\ Backups\AdventureWorks.BAK' GO

BACKUP LOG AdventureWorks TO DISK = 'D:\ Backups\AdventureWorks.TRN' GO

データベースバックアップからのユーザーデータベースの復元

  1. 上記で作成したバックアップファイルをコピーし、SQL 2008を使用してサーバーに配置します。
  2. SQL Server Management Studioを使用してSQL Server 2008インスタンスに接続します。
  3. 下記のT-SQLコードを実行して、SQL Server 2008インスタンスでAdventure Worksデータベースを復元します。注:以下のコードに必要な調整を行ってください。

ディスクからファイルリストを復元する= 'D:\ Backups\AdventureWorks.BAK'

RESTORE DATABASE AdventureWorks FROM DISK = 'D:\ Backups\AdventureWorks.BAK' WITH MOVE 'AdventureWorks_Data' TO 'D:\ MSSQL\DATA\AdventureWorks_Data.MDF'、MOVE 'AdventureWorks_Log' TO 'D:\ MSSQL\DATA\AdventureWorks_Log。 LDF '、NORECOVERY

ログを復元するAdventureWorks FROM DISK = 'D:\ Backups\AdventureWorks.TRN' WITH RECOVERY。

互換性レベルの変更

データベースがSQL Server 2008にアップグレードされたら、以下のT-SQLコードを実行して、データベースの互換性を100(SQL 2008)に変更します。互換性レベルを変更した後、アプリケーションが問題なく動作することを確認する必要がある場合があります。

USE [マスター] GO ALTER DATABASE [AdventureWorks] SET COMPATIBILITY_LEVEL = 100 GO

データベースの論理的および物理的整合性を検証します

DBCC CHECKDB( 'AdventureWorks')GO

注:-SQL Server 2005のバックアップファイルをSQL Server 2008で復元する場合、同じバックアップファイルをSQL Server 2005で復元する場合よりも操作に時間がかかります。

http://support.Microsoft.com/kb/967178

ありがとう、
サム
2
Sagar Makhesana