代码之家  ›  专栏  ›  技术社区  ›  J.Doe

按SQL脚本还原/在“+”处出错

  •  2
  • J.Doe  · 技术社区  · 7 年前

    我目前正在开发一个完整的恢复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 回复  |  直到 7 年前
        1
  •  1
  •   Pரதீப்    7 年前

    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