我们有运行sql Server(2008 SP4和2016 SP1)的PC经常断电.显然,这有时会导致sql Server数据库的(索引)损坏,我们需要在之后进行恢复.
我知道sql Server并不是针对这种情况而设计的,正确的解决方案是修复掉电原因(如果你好奇的话,更多内容如下).不过,我可以设置sql Server中的任何调优选项,以降低数据库在断电时损坏的风险吗?
背景:“PC”是安装在叉车上的Windows平板电脑.当用户关闭叉车时,平板电脑断电.我们试图教导用户在关闭叉车之前正确关闭Windows,但是失败了(可能是因为大部分时间关闭它“工作”).我们目前还在调查其他选项,例如添加一个UPS,用于通知平板电脑关闭电源.
解决方法
I am aware that sql Server is not designed for such scenarios and the correct solution is to fix the cause of the power loss […]
实际上它是为了处理掉电而设计的,这就是为什么有一些事情,比如写入提前记录(WAL)和启动时的崩溃恢复(或者你想要的任何东西).这样做的一种方法是选择不缓存写入,这似乎是平板电脑正在做的事情,因此腐败.
Nevertheless,are there any tuning options in sql Server that I can set to reduce the risk of database corruption on power loss?
不,sql Server正在做它应该做的事情.你应该看看sql Server外部(驱动器缓存的窗口设置[哪些sql想要关闭但我们不能强迫你],硬件/固件更新等)或者如Eric所说,为相对购买外部电源便宜的,可以解决症状(实际问题可能是某种类型的缓存或电池支持写入,实际上没有支持).