SQL Server 中的 NUL 装备/NIL装备

张春  论坛元老 | 2024-9-14 13:50:06 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1590|帖子 1590|积分 4770

SQL Server 中的 NUL 装备/NIL装备


在 SQL Server 中,有一个特殊的装备叫做 NUL(留意,不是 NULL),它类似于文件系统中的“黑洞”。NUL 装备类似于 Linux 系统中的 /dev/null,所有写入到 NUL 的数据都会被直接抛弃。
我们可以利用这个特性,在不需要现实天生备份文件的环境下举行测试或模拟备份操作。

 

完整备份的常规操作
通常环境下,我们对某个数据库举行完整备份时,可以使用以下最简单的 SQL 语句:
  1. BACKUP DATABASE AdventureWorks2012 TO DISK = N'AdventureWorks2012.BAK'
复制代码
执行后,SQL Server 会显示备份的效果
  1. 已为数据库 'AdventureWorks2012',文件 'AdventureWorks2012' (位于文件 1 上)处理了 24328 页。
  2. 已为数据库 'AdventureWorks2012',文件 'AdventureWorks2012_log' (位于文件 1 上)处理了 2 页。
  3. BACKUP DATABASE 成功处理了 24330 页,花费 4.103 秒(46.326 MB/秒)。
复制代码

备份文件将存储在实例的默认备份路径中。可以通过以下 SQL 查询来确认该路径:
  1. DECLARE @BackupDest VARCHAR(200)
  2. EXEC master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'BackupDirectory', @BackupDest OUTPUT;
  3. SELECT @BackupDest;
复制代码
使用 NUL 装备举行备份
假如不想现实天生备份文件,但需要测试备份操作或了解备份时间等,可以将备份数据写入 NUL 装备。
SQL Server 支持两种方式将备份写入 NUL 装备:使用 NUL 或 NUL:。
  1. BACKUP DATABASE AdventureWorks2012 TO DISK = N'NUL'
  2. GO
  3. BACKUP DATABASE AdventureWorks2012 TO DISK = N'NUL:'
  4. GO
复制代码
执行后,SQL Server 同样会显示备份的效果
  1. 已为数据库 'AdventureWorks2012',文件 'AdventureWorks2012' (位于文件 1 上)处理了 24328 页。
  2. 已为数据库 'AdventureWorks2012',文件 'AdventureWorks2012_log' (位于文件 1 上)处理了 2 页。
  3. BACKUP DATABASE 成功处理了 24330 页,花费 1.499 秒(126.803 MB/秒)。
复制代码
NUL 装备还可以通过备份判断磁盘的读吞吐量,即使你备份至多个NUL装备。备份至NUL装备主要是读取数据,写数据并没有写入具体的磁盘中。
  1. BACKUP DATABASE AdventureWorks2012 TO DISK = N'NUL',DISK = N'NUL',DISK = N'NUL',DISK = N'NUL' ,DISK = N'NUL'
复制代码
 
 
 
总结
备份至 NUL 装备的主要用途包括:
1、备份吞吐量验证:NUL 装备可以用来测试数据库的读 IOPS 性能,帮助验证备份时的读写吞吐量。
2、没有日志备份导致磁盘满:假如日志文件长期未备份而变得非常大导致磁盘空间不足,可以通过将日志备份写入 NUL 装备来快速释放日志空间,之后再举行日志文件收缩大概设置简单模式收缩文件。
3、在高可用配置:特别是 SQL Server2016大概以上版本, AlwaysOn AG 场景中,使用 automatic seeding 功能配置可用性数据库前需要备份,可将数据库备份至NUL装备后再初始化同步。
4、COPY_ONLY 备份:在不渴望停止备份链(不truncate日志文件里的日志)但需要在生产环境中举行测试时,可以使用 COPY_ONLY 参数来创建临时备份,避免对生产环境的备份链产生影响。

需要留意的是,备份至 NUL 装备时的读操作对性能的影响与现实备份相似,因此在生产环境中举行测试时,仍需审慎评估其影响。



参考文章
https://www.modb.pro/db/452106
https://blog.csdn.net/lnotime/article/details/104847946
https://cloud.tencent.com.cn/developer/information/%E6%AD%A3%E5%9C%A8%E8%BF%98%E5%8E%9F%E6%95%B0%E6%8D%AE%E5%BA%93SQL%20Server%20-%E6%95%B0%E6%8D%AE%E4%B8%BAnull%E4%B8%8D%E8%83%BD%E5%AF%B9null%E5%80%BC%E8%B0%83%E7%94%A8%E6%AD%A4%E6%96%B9%E6%B3%95%E6%88%96%E5%B1%9E%E6%80%A7
 

 
本文版权归作者所有,未经作者同意不得转载。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表