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

  • 相关阅读:
    Raid卡在Write back 与Write through 时的性能差异
    mysql 的outfile以及infile 语法简单备份恢复表
    @SneakyThrows
    java中的mmap实现--转
    以ATT&CK为例构建网络安全知识图
    横向移动攻击点与识别
    Tomcat开启JMX监控
    mysql serverTimezone
    自增还是UUID?数据库主键的类型选择,为啥不能用uuid做MySQL的主键?
    数据库:查询结果中增加数据库不存在的字段的方法
  • 原文地址:https://www.cnblogs.com/joey0210/p/2020020.html
Copyright © 2011-2022 走看看