Hallo Zusammen,
Ich habe folgenden Problem.
Ich möchte eine Datenbank (Backupdatei .bak Datei) von einem
SQL Server 2008 R2 Express nach
SQL 2017 Express einspielen.
Dabei muss ich nun mit move den Pfade für den 2017er Server Ordner angeben.
Dabei scheitere ich momentan an die Syntax.
Mein alter Code, ohne Pfadangebe "MOVE TO" :
Code:
...
with ADOQ1 do
begin
ProgressBar2.Position := 50;
SQL.clear;
SQL.Text := 'restore database :DBName from '
+'Disk = :BakPfadName ';
Parameters.ParamByName('BakPfadName').Value := sTemp;
Parameters.ParamByName('DBName').Value := sDBName;
ExecSQL();
end; (*with*)
…
Über das MM Studio funktioniert es:
Code:
RESTORE DATABASE [db_Name] FILE = N'db_Name' FROM DISK = N'E:\Pfad des Backups\db_Name.bak' WITH FILE = 1, MOVE N'db_Name' TO N'C:\Program Files\Microsoft
SQL Server\MSSQL14.SQLEXPRESS\
MSSQL\DATA\db_Name.mdf', MOVE N'db_Name_log' TO N'C:\Program Files\Microsoft
SQL Server\MSSQL14.SQLEXPRESS\
MSSQL\DATA\db_Name.LDF', NOUNLOAD, REPLACE
Wie muss die Syntax aussehen, dass ich die Pfade, MDF und LDF als Variable / Parameter übergeben kann ?
Beispielcode wäre schön.
Vielen Dank.