广

MSSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    SqlServer2005 自动备份并存储另一电脑上的存储过程函数

    2018-05-03 14:17:03 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    代码如下:

    --Full BackUp
    --Use Master
    CREATE proc [dbo].[bakup_DataBase]
    as
    Declare @strPsw varchar(50)
    Declare @strUsr varchar(50)
    Declare @strCmdShell varchar(300)
    Declare @strDataBaseName varchar(20)
    Declare @FullFileName Varchar(200)
    Declare @FileFlag varchar(50)
    Declare @ToFileName varchar(200)
    Declare @SQLStr varchar(500)
    Declare @SQLStr2 varchar(500)
    Declare @FlagDel varchar(20)
    Set
    @FileFlag=replace(replace(convert(char(20),getdate(),20),':','') ,' ','-') --备份的文件命名规则:日期-时间.bak
    Set @strUsr='SOFMTI_TD/administrator' --需填写域名/用户名(目标机器的Windows 登陆名)
    Set @strPsw='sofmit'--需填写Windows 登陆密码(如:Soondy)
    Set @strCmdShell= 'net use //192.168.0.22/c$ ' + @strPsw + ' /user:' +@strUsr --需填写IP(目标机器的IP 地址,如:192.168.2.178)
    Set @strDataBaseName='LilianDB'--填写数据库名称(如:Soondy)
    Set @FullFileName='E:/SqlServer自动备份文件/'+'LilianDB_backup_'+@FileFlag+'.BAK'
    --需填写本地备份临时文件的目录,因为需要先备份到本地再 copy 到目标机器(如:保存目录为 E:/SoondyTest/)
    Set @ToFileName='//192.168.0.22/D$/OneCardBak/' --需填写IP(目标机器的IP 地址)以及保存的目录(如://192.168.2.178/c$/Test/)
    Set @FlagDel='False'--填写True 表示删除本地的备份临时文件,填写False 或其他字符表示保留该文件
    Set @SQLStr='copy '+@FullFileName+' '+@ToFileName
    Set @SQLStr2='del ' +@FullFileName
    BackUp DataBase @strDataBaseName To Disk= @FullFileName with init
    exec master..xp_cmdshell @strCmdShell--尝试连接到目标机器
    exec Master..xp_cmdshell @SQLStr --拷贝到目标机器上
    if (@FlagDel ='True') exec master.. xp_cmdshell @SQLStr2--删除本地的备份临时文件

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告