• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Butterfly
博客园    首页    新随笔    联系   管理    订阅  订阅
将本地数据库备份到服务器上(存储过程)
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

 

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

posted on 2009-01-06 10:38  butterfly  阅读(1090)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3