zoukankan      html  css  js  c++  java
  • 用作业实现自动备份MSSQL数据库到远程服务器

    --此代码实现SQL数据库远程备份,放到作业里面执行可以自动备份数据库、自动删除@keepNDays天前备份。
    --此代码将本地所有的用户数据库备份到共享目录“\\backupServerIp\ShareName\数据库备份”下。
    --并删除天前的备份文件。要备份成功必须能够对共享目录有操作权限!

    sp_configure 'xp_cmdshell',1
    GO
    RECONFIGURE
    GO

    --创建映射
    execmaster..xp_cmdshell 'net use T: \\backupServerIp\ShareName "password" /user:uonun',NO_OUTPUT
    GO

    declare@keepNDays int,@s nvarchar(max),@del nvarchar(max)
    select @keepNDays = 30,@backupSql='',@delSql=''

    select
      
    @backupSql=@backupSql+
            char(13)+'DBCC SHRINKDATABASE(N'''+Name+''', 10, TRUNCATEONLY)'+    --收缩数据库
           
    char(13)+'backup database  '+quotename(Name)+'  to disk =''T:\数据库备份\'+Name+'_'+convert(varchar(8),getdate(),112)+'.bak''  with init',    --备份数据库
       
    @delSql=@delSql+
            char(13)+'exec master..xp_cmdshell '' del T:\数据库备份\'+Name+'_'+convert(varchar(8),getdate()-@keepNDays,112)+'.bak'', NO_OUTPUT'   --删除过期备份

    frommaster..sysdatabases wheredbid>6 order bydbid asc   --不备份系统数据库(sql 2008),如果是Sql 2000,则为“dbid>6”。

    exec(@del)
    exec(@s)
    GO

    --删除映射
    execmaster..xp_cmdshell 'net use T: /delete', NO_OUTPUT
    GO

    sp_configure 'xp_cmdshell',0
    GO
    RECONFIGURE
    GO

  • 相关阅读:
    VC常用代码
    richedit
    vc++ 2005 发布程序
    管道应用之捕获控制台程序信息
    黑客基础知识编程(转)
    Get All IE Info from win32 api
    vc 界面编程常用方法(http://blog.emuch.net/244485/spacelistblogitemtypeid2708.html)
    使用ADO调用存储过程
    在C#中如何实现文件夹的复制(转)
    C语言开发病毒程序(转)
  • 原文地址:https://www.cnblogs.com/uonun/p/1736888.html
Copyright © 2011-2022 走看看