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

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