ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sql server 备份数据库到局域网内另一电脑上

2021-12-30 18:02:00  阅读:280  来源: 互联网

标签:set cmdshell -- 局域网 dbback sql 服务器 server


核心思想:

  1.备份数据库到本地磁盘目录

  2.创建与目标服务器的链接

  3.拷贝备份文件到目标服务器

操作步骤:

  1.目标服务器IP:192.168.1.78,计算机名称DESKTOP-V0QGHSD,设置E盘下dbback文件夹为共享文件夹,设置成功后可在计算机管理-->系统工具-->共享文件夹-->共享中查看

 

 

   2.本地服务器存放备份文件路径为E盘dbback文件夹,创建存储过程

-- =============================================
-- Project:        TCX_32107
-- Author:        taozi
-- Create date: 2021年12月30日
-- Description:    备份数据库到本地及局域网内另一台电脑中,同时删除本地7天前备份的文件
-- Demo:        使用方法:在每个现场的数据库服务器上建立一个作业,调用此存储过程,但需修改此过程内的一些参数
-- =============================================
ALTER PROCEDURE [dbo].[P_Sys_BackUpAndClearLog2]
    
AS
BEGIN
    SET NOCOUNT ON;

    declare @filepath nvarchar(50),@filename nvarchar(100),@filename_old nvarchar(100)--本地备份路径、备份文件名、要删除的文件名
    declare @cmdshell nvarchar(100)
    declare @copy_sql nvarchar(100),@del_sql nvarchar(100)
    set @filepath = 'E:\dbback\';
    set @filename = 'TCX_32107_Full_'+REPLACE(REPLACE(REPLACE(convert(varchar,getdate(),120),'-','_'),' ','_'),':','_') + '.bak';
    set @filename_old = 'TCX_32107_Full_'+REPLACE(REPLACE(REPLACE(convert(varchar(10),dateadd(dd,-7,getdate()),120),'-','_'),' ','_'),':','_') + '*.bak';
    --192.168.1.78:目标服务器IP
    --DESKTOP-V0QGHSD:目标服务器名称
    --dbback:目标服务器共享名
    --111:目标服务器用户密码
    --lct:目标服务器用户
    set @cmdshell = 'net use \\192.168.1.78\dbback 111  /user:192.168.1.78\lct'
    set @copy_sql = 'copy '+@filepath+@filename+' \\192.168.1.78\dbback'
    set @del_sql = 'del '+@filepath+@filename;
    --sql原型(DESKTOP-V0QGHSD与192.168.1.78均可)
    --set @cmdshell = 'net use \\DESKTOP-V0QGHSD\dbback 111  /user:DESKTOP-V0QGHSD\lct'
    --set @copy_sql = 'copy E:\dbback\TCX_32107_Full_2021_12_30_16_50_56.bak \\DESKTOP-V0QGHSD\dbback'
    --备份到本地
    backup database TCX_32107 to disk = @filename;
    --链接到网络服务器
    exec master..xp_cmdshell @cmdshell
    --拷贝到网络服务器
    exec master..xp_cmdshell @copy_sql
    --删除链接
    exec master..xp_cmdshell @cmdshell
    
    --删除本地7天前的备份文件
    exec master..xp_cmdshell @del_sql

    END

  3.执行存储过程,备份文件已拷贝到目标路径

 

 

 

 参考链接:https://blog.csdn.net/strong0511/article/details/50585109 (主要是这个)

https://wenku.baidu.com/view/1c0405d328ea81c758f57882.html

    

 

标签:set,cmdshell,--,局域网,dbback,sql,服务器,server
来源: https://www.cnblogs.com/luna-hehe/p/15749941.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有