我目前正在处理一个完整的恢复SQL脚本,我有以下问题:恢复时你必须决定数据库的mdf,ndf和ldf - 文件应该存储在哪里。为此,我使用了WITH MOVE
。如果我自己插入路径,它就可以正常工作。
当我开始使用字符串变量而不是实际路径(为了更容易使用)时出现问题。它说+
附近有问题,但我无法弄清楚它是什么。所以我的问题是,它是什么?
RESTORE DATABASE Test_EMPI --name of the database
FROM DISK = @EMPIBackupFileLocation --works just fine
WITH MOVE '5_47_4403_Official_GER_EMPI' TO @RestoreFileLocation + '\' + @EMPIName + '1.mdf', --doesnt work
MOVE 'MV_TABLES' TO 'C:\Program Files\....\DATA\Test_EMPI2.NDF', --also works
...........
执行我的脚本我收到错误:Incorrect syntax near '+'.
答案 0 :(得分:1)
试试这种方式
DECLARE @destination VARCHAR(1000) = @RestoreFileLocation + '\' + @EMPIName + '1.mdf'
RESTORE DATABASE Test_EMPI --name of the database
FROM DISK = @EMPIBackupFileLocation --works just fine
WITH MOVE '5_47_4403_Official_GER_EMPI' TO @destination,
MOVE 'MV_TABLES' TO 'C:\Program Files\....\DATA\Test_EMPI2.NDF', --also works