超详细的SQL Server将数据库定时备份到另外一台电脑并定期删除

Step1 配置选项

打开数据库并执行以下语句

EXEC SP_CONFIGURE 'show advanced options',1;
RECONFIGURE;
EXEC SP_CONFIGURE 'xp_cmdshell',1;
RECONFIGURE;

在这里插入图片描述

Step2 启动SQL Server代理

如果你的SQL Server代理是关闭的,右键启动。
在这里插入图片描述
点是。
在这里插入图片描述

Step3 创建维护计划

点开管理-右键维护计划-新建维护计划
在这里插入图片描述
自己编写好计划名称
在这里插入图片描述
点击确定之后,点击工具箱-维护计划任务-双击“执行 T-SQL 语句”任务
在这里插入图片描述

Step4 编写T-SQL

在这里插入图片描述
语句说明
将此语句根据你自身需求更改并复制进上面的②(T-SQL语句)中。点击确认保存。

//执行备份数据库“DB1” DB1指你需要的数据库名
EXEC MASTER..XP_CMDSHELL 'NET USE \\172.17.23.160\远程备份地址 "远程密码" /USER:172.17.23.160\远程账号'; 
DECLARE @DISK_PATH NVARCHAR(500);SET @DISK_PATH ='\\172.17.23.160\远程备份地址\DB1'+CONVERT(NVARCHAR(8),GETDATE(),112)+'.BAK';
BACKUP DATABASE [DB1] TO DISK=@DISK_PATH WITH FORMAT;
GO
//执行备份数据库“DB2” DB2指你需要的数据库名
EXEC MASTER..XP_CMDSHELL 'NET USE \\172.17.23.160\远程备份地址 "远程密码" /USER:172.17.23.160\远程账号';
DECLARE @DISK_PATH NVARCHAR(500);SET @DISK_PATH ='\\172.17.23.160\远程备份地址\DB2'+CONVERT(NVARCHAR(8),GETDATE(),112)+'.BAK';
BACKUP DATABASE [DB2] TO DISK=@DISK_PATH WITH FORMAT;
GO
//执行数据库清楚备份操作 这里代表的是清除三十天之前的任务
EXEC MASTER..XP_CMDSHELL 'NET USE \\172.17.23.160\远程备份地址 "远程密码" /USER:172.17.23.160\远程账号';
declare @endtime varchar(200)
set @endtime = convert(varchar(100),GetDate()-30,120)
exec master..xp_delete_file 0,N'\\172.17.23.160\远程备份地址','bak',@endtime

注释:
①:\172.17.23.160*远程备份地址* 其中远程备份地址的意思是你共享文件夹的名称
例如:\172.17.23.160\文件夹1\文件夹2
②:远程密码 就是你访问共享文件夹需要输入的密码,例如123456
③:远程账号 就是你访问共享文件夹需要输入的账号,例如administrator

Step5 设置定期执行

在这里插入图片描述
在这里插入图片描述
点击确定。

Step6 保存

可以根据需要对此进行重命名和添加描述
在这里插入图片描述
最后按Ctrl+S 即可保存。保存成功在维护计划下面就能看见我们之前所创建的维护计划了。
在这里插入图片描述
至此,定期备份与定期清除数据库备份教程结束。
如果你只是需要备份一次,则只需要将Step4中的T-SQL语句复制到新建查询窗口中即可。
注意不要把删除语句也复制进去了。

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用Python的pyodbc库和Windows定时任务来实现将局域网下的主机的SQL Server数据库定时更新到一台主机上。具体步骤如下: 1. 安装pyodbc库,可以使用pip install pyodbc命令进行安装。 2. 编写Python脚本,在脚本中使用pyodbc库连接远程主机的SQL Server数据库,并将数据更新到本地主机的数据库中。示例代码如下: ```python import pyodbc # 连接远程主机的SQL Server数据库 conn = pyodbc.connect('DRIVER={SQL Server};SERVER=远程主机名称;DATABASE=数据库名称;UID=用户名;PWD=密码') cursor = conn.cursor() # 查询数据并更新到本地主机的数据库中 cursor.execute('SELECT * FROM 表名') data = cursor.fetchall() # 连接本地主机的SQL Server数据库 conn_local = pyodbc.connect('DRIVER={SQL Server};SERVER=本地主机名称;DATABASE=数据库名称;UID=用户名;PWD=密码') cursor_local = conn_local.cursor() # 将数据更新到本地主机的数据库中 for row in data: cursor_local.execute('INSERT INTO 表名 VALUES (?, ?, ?)', row) conn_local.commit() ``` 3. 配置Windows定时任务,让Python脚本定时执行。可以使用Windows的任务计划程序来创建定时任务,设置Python脚本的执行时间和执行方式即可。 需要注意的是,此方法需要保证远程主机的SQL Server数据库与本地主机的SQL Server数据库结构相同,否则数据更新可能会失败。另外,需要保证远程主机的SQL Server数据库可以被本地主机访问到。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值