• 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

  • 相关阅读:
    mysql 开发基础系列1 表查询操作
    sql server 索引阐述系列三 表的堆组织
    sql server 索引阐述系列二 索引存储结构
    sql server 索引阐述系列一索引概述
    PyCharm 安装 pip
    Python 简单分页思路
    mysql 5.7 线程阻塞处理
    Python 练习: 简单角色游戏程序
    Docker 修改存储路径
    使用普通用户执行 docker
  • 原文地址:https://www.cnblogs.com/zhang9418hn/p/2304886.html
Copyright © 2020-2023  润新知