zoukankan      html  css  js  c++  java
  • sqlserver数据库远程备份

    Create PROC SP_bakup_DataBase
    -- 备份本地文件夹到远程计算机
    -- 包括备份数据库
    AS
    DECLARE @dbName VARCHAR(50) --需备份的数据名称
    DECLARE @fileTitle VARCHAR(200) -- 文件标题
    DECLARE @folder VARCHAR(200) -- 文件夹名称
    DECLARE @fileName VARCHAR(200) -- 备份文件名
    DECLARE @localFolderPath VARCHAR(200) -- 本地文件夹路径
    DECLARE @localBckPath VARCHAR(200) -- 本地备份文件夹路径
    DECLARE @netPath VARCHAR(200) -- 远程文件夹路径
    DECLARE @netFolderPath VARCHAR(200) -- 新建的远程文件夹路径
    DECLARE @netUserName VARCHAR(200) -- 远程计算机用户名
    DECLARE @netUserPwd VARCHAR(200) -- 远程计算机密码
    DECLARE @netSqlStr VARCHAR(500) -- 映射字符串
    DECLARE @copySqlStr VARCHAR(500) -- copy到远程计算机字符串
    DECLARE @delSqlStr VARCHAR(500) -- del本地备份文件字符串
    DECLARE @flag VARCHAR(50) -- 标记,是否删除本机文件

    SET @dbName = 'test'
    SET @fileTitle = REPLACE(REPLACE(REPLACE(CONVERT(CHAR(20),GETDATE(),120),':',''),' ',''),'-','')
    SET @folder = @fileTitle -- 文件夹自动生成
    SET @fileName = @fileTitle + '.bak'
    SET @localFolderPath = 'E:\beifen'
    SET @localBckPath = @localFolderPath+'\'+@fileName
    SET @netPath = '\\192.168.1.202\web'
    SET @netFolderPath = @netPath +'\'+'beifen'
    SET @netUserName = '192.168.1.202\administrator'
    SET @netUserPwd = '1234'
    SET @netSqlStr = 'net use ' + @netPath + ' "' + @netUserPwd + '" /user:' + @netUserName
    SET @copySqlStr = 'XCOPY ' + @localFolderPath + ' /i/e ' + @netFolderPath
    SET @delSqlStr = 'DEL ' + @localBckPath
    SET @flag = 'True'

    -- 将数据库备份到本机目录下,WITH INIT 表示覆盖相同文件
    BACKUP DATABASE @dbName TO DISK=@localBckPath WITH INIT

    -- 映射
    EXEC master..xp_cmdshell @netSqlStr

    -- 将本机文件夹copy到远程计算机
    EXEC master..xp_cmdshell @copySqlStr

    -- 删除映射
    EXEC master..xp_cmdshell 'net use * /del /y'

    -- 选择是否删除本机文件
    IF(@flag = 'True')
    EXEC master..xp_cmdshell @delSqlStr

    declare @olddate datetime
    select @olddate=getdate()-5--删除5天前的备份数据

    execute master.dbo.xp_delete_file 0,N'E:beifen/',N'bak',@olddate,1
    --xp_delete_file 只能删除本地的数据而删除不了远程的数据。哪位大侠知道怎么删除远程数据麻烦请留言

    GO

  • 相关阅读:
    DLL注入实践
    程序编译保护机制
    加密配置文件总结
    PCL点云配准(3)
    PCL点云分割(3)
    ubuntu Ros环境halcon的一个程序
    opencv2/nonfree/nonfree.hpp:没有那个文件或目录
    深度图像计算三维点云
    利用深度学习的点云语义分割(一)
    3D 特征点概述(2)
  • 原文地址:https://www.cnblogs.com/zhang9418hn/p/2304886.html
Copyright © 2011-2022 走看看