将本地数据库备份到服务器上(存储过程)

ContractedBlock.gif ExpandedBlockStart.gif Code
create Procedure BackupProc
    @DBName varchar(
50),    --要备份的的数据库
    @FilePath varchar(
50),  --文件存放服务器,如不为本地备份,则存放服务器地址及其共享文件夹名,如'\\192.168.0.39\文件名'
    @LogoUser varchar(
50),  --文件服务器的用户名,服务器创建的具有对共享文件夹所有权限的用户名
    @LogePWD varchar(
50)    --文件服务器的密码
as
        
--Step 1   BackUp
    DECLARE @DBPath varchar(
100)
    DECLARE @copyPath varchar(
200)

    SET @DBPath 
= 'c:\'+ @DBName + convert(varchar(10),getdate(),120+ '.bak'
    backup database @DBName to disk 
= @DBPath

    
--Step 2   CopyFile
    DECLARE @cmdCopy varchar(
500)     --拷贝语句
    DECLARE @cmdLogo varchar(
500)     --建立session
    DECLARE @cmdLogoOut varchar(
500)

    
set @cmdCopy='copy c:\'+ @DBName+ convert(varchar(10),getdate(),120+ '.bak '
            
+ @FilePath +'\'+@DBName 

    
set @cmdLogo='net use '+ @FilePath +' '+ @LogePWD +' /user:' + 'Administrator\'+ 

@LogoUser
    
set @cmdLogoOut='net use '+ @FilePath +' /delete'
    exec master..xp_cmdshell @cmdLogo
    exec master..xp_cmdshell @cmdCopy
    exec master..xp_cmdshell @cmdLogoOut

    
--Step 3   Delete Old File
    declare @delFile varchar(
100)
    declare @cmdDel varchar(
200)
    
set @delFile = @DBName+convert(varchar(10),getdate(),120)+'.bak' 

    
set @cmdDel='del c:\'+@delFile  --删除本地备份的数据库
    exec master..xp_cmdshell @cmdDel

附创建服务器的共享文件夹步骤:

  1.机器A,B创建一个同名的windows用户,用户组设置为administrators,并设置相同的密码,做为备份文件夹文件夹的有效访问用户,操作:  
  我的电脑  
  --控制面板  
  --管理工具  
  --计算机管理  
  --用户和组  
  --右键用户  
  --新建用户  
  --建立一个隶属于administrator组的登陆windows的用户  
   
  2.在B机器器上,新建一个共享目录,做为备份文件的存放目录,操作:  
  我的电脑--D:\   新建一个目录,名为:   BAK  
  --右键这个新建的目录  
  --属性--共享  
  --选择"共享该文件夹"  
  --通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限  
  --确定  
   
   
  3.设置   MSSQLSERVER   及   SQLSERVERAGENT   服务的启动用户  
  开始--程序--管理工具--服务  
  --右键   MSSQLSERVER  
  --属性--登陆--选择"此账户"  
  --输入或者选择第一步中创建的windows登录用户名  
  --"密码"中输入该用户的密码  
  --确定  
  --同样的方法设置   SQLSERVERAGENT

 

以上的文字都来自其他帖子,本人只做了稍微的修改和整合,希望对大家有用!

转载于:https://www.cnblogs.com/butterfly/archive/2009/01/06/1370078.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值