2013-04-26 57 views
0

我嘗試從Delphi(XE2)代碼創建SQL Server數據庫快照(MSSQL EXPRESS 2012 SP#1)。該代碼是沒有任何問題的執行,但實際上沒有快照文件被創建在SQL Express 2012中執行SQL快照功能

代碼例如:

.... 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 

任何好主意,這裏有什麼問題?

+0

你可以使用Connection.Execute(SQL);是否在MSSMS中工作? Express Edition不支持數據庫快照。 – bummi 2013-04-26 07:47:38

回答