我知道这是一个奇怪的问题,但是为了测试目的,是否有可能为MS SQL Server数据库故意制作.bak文件?我想让它损坏,以便我可以尝试通过故障排除进行恢复,并提高我的数据库恢复故障排除技能。
干杯!
答案 0 :(得分:0)
你可以通过文本编辑器打开它并更改一些艺术来破坏.bak文件,但是你无法恢复这个文件。 另一种方法是使用unix dd命令(你可以找到windows可执行文件)。
此致 Giova
答案 1 :(得分:0)
您可以创建备份,然后编辑其内容。这将使您的备份文件损坏。我相信 RedGate 有非常好的处理文件的脚本,您可以在此处阅读更多相关信息: https://www.red-gate.com/simple-talk/sql/t-sql-programming/reading-and-writing-files-in-sql-server-using-t-sql/
这是一个示例:
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_Corrupted.bak
是损坏的文件,MyDb.bak
是健康的备份文件。请注意,为了执行此脚本,您应该使用以下脚本启用 Ole Automation Procedure
:
exec sp_configure 'Ole Automation Procedures','1'
reconfigure
答案 2 :(得分:0)
我认为即使您选择任何 test/word 文档文件并将其重命名为 .bak,SQL 也会将其识别为损坏的!