决办法
Microsoft SQL Server 是一个强大的关系数据库管理系统。MSSQL 经常捣乱,因而有“卡死”问题。通常情况下,当 MSSQL 数据库停止响应,对数据库操作的用户也会发生“卡死”的情况,这就是所谓的”卡死“。
遇到这样的情况,你会发现,首先,MSSQL Server 服务器停止响应,数据库中的查询没有结果,连接到数据库的程序也无法运行,同时备份任务也会被中断。
要解决 MSSQL 数据库出现”卡死“问题,我们需要对系统有正确的排查步骤。下面是有效排查方法:
1、确定是否有剩余空间约束:随着 MSSQL Server 数据库中表和索引数据量的增加,往往会用尽磁盘空间资源,而数据库中可能存在数据库更新不及时,索引被异常扫描导致执行缓慢,甚至引发数据库崩溃等问题;
2、查看数据库服务器的系统日志:查看系统日志,可以快速的发现MSSQL数据库出现的问题;
3、审查数据库的容量:查看数据库文件的容量及数据库表空间的使用情况,查看是否数据库碎片过多,导致数据寻址时效率降低;
4、重建索引:根据查看的数据库文件容量及数据库表空间使用情况,针对索引进行维护,针对碎片大于30%的索引进行重建,利用SQL语句如:“REBUILD INDEX 【索引名称】 ON 【表名】”或“ALTER INDEX 【索引名称】 ON 【表名】 REBUILD”重建索引;
5、根据实际情况,在数据库中添加扩展存储空间:如果数据库容量不够,则可以通过添加数据文件来扩展数据库空间,此外,可以根据SQL语句:“ALTER DATABASE 【数据库名】 MODIFY FILE (NAME = 【文件名】 , SIZE = 【扩大文件大小】MB);” 对数据文件进行扩展;
以上是关于 MSSQL 数据库发生”卡死“问题求解决办法,我们可以做一些积极主动的排查和修复,以免出现更加严重的“卡死”问题。