如何将数据库备份和还原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_NAME
要FILESTREAM
恢复到的数据库的...但还没有弄清楚如何去做(或者我是否走在正确的轨道上)