我在 SQL Server 2008 中的数据库进入了可疑模式,我通过更改为紧急模式来修复它,然后我使用了这个查询
DBCC CHECKDB (Test, REPAIR_ALLOW_DATA_LOSS);
Run Code Online (Sandbox Code Playgroud)
现在我的表格中的数据字母从阿拉伯语变为问号,我想恢复编码而不丢失表格或丢失数据
除此之外,您还需要更改维护策略中的一些内容。
定期检查您的数据库是否处于正确状态并且不包含任何逻辑或物理不一致非常重要。
DBCC CHECKDB
定期跑步是必须的。早期检测至关重要,因为腐败永远不会发生,您有更大的潜在问题,因此在早期发现它可能会防止您陷入灾难。其次,及早检测有助于避免备份的损坏。让你一无所有。
从 SQL 2005 开始,添加了页面验证校验和。在 sql 2005 和更高版本中创建的数据库默认使用此设置。较早创建和升级的数据库可能仍设置了旧的验证策略“刺页检测”。仔细检查一下。
校验和为您提供了检测页面任何部分损坏的选项,甚至是 inrow 修改,并且作为一个很大的好处,当您将选项添加WITH CHECKSUM
到备份语句时,您的页面将在运行备份时进行校验和测试。确保您的备份中没有损坏的数据库。
所以这里有几件事:
为将来:
ALTER DATABASE DBname SET PAGE_VERIFY CHECKSUM;
DBCC CHECKDB
定期跑步。如果可能的话,每天。如果您遇到性能问题,请考虑仍然使用该选项每天运行PHYSICAL_ONLY
WITH CHECKSUM
到所有备份命令中,以确保您知道只有干净的备份。希望这可以防止您以后遇到麻烦。我祝您好运,让您当前的数据库重新启动并运行。