sqlserver备份数据库到局域⽹内另⼀电脑上
核⼼思想:
1.备份数据库到本地磁盘⽬录
2.创建与⽬标服务器的链接
3.拷贝备份⽂件到⽬标服务器
操作步骤:
1.⽬标服务器IP:19
sql数据库备份文件2.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;
--链接到⽹络服务器
p_cmdshell @cmdshell
--拷贝到⽹络服务器
p_cmdshell @copy_sql
--删除链接
p_cmdshell @cmdshell
--删除本地7天前的备份⽂件
p_cmdshell @del_sql
END
3.执⾏存储过程,备份⽂件已拷贝到⽬标路径
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论