本文主要讲解关于SQL server实现异地增量备份和全量备份的几种方法实现相关内容,由优网导航(www.uonce.com)提供,欢迎关注收藏本站!
要将SQL Server数据库通过作业备份到同一局域网的另一台服务器,需要完成共享目录配置、权限设置和作业创建三个核心步骤。以下是详细操作指南:

程序员导航
优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站
一、目标服务器(备份存储服务器)配置
在局域网内的目标服务器(如172.70.74.211)上创建共享目录,用于存放备份文件。
1. 创建本地文件夹
- 在目标服务器上新建文件夹(例如
D:SQLBackups),用于实际存储备份文件。
2. 配置共享权限
- 右键文件夹 → 属性 → 共享→高级共享→ 勾选“共享此文件夹”。
- 共享名设为
SQLBackups(后续访问路径为172.70.74.211SQLBackups)。 - 点击权限→ 添加
Everyone或指定用户(如Administrator),并授予“读取”和“写入”权限。 - 切换到安全标签页 → 确保相同用户有“完全控制”权限(避免NTFS权限与共享权限冲突)。
3. 测试共享访问
- 在SQL Server所在服务器的“运行”中输入
172.70.74.211SQLBackups,验证能否正常访问(无需输入密码或使用目标服务器账号登录)。
二、SQL Server服务器配置
确保SQL Server服务账户有权限访问目标服务器的共享目录。

AI 工具导航
优网导航旗下AI工具导航,精选全球千款优质 AI 工具集
1. 确认SQL Server服务账户
- 打开“服务” → 找到
SQL Server (MSSQLSERVER)→ 查看“登录身份”(通常是NT ServiceMSSQLSERVER或域账户)。
2. 授予服务账户访问权限(可选)
- 如果服务账户是本地账户(如
NT ServiceMSSQLSERVER),需在目标服务器的共享目录权限中添加SQL Server服务器的计算机账户(格式:域SQL服务器名$,例如WORKGROUPSQLSERVER$),并授予读写权限。 - 如果是域账户,直接在目标服务器共享权限中添加该域账户即可。
三、创建备份作业
通过SQL Server代理创建定时备份作业,自动将数据库备份到目标服务器的共享目录。
1. 启用SQL Server代理
- 打开SQL Server Management Studio (SSMS) → 连接到数据库引擎 → 确保“SQL Server代理”已启动(右键→“启动”)。
2. 创建新作业
- 展开“SQL Server代理” → 右键“作业” →新建作业。
-
名称:
数据库异地备份。 -
所有者:保持默认(
sa)。 - 类别:选择“数据库维护”。
-
名称:
3. 添加作业步骤
-
切换到步骤→新建:
-
步骤名称:
执行备份。 -
类型:
Transact-SQL (T-SQL)。 -
数据库:选择要备份的数据库(如
AIS20250224105414)。 - 命令:输入以下T-SQL脚本(替换为实际路径和数据库名):
-
步骤名称:
-
步骤1

免费在线工具导航
优网导航旗下整合全网优质免费、免注册的在线工具导航大全
-- 步骤1:建立Administrator网络连接 DECLARE @SharePath NVARCHAR(100), @User NVARCHAR(100), @Pwd NVARCHAR(50), @Cmd NVARCHAR(4000) -- 定义变量值(单独赋值,避免复杂拼接) SET @SharePath = '172.70.74.211SQLBackups' SET @User = '172.70.74.211Administrator' SET @Pwd = '123456' -- 替换为实际密码 -- 创建临时表存储命令结果(用#临时表替代@表变量,避免作用域问题) CREATE TABLE #Result (OutputText NVARCHAR(4000)) -- 1. 断开旧连接 SET @Cmd = 'net use "' + @SharePath + '" /delete /y' DELETE FROM #Result INSERT INTO #Result EXEC master.dbo.xp_cmdshell @Cmd -- 2. 建立新连接(用双引号包裹路径和参数,兼容特殊字符) SET @Cmd = 'net use "' + @SharePath + '" /user:' + @User + ' "' + @Pwd + '"' DELETE FROM #Result INSERT INTO #Result EXEC master.dbo.xp_cmdshell @Cmd -- 3. 输出连接命令执行结果(用于排查错误) PRINT '=== 网络连接命令执行结果 ===' SELECT OutputText AS 执行结果 FROM #Result WHERE OutputText IS NOT NULL -- 4. 验证共享目录是否可访问 SET @Cmd = 'dir "' + @SharePath + '"' DELETE FROM #Result INSERT INTO #Result EXEC master.dbo.xp_cmdshell @Cmd -- 5. 判断连接状态 IF EXISTS (SELECT 1 FROM #Result WHERE OutputText LIKE '%<DIR>%') BEGIN PRINT '=== 连接成功 ===' PRINT '已成功访问共享目录:' + @SharePath END ELSE BEGIN PRINT '=== 连接失败 ===' RAISERROR('无法访问共享目录,请检查共享名、账号密码或权限', 16, 1) RETURN END -- 删除临时表 DROP TABLE #Result -
步骤2
-- 步骤2:执行备份 DECLARE @BackupType VARCHAR(10), @BackupPath NVARCHAR(255), @BackupName NVARCHAR(255), @WeekDay INT; -- 获取当前星期几(1=周一,7=周日) SET @WeekDay = DATEPART(WEEKDAY, GETDATE()); -- 判定备份类型 IF @WeekDay = 7 OR NOT EXISTS ( -- 检查是否存在全量备份(首次执行时无全量,强制全量) SELECT 1 FROM msdb.dbo.backupset WHERE database_name = 'AIS20250224105414' AND type = 'D' -- 'D'表示全量备份 ) BEGIN SET @BackupType = 'Full'; SET @BackupName = N'ERP全量备份'; END ELSE BEGIN SET @BackupType = 'Diff'; SET @BackupName = N'ERP增量备份'; END -- 构建备份路径 SET @BackupPath = N'172.70.74.211SQLBackupsAIS20250224105414_' + @BackupType + '_' + CONVERT(VARCHAR(8), GETDATE(), 112) + '.bak'; -- 执行对应类型的备份 IF @BackupType = 'Full' BEGIN BACKUP DATABASE [AIS20250224105414] TO DISK = @BackupPath WITH INIT, -- 全量备份覆盖同名文件 NAME = @BackupName, SKIP, NOREWIND, NOUNLOAD, STATS = 10; END ELSE BEGIN BACKUP DATABASE [AIS20250224105414] TO DISK = @BackupPath WITH DIFFERENTIAL, -- 增量备份关键参数 NOINIT, -- 增量备份不覆盖,追加到备份集 NAME = @BackupName, SKIP, NOREWIND, NOUNLOAD, STATS = 10; END PRINT '备份完成!类型:' + @BackupType + ',路径:' + @BackupPath; -
步骤3
-- 步骤3:断开网络连接 DECLARE @SharePath NVARCHAR(100), @Cmd NVARCHAR(4000) -- 设置共享路径 SET @SharePath = '172.70.74.211SQLBackups' -- 构建完整命令(用双引号包裹路径,避免特殊字符问题) SET @Cmd = 'net use "' + @SharePath + '" /delete /y' -- 执行断开连接命令 EXEC master.dbo.xp_cmdshell @Cmd -- 输出结果 PRINT '网络连接已断开:' + @SharePath
4. 配置作业调度
切换到调度→新建:
-
名称:
每日备份。 -
调度类型:
重复执行。 - 频率:例如“每天”、“凌晨2点”。
- 点击“确定”保存调度。
5. 测试作业
右键新建的作业 →执行步骤→ 选择“执行备份” → 检查目标服务器共享目录是否生成备份文件。
四、常见问题解决
-
“无法访问网络路径”错误
- 检查共享目录路径是否正确(如
172.70.74.211SQLBackups)。 - 验证SQL Server服务账户是否有访问权限(参考步骤二)。
- 关闭目标服务器防火墙或添加文件共享例外(端口139、445)。
- 检查共享目录路径是否正确(如
-
备份文件为空或大小异常
- 检查T-SQL脚本中的
BACKUP DATABASE语句是否正确。 - 确认数据库处于正常状态(非离线或恢复中)。
- 检查T-SQL脚本中的
-
作业执行失败无日志
- 在作业属性的通知中,勾选“当作业失败时写入Windows事件日志”,通过“事件查看器”排查详细错误。
通过以上步骤,即可实现SQL Server数据库自动备份到局域网内的另一台服务器,确保数据安全和异地存储。
到此这篇关于SQL server实现异地增量备份和全量备份的几种方法实现的文章就介绍到这了,更多相关SQL 异地增量备份和全量备份内容请搜索优网导航以前的文章或继续浏览下面的相关文章希望大家以后多多支持优网导航!
您可能感兴趣的文章:
- mysql中xtrabackup全量备份/增量备份及恢复
- Windows环境MySQL全量备份+增量备份的实现
- MySQL全量备份的实现
- mysql备份策略的实现(全量备份+增量备份)
- mysql全量备份和快速恢复的方法整理
- CentOS7开启MySQL8主从备份、每日定时全量备份(推荐)
- mysql全量备份、增量备份实现方法
本文主要讲解关于在html中插入mpg格式视频文件的代码相关内容,由优网导航(www.uonce.com)提供,欢迎关注收藏本站! 复制代码 代码如下: <object classid=”clsid:05589FA1-C356-11CE-BF01-00A…



