web-dev-qa-db-ja.com

ファイルストリームを持つデータベースのバックアップ/復元

最近Filestreamデータを追加したSQL DBがあります。これで、QAサーバーへの毎日のバックアップ/復元ができました。Filestreamデータを追加したため、失敗し始めました。したがって、「restore」ステートメントを変更して、「with move」を含めました。

RESTORE DATABASE MyDb 
FROM DISK = 'c:\somepath\mydb.bak'
WITH RECOVERY, REPLACE,
MOVE 'MyDb' TO 'f:\sql\MyDb.mdf',
MOVE 'MyDb_Log' TO 'f:\sql\MyBb_log.ldf',
MOVE 'MyDb_Filestream' TO 'f:\sql\MyDb_FS', NOUNLOAD, STATS = 10;

しかし、これは次のエラーで失敗します:

ファイル 'MyDb_Filestream'を 'f:\ sql\MyDb_FS'に復元できません。 WITH MOVEを使用して、ファイルの有効な場所を特定します。

私はこれを解決するためにグーグルで検索しました。 この回答 は、3つの個別のRESTORE DATABASEステートメントが必要であると述べていますが、それらが何であるかを明記していません。受け入れられた答え here は、Filestreamフォルダー全体を手動でコピーする必要があることを示しています。そしていずれにしても、それはプロセスが何であるかを明確にしません。

誰かが私に馬鹿防止の段階的な手順で、ファイルストリームを含むDBをバックアップし、それを別のサーバーにコピーしてそこに復元する方法を詳しく教えていただけますか?

ありがとう!

2
Shaul Behr

謎が解けたと思います。ドキュメントには、SQL Serverアカウントにはfilestreamフォルダーへのフルアクセスが必要であるとしか書かれていませんが、メインのDATAフォルダーへのアクセス権を持つユーザーを確認したところ、SYSTEMアカウントにもアクセス権があることがわかりました。 FSフォルダーに対する完全な権限をSYSTEMユーザーに付与しましたが、このエラーは発生しなくなりました。

2
Shaul Behr