最近在用C#,不知道怎么建立Sql Server2000的数据库备份计划,是否可以通过SQLDOM组件实现。另外,是否可以通过该组件修复数据库?

解决方案 »

  1.   

    干吗一定要编程呢,用sql server的job不是更好,定时备份。
      

  2.   

    怎么使用SQL Server的Job??
      

  3.   

    SQLDOM可以任意 操作数据库
    这个功能你直接用企业管理器,操作不是更好吗?为什么 要用C#呀
      

  4.   

    用这两句话就可以将数据库备份到本机的任何位置了。不过使用的时候有两点注意事项:
    1.在使用前目录必须建立好
    2.这个目录必须是一个完全共享的目录使用方法:
    参数说明:
    __DataBaseName__     数据库名称
    LocalComputerNameOrIP    本机计算机名或者IP地址(当然,如果要是想要备份到其他电脑上,也可以指定其他的电脑)
    ShareDocument     共享的文件夹的名称
    FileName.bat     最后备份出来的文件名称
      

  5.   

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

  6.   

    需要引用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(); 
       } 
     } 
      

  7.   

    http://singlepine.cnblogs.com/articles/255410.html
    不知道是否你的要求!