web-dev-qa-db-ja.com

SQL Server 2008データベースをSQL Server 2014に復元しますか?

スケジュールに基づいて毎日復元する必要があるバックアップファイルがあります。

ただし、バックアップファイルはSQL Server 2008からのものであり、復元先はSQL Server 2014です。また、バックアップファイルはクロスネットワークからのものです。ローカル共有フォルダーにコピーして復元しようとしています。

私が使用したコード:

USE [master]
RESTORE DATABASE MyDB FROM
DISK = N'\\Mylocation\DBRestores\MyBackupFile'
WITH
    FILE = 1, -- 1 = .bak, 2 = .trn type backup
    MOVE N'MyDB_data' TO N'S:\MSSQLsql\mssql\DATA\MyDB.mdf',
    MOVE N'MyDB_log' TO N'L:\MSSQLsql\mssql\DATA\MyDB_log.ldf',
    NOUNLOAD,
    STATS = 5    
go

エラーが出ます

メッセージ3241、レベル16、状態0、行3
デバイス '\ Mylocation\DBRestores\MyBackupFile'のメディアファミリーの形式が正しくありません。
SQL Serverはこのメディアファミリを処理できません。

メッセージ3013、レベル16、状態1、行3
RESTORE DATABASEが異常終了しています。

何か助け?ありがとう。

2
user3583912

SQL Serverユーザーアカウントが「\ Mylocation\DBRestores \」(ファイル共有とファイルシステムのセキュリティ権限)から読み取れるかどうかを確認します。

実際に機能することをテストするには、バックアップをローカルサーバーにコピーして、そこから実行します。

1
JorSol

SQLのこの部分は正しくありません

DISK = N '\ Mylocation\DBRestores\MyBackupFile'

それは例えば

DISK = N '\ Mylocation\DBRestores\MyBackupFile.bak'

ディレクトリを提供していますが、バックアップファイルの完全な仕様を提供する必要があります。

0
Richard Brown

あなたの環境では次のようなものが必要です:

USE [master];

RESTORE DATABASE MyDB FROM
DISK = N'\\Mylocation\DBRestores\MyBackupFile.bak'
WITH
    FILE = 1,
    MOVE N'MyDB_data' TO N'S:\MSSQLsql\mssql\DATA\MyDB.mdf',
    MOVE N'MyDB_log' TO N'L:\MSSQLsql\mssql\DATA\MyDB_log.ldf',
    NOUNLOAD, REPLACE, RECOVERY, 
    STATS = 5
;
GO

それがうまくいくことを願っています。

0
DAVID