在'+'处按SQL脚本/错误还原

时间:2017-08-03 14:04:58

标签: string syntax-error sql-server-2014 database-restore

我目前正在处理一个完整的恢复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 '+'.

1 个答案:

答案 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