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

  • 相关阅读:
    手机号中间几位用****代替
    正则小数点保留后两位;只允许汉字字母1-20位;10位数纯数字;正整数
    正则1-30之间的数值,支持1位小数
    给ul => li 中的最后一个li不加伪类after; 或者给最后一个和第一个不加伪类
    ajax请求, 前后端, 代码示例
    最简单的操作 jetty IDEA 【debug】热加载
    maven win 安装 与 IntelliJ IDEA 配置Maven【2018-11-14最新最有姿势攻略】
    mysql 在 win 安装 最全攻略(附转载的乱码终极解决方案)以及解决data too long for column 'name' at row 1, 一种可能就是因为编码一致性问题.
    SpringBoot无法书写主启动类的情况之一
    扯淡设计模式2:java,模板模式,
  • 原文地址:https://www.cnblogs.com/joey0210/p/2020020.html
Copyright © 2011-2022 走看看