如何使用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
...但是还没弄明白该怎么做(或者我是不是在正确的轨道上)