C#中怎么建立Sql Server2000的数据库备份计划 最近在用C#,不知道怎么建立Sql Server2000的数据库备份计划,是否可以通过SQLDOM组件实现。另外,是否可以通过该组件修复数据库? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 干吗一定要编程呢,用sql server的job不是更好,定时备份。 怎么使用SQL Server的Job?? SQLDOM可以任意 操作数据库这个功能你直接用企业管理器,操作不是更好吗?为什么 要用C#呀 用这两句话就可以将数据库备份到本机的任何位置了。不过使用的时候有两点注意事项:1.在使用前目录必须建立好2.这个目录必须是一个完全共享的目录使用方法:参数说明:__DataBaseName__ 数据库名称LocalComputerNameOrIP 本机计算机名或者IP地址(当然,如果要是想要备份到其他电脑上,也可以指定其他的电脑)ShareDocument 共享的文件夹的名称FileName.bat 最后备份出来的文件名称 --用JOB吧!在Job中写如下语句,然后配置JOB定时执行时间!declare @strsql varchar(1000), --执行语句 @strdirname varchar(50),--建立文件夹名 @strcmd varchar(50), --执行命令名 @strsend varchar(1000), --邮件发送语句 @strdate varchar(50) --邮件发送日期set @strsql='backup database pubs to disk=''d:\backup\erp\' set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')set @strcmd='md d:\backup\erp\'set @strcmd=@strcmd+@strdirname--取得当天日期,格式为yyyy-mm-ddset @strdate=substring(convert(varchar(50),getdate(),120),1,10)set @strsend='sys_sendmail ''[email protected]'',''[email protected]'',''www'',''备份通知'','''+@strdate+'日数据库备份成功,感谢您的使用!'''exec master..xp_cmdshell @strcmdset @strsql=@strsql+@strdirname+'\SZ.dat''with init,nounload,noskip,noformat'print @strsqlexec (@strsql)backup database pubs to disk='d:\backup\erp\pubs.dat' with init,nounload,noskip,noformat--用FTP上传到ERP服务器exec master..xp_cmdshell 'ftp -s:"D:\backup\erp\ftp.txt"'--操作成功后发送邮件exec(@strsend)if @@error <> 0beginraiserror('数据库备份发生错误,请检查设置',16,1)set @strsend='sys_sendmail ''[email protected]'',''[email protected]'',''www'',''备份通知'','''+@strdate+'日数据库备份失败,请检查设置!'''exec (@strsend)end 需要引用SQLDEMO.dll,它是Microsoft SQL Server中的程序集有很多功能,包括backup,restore等public static void DbBackup() { SQLDMO.Backup oBackup = new SQLDMO.BackupClass(); SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass(); try { oSQLServer.LoginSecure = false; oSQLServer.Connect("localhost", "sa", "1234"); oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database; oBackup.Database = "Northwind"; oBackup.Files = @"d:\Northwind.bak"; oBackup.BackupSetName = "Northwind"; oBackup.BackupSetDescription = "数据备份"; oBackup.Initialize = true; oBackup.SQLBackup(oSQLServer); } catch { throw; } finally { oSQLServer.DisConnect(); } } 蝋: public static void DbRestore() { SQLDMO.Restore oRestore = new SQLDMO.RestoreClass(); SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass(); try { oSQLServer.LoginSecure = false; oSQLServer.Connect("localhost", "sa", "1234"); oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database; oRestore.Database = "Northwind"; oRestore.Files = @"d:\Northwind.bak"; oRestore.FileNumber = 1; oRestore.ReplaceDatabase = true; oRestore.SQLRestore(oSQLServer); } catch { throw; } finally { oSQLServer.DisConnect(); } } http://singlepine.cnblogs.com/articles/255410.html不知道是否你的要求! ShowInTaskbar无法实现隐藏窗口 WPF 如何实现类似游戏的地图效果 数字上下控件怎么清空内容了? wcf和nihibernate有什么作用? splitContainer 的主来吧,阿门 dataset修改数据问题 紧急求助!!关于TreeView 自己制作的控件绘画时发生严重错误,程序崩溃。 上次看caozhy写了个linq的资源管理器,好屌。 再问一个很菜的问题~~ 如何最快的查询XML文件内容?? 为什么这样不能将Excel关闭? 急啊!
这个功能你直接用企业管理器,操作不是更好吗?为什么 要用C#呀
1.在使用前目录必须建立好
2.这个目录必须是一个完全共享的目录使用方法:
参数说明:
__DataBaseName__ 数据库名称
LocalComputerNameOrIP 本机计算机名或者IP地址(当然,如果要是想要备份到其他电脑上,也可以指定其他的电脑)
ShareDocument 共享的文件夹的名称
FileName.bat 最后备份出来的文件名称
@strdirname varchar(50),--建立文件夹名
@strcmd varchar(50), --执行命令名
@strsend varchar(1000), --邮件发送语句
@strdate varchar(50) --邮件发送日期
set @strsql='backup database pubs to disk=''d:\backup\erp\'
set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')
set @strcmd='md d:\backup\erp\'
set @strcmd=@strcmd+@strdirname
--取得当天日期,格式为yyyy-mm-dd
set @strdate=substring(convert(varchar(50),getdate(),120),1,10)
set @strsend='sys_sendmail ''[email protected]'',''[email protected]'',''www'',''备份通知'','''+@strdate+'日数据库备份成功,感谢您的使用!'''
exec master..xp_cmdshell @strcmd
set @strsql=@strsql+@strdirname+'\SZ.dat''with init,nounload,noskip,noformat'
print @strsql
exec (@strsql)
backup database pubs to disk='d:\backup\erp\pubs.dat' with init,nounload,noskip,noformat
--用FTP上传到ERP服务器
exec master..xp_cmdshell 'ftp -s:"D:\backup\erp\ftp.txt"'
--操作成功后发送邮件
exec(@strsend)
if @@error <> 0
begin
raiserror('数据库备份发生错误,请检查设置',16,1)
set @strsend='sys_sendmail ''[email protected]'',''[email protected]'',''www'',''备份通知'','''+@strdate+'日数据库备份失败,请检查设置!'''
exec (@strsend)
end
有很多功能,包括backup,restore等
public static void DbBackup()
{
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect("localhost", "sa", "1234");
oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database = "Northwind";
oBackup.Files = @"d:\Northwind.bak";
oBackup.BackupSetName = "Northwind";
oBackup.BackupSetDescription = "数据备份";
oBackup.Initialize = true;
oBackup.SQLBackup(oSQLServer);
}
catch
{
throw;
}
finally
{
oSQLServer.DisConnect();
}
}
蝋:
public static void DbRestore()
{
SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect("localhost", "sa", "1234");
oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database = "Northwind";
oRestore.Files = @"d:\Northwind.bak";
oRestore.FileNumber = 1;
oRestore.ReplaceDatabase = true;
oRestore.SQLRestore(oSQLServer);
}
catch
{
throw;
}
finally
{
oSQLServer.DisConnect();
}
}
不知道是否你的要求!