Я пытаюсь создать моментальный снимок базы данных SQL Server (MSSQL EXPRESS 2012 SP # 1) из кода Delphi (XE2). Код выполняется без каких-либо проблем, но на самом деле ни один файл снимка не создаетсяРеализация функции моментального снимка SQL в SQL Express 2012
Пример кода:
.... LoadStringfromFile (sqlFilename, SqlString);
sqlString := StringReplace(sqlString, 'db_snapshot_name', SnapshotName, []);
sqlString := StringReplace(sqlString, 'physical_file_name', SnapshotFolder, []);
sqlString := StringReplace(sqlString, 'logical_file_name', DatabaseName, []);
sqlString := StringReplace(sqlString, 'source_database_name', DatabaseName, []);
Memo1.Lines.Add(sqlString); // result see below ....
ExecuteSQLQuery(sqlString);
SSStatusBar.SimpleText := ' run sql file done ! ';
end;
procedure TSnapShotForm.ExecuteSQLQuery(const sqlValue: string);
var
aSQLQuery: .....;
begin
///
///
aSQLQuery:=.......Create(self);
aSQLQuery.Active := false;
aSQLQuery.Connection := aConnection;
aSQLQuery.SQL.Add(sqlValue) ;
aSQLQuery.Active := true;
aSQLQuery.Free;
end;
Заявление SQL, используемый в настоящем тексте идет как этот
CREATE DATABASE test_ss
ON ( NAME = 'test_evaluation',
FILENAME = 'd:\test_ss')
AS SNAPSHOT OF test_evaluation
Любая хорошая идея, что здесь не так?
Вы можете использовать Connection.Execute (SQL); Работает ли в MSSMS? Снимок базы данных не поддерживается в Express Edition. – bummi