Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何为测试创建损坏的.bak文件?_Sql Server_Tsql - Fatal编程技术网

Sql server 如何为测试创建损坏的.bak文件?

Sql server 如何为测试创建损坏的.bak文件?,sql-server,tsql,Sql Server,Tsql,我知道这是一个奇怪的问题,但是否有可能为了测试目的故意使MS SQL Server数据库的.bak文件损坏?我想使其损坏,以便我可以尝试通过故障排除进行恢复,并提高我的数据库恢复故障排除技能 干杯 只需使用文本编辑器打开.bak文件并更改某些艺术,即可损坏该文件,但无法恢复该文件。 另一种方法是使用unix dd命令(您可以找到windows可执行文件) 问候 Giova您可以创建备份,然后编辑其内容。这将使备份文件损坏。我相信RedGate有非常好的脚本来处理文件,您可以在这里阅读更多关于它的

我知道这是一个奇怪的问题,但是否有可能为了测试目的故意使MS SQL Server数据库的.bak文件损坏?我想使其损坏,以便我可以尝试通过故障排除进行恢复,并提高我的数据库恢复故障排除技能


干杯

只需使用文本编辑器打开.bak文件并更改某些艺术,即可损坏该文件,但无法恢复该文件。 另一种方法是使用unix dd命令(您可以找到windows可执行文件)

问候
Giova

您可以创建备份,然后编辑其内容。这将使备份文件损坏。我相信RedGate有非常好的脚本来处理文件,您可以在这里阅读更多关于它的内容:

以下是一个示例:

create database MyDb
go
Backup database MyDb to disk='C:\MyDb\Mydb.bak'
go

declare @currentContent nvarchar(max)
set @currentContent = (Select dbo.[ufsReadfileAsString]('c:\MyDb','MyDb.bak'))
set @currentContent = @currentContent +'some text'
execute spWriteStringToFile @currentContent, 'c:\MyDb','MyDb_Corrupted.bak'
go
现在,
MyDb\u已损坏.bak
是损坏的文件,
MyDb.bak
是正常的备份文件。请注意,要执行此脚本,应使用以下脚本启用
Ole自动化过程

 exec sp_configure 'Ole Automation Procedures','1'
 reconfigure

我假设,即使您选择任何test/word文档文件并将其重命名为.bak,SQL也会将其识别为已损坏

我会尝试:打开一个现有文件,中间截断,然后关闭。Brent Ozar对此有一个最新的想法,我猜他只是在文件中添加了一些随机数据:
copy/b some_document.docx+your_backup.bak corrupt_backup.bak
谢谢大家,非常感谢,Paul Randal对如何使用
DBCC WRITEPAGE
破坏数据库(当然是出于实践目的)有很好的了解。这是用来破坏附加的数据库,而不是备份文件,但这仍然很有趣。谢谢Giova的回答,但我也需要能够恢复它。关键是在它损坏后尝试修复它,或者至少恢复一些数据。我认为你不会收到关于修复损坏备份文件的回复。有商业工具在做这件事,我认为,只有少数人能够做到。他们不会和我们分享这个秘密技能。在任何情况下,在现实世界中,如果数据库丢失和备份损坏,您都可以联系Microsoft支持部门。是的,我知道,但我希望将其损坏到可以恢复的程度,而不仅仅是查看:)。你说你的解决方案不可能恢复。我想要一些类似于T.I在上面的评论“布伦特·奥扎尔最近有一段视频”