2

如何将数据库备份和还原FileTable同一个SQL 服务器实例;FILESTREAM启用;但有不同的名字?无论我是通过 GUI 还是编写脚本来执行此操作,我都被困在同一个地方:还原到新的、不存在的数据库失败,并显示“无法获得对数据库的独占访问权”。

问题:我在备份中有 FileTables,看起来它试图通过现有数据库的文件恢复文件。

这是我用来进行恢复的脚本:

RESTORE DATABASE [MyDatabase_Test]
FROM  DISK = N'D:\Backup\MyDatabase.bak' 
WITH  FILE = 1,  
MOVE N'MyDatabase' TO N'D:\Data\MyDatabase_Test.mdf',  
MOVE N'MyDatabase_log' TO N'E:\Data\MyDatabase_Test_log.ldf',  
MOVE N'MyDatabase_Docs' TO N'D:\Data\MyDatabase_Test_Docs',  NOUNLOAD,  STATS = 5
-- BUT now my database has a FileTable called 'Documents' which is setup as \\DBSERVER\MyDatabase\Documents.
-- How do I specify that my files should go to \\DBSERVER\MyDatabase_Test\Documents during the restore?

仅当它与正在运行的 SQL 实例相同时才会中断。我的猜测是,我需要指定DIRECTORY_NAMEFILESTREAM恢复到的数据库的...但还没有弄清楚如何去做(或者我是否走在正确的轨道上)

4

0 回答 0