zoukankan      html  css  js  c++  java
  • SqlServer 远程备份

    CREATE PROC bakup_Folder_Pro
        -- 备份本地文件夹到远程计算机
        -- 包括备份数据库
    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            =    'DB_ESPC'
        SET    @fileTitle        =    REPLACE(REPLACE(REPLACE(CONVERT(CHAR(20),GETDATE(),120),':',''),' ',''),'-','')
        SET    @folder            =    @fileTitle    --  文件夹自动生成
        SET    @fileName        =    @fileTitle    +    '.bak'
        SET    @localFolderPath    =    'E:\YY_SQJZGL'
        SET    @localBckPath        =    @localFolderPath+'\bck\'+@fileName
        SET    @netPath        =    '\\172.19.169.136\sqjzxxglxt'
        SET    @netFolderPath        =    @netPath +'\'+@fileTitle
        SET    @netUserName        =    '172.19.169.136\yy'
        SET    @netUserPwd        =    '119041'
        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

    GO

  • 相关阅读:
    C语言II博客作业01
    vscode使用相关配置
    Ubuntu配置教程
    编译原理复习
    误差与过拟合
    机器学习分类
    SQL语句使用详解
    CRC模2除法
    数据链路层之差错控制(检错编码和纠错编码)->(奇偶校验码、CRC循环冗余码、海明码)
    封装成帧、帧定界、帧同步、透明传输(字符计数法、字符串的首尾填充法、零比特填充的首尾标志法、违规编码法)
  • 原文地址:https://www.cnblogs.com/joey0210/p/2020020.html
Copyright © 2011-2022 走看看