zoukankan      html  css  js  c++  java
  • MSSQL Server2012备份所有数据库到网络共享盘上面,并自动删除几天前的备份。。

    1备份当前MSQL所有数据库

    --要备份到哪一服务的IP网络位置,要提前打开文件夹共享.这里还要输入用户名和密码,下面这一行是建立共享
    
    exec master..xp_cmdshell 'net use \192.168.8.108DBBak Password /user:192.168.1.108administrator',NO_OUTPUT
    
    go
    
    declare @s nvarchar(200),@del nvarchar(200)
    select @s='',@del=''
    
    --自动备份,并删除4天前的备份。可以随意改数字.
    declare datebak cursor for
    select 
    [bak]='backup database '+quotename(Name)+' to disk =''\192.168.8.108DBBak'+Name+'('+convert(varchar(10),getdate(),120)+')'+'.bak'' with init',
    [del]='exec master..xp_cmdshell '' del \192.168.8.108DBBak'+Name+'('+convert(varchar(10),getdate()-4,120)+')'+'.bak'', no_output' 
    from master..sysdatabases where dbid>4 --不备份系统数据库
    open datebak
    
    
    fetch next from datebak into @s,@del
    while @@fetch_status=0
    begin
    exec (@del)
    exec(@s)
    fetch next from datebak into @s,@del
    end
    close datebak
    deallocate datebak
    go
    
    --删除共享链接
    
    exec master..xp_cmdshell 'net use \192.168.8.108DBBak/delete'
    
    go

    2.备份指定的几个数据到网络盘

    declare @DBName nvarchar(max)
    declare @BakName nvarchar(max)
    
    --建立(打开)共享目录
    exec master..xp_cmdshell 'net use \192.168.1.100MSSQLDBBak  Password /user:192.168.1.100administrator'
    
    Declare DBCursor CURSOR 
    FORWARD_ONLY READ_ONLY
    --要删除的指定数据库名称在下面用union select拼接
    For ( select '[DB1]' as DBName
    union select '[DB2]' as DBName ) open DBCursor fetch next from DBCursor into @DBName while (@@fetch_status=0) begin --print @DBName --select @DBName='[LFBMP.PO]' --指定保存路径本地目录 --select @BakName='D:MSSQLDBBakBC_'+REPLACE(@DBName,'.','_')+Convert(char(10),getdate(),120)+'.bak'
       --指定保存到网络共享目录
    select @BakName='\192.168.1.100MSSQLDBBak'+REPLACE(@DBName,'.','_')+Convert(char(10),getdate(),120)+'.bak' declare @BakSQL nvarchar(max) --select @BakSQL='Backup Database '+@DBName+' To disk='''+@BakName+'''' select @BakSQL='Backup Database '+@DBName+' To disk='''+@BakName+''' with init,nounload ' print @BakSQL exec (@BakSQL) fetch next from DBCursor into @DBName end close DBCursor deallocate DBCursor --删除(关闭)共享目录 exec master..xp_cmdshell 'net use \192.168.1.100MSSQLDBBak /delete' --修改密码,重新执行以下代码 --exec master..xp_cmdshell 'net use \192.168.1.100MSSQLDBBak Password /user:192.168.1.100administrator' --删除(关闭)共享目录 --exec master..xp_cmdshell 'net use \192.168.1.100R910MSSQLDBBak /delete'
  • 相关阅读:
    hihoCoder #1176 : 欧拉路·一 (简单)
    228 Summary Ranges 汇总区间
    227 Basic Calculator II 基本计算器II
    226 Invert Binary Tree 翻转二叉树
    225 Implement Stack using Queues 队列实现栈
    224 Basic Calculator 基本计算器
    223 Rectangle Area 矩形面积
    222 Count Complete Tree Nodes 完全二叉树的节点个数
    221 Maximal Square 最大正方形
    220 Contains Duplicate III 存在重复 III
  • 原文地址:https://www.cnblogs.com/q149072205/p/9068438.html
Copyright © 2011-2022 走看看