通过 SQL-Script / Error at '+' 恢复

Restore by SQL-Script / Error at '+'

我目前正在执行完整恢复 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 '+'.

试试这个方法

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