通过引用COM组件 Microsoft SQLDMO Library 组件实现。
比如SQLServer服务器为SQLTest,拥护名sa,密码为空,数据库为DBTest。
则备份到服务器D:\test.bak文件,C#代码如下。
SQLDMO.SQLServerClass sqldmo=new SQLDMO.SQLServerClass();//创建SQLServerClass类对象sqldmo
sqldmo.Connect("SQLTest","sa",""); //调用对象Connect方法连接服务器
SQLDMO.BackupClass sqlbakcup=new SQLDMO.BackupClass(); //创建BackupClass备份对象
sqlbakcup.Database="DBTest"; //设置备份对象的Database属性
sqlbakcup.Files="D:\\test.bak"; //备份文件名
sqlbakcup.SQLBackup(sqldmo); //进行备份
至此,整个备份已经成功。
比如SQLServer服务器为SQLTest,拥护名sa,密码为空,数据库为DBTest。
则备份到服务器D:\test.bak文件,C#代码如下。
SQLDMO.SQLServerClass sqldmo=new SQLDMO.SQLServerClass();//创建SQLServerClass类对象sqldmo
sqldmo.Connect("SQLTest","sa",""); //调用对象Connect方法连接服务器
SQLDMO.BackupClass sqlbakcup=new SQLDMO.BackupClass(); //创建BackupClass备份对象
sqlbakcup.Database="DBTest"; //设置备份对象的Database属性
sqlbakcup.Files="D:\\test.bak"; //备份文件名
sqlbakcup.SQLBackup(sqldmo); //进行备份
至此,整个备份已经成功。
然后在SqlCommannd中执行就可以例如:
string sql = "BACKUP DATABASE NorthWind TO 'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_2.dat'"
SqlConnection conn = ...
SqlCommand command = new SqlCommand( sql,conn );
command.ExecuteNonQuery();
AS
BACKUP DATABASE NorthWind TO 'c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_2.dat'
GOCREATE PROCEDURE PRestore
AS
RESTORE DATABASE NorthWind FROM DISK ='c:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\MyNwind_2.dat'
GO
说有语法错误,哪里有问题?