2017-08-03 7 views
2

現在、完全なリストアSQLスクリプトを作成中です。次の問題があります。リストア中に、データベースのmdf、ndf、およびldfファイルの場所を決定する必要があります。保存する。これを達成するために私はWITH MOVEを使用します。私が自分でパスを挿入するとうまくいきます。'+'でSQLスクリプト/エラーで復元する

実際のパスの代わりに(より簡単に)文字列変数を使用すると問題が発生します。 +の近くに何かが間違っていると言われますが、私はそれが何であるか把握できません。だから私の質問は、それは何ですか?私のスクリプトを実行する

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

は、このよう

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 
+0

を試してみて、それがこのように動作し、あなたの迅速な応答をありがとう! –

関連する問題