MSSQL 常见故障处理
MSSQL 常见故障处理以及维护办法
1.数据库文件收缩
1.1 释放未使用的空间
1.2 在释放未使用的空间前重新组织页
1.3 将指定文件中的所有数据迁移到同一文件组中的其他文件
2.日志文件收缩
2.1 设置简单模式直接收缩
3.Sql Agent作业代理
3.1 错误日志相关
3.1.1 循环生成错误日志
4.AlwaysOn问题相关
4.1 备份以及日志收缩问题
4.2 Error: 35285, Severity: 16, State: 1
5.数据库登录/启动问题
5.1 数据库处于可疑状态
5.2 客户端登录加密失败 – 事件ID:17835
1.数据库文件收缩
1.1 释放未使用的空间
1.2 在释放未使用的空间前重新组织页
1.3 将指定文件中的所有数据迁移到同一文件组中的其他文件
2.日志文件收缩
2.1 设置简单模式直接收缩
3.Sql Agent作业代理
3.1 错误日志相关
3.1.1 循环生成错误日志
4.AlwaysOn问题相关
4.1 备份以及日志收缩问题
4.2 Error: 35285, Severity: 16, State: 1
5.数据库登录/启动问题
5.1 数据库处于可疑状态
5.2 客户端登录加密失败 – 事件ID:17835
MSSQL 常见故障处理以及维护办法
1.数据库文件收缩
1.1 释放未使用的空间
--TRUNCATEONLY 仅仅是释放没使用的区 而不是页USE [transfer]GODBCC SHRINKFILE (N'transfer' , 0, TRUNCATEONLY)GO
1.2 在释放未使用的空间前重新组织页
--检索每一个页 重新组织 释放未使用的页和区 然后再收缩USE [transfer]GODBCC SHRINKFILE (N'FGFile13' , 32138)GO

1.3 将指定文件中的所有数据迁移到同一文件组中的其他文件
--查询文件以及文件组的基本信息SELECT b.name ,b.type ,b.type_desc ,a.*FROM sys.database_files aJOIN sys.filegroups b ON a.data_space_id = b.data_space_idWHERE a.data_space_id = 2;--新增文件到文件组ALTER DATABASE [transfer] ADD FILE ( NAME = N'File14', FILENAME = N'F:\DataFile\File14.ndf' , SIZE = 3090640 KB , FILEGROWTH = 5%) TO FILEGROUP [FG1];--将指定文件中的所有数据迁移到同一文件组中的其他文件,选择空闲的文件迁移过去。DBCC SHRINKFILE('FGFile11', EMPTYFILE);


2.日志文件收缩
2.1 设置简单模式直接收缩
USE transferGO--设置简单模式ALTER DATABASE transfer SET RECOVERY SIMPLE;GODBCC SHRINKFILE(N'transfer_log', 10);GO--恢复成日志完整模式ALTER DATABASE transfer SET RECOVERY FULL;GO

3.Sql Agent作业代理
3.1 错误日志相关
3.1.1 循环生成错误日志
--ERRORLOG自动循环:ERRORLOG替换ERRORLOG.1 以此类推,需要先备份ERRORLOG.6,不然会被覆盖USE masterGOEXEC sys.sp_cycle_errorlog;
4.AlwaysOn问题相关
4.1 备份以及日志收缩问题
查看AlwaysOn组属性,可以得知哪一台服务器是首选辅助副本。如果设置为备份应在首选辅助副本执行,那么维护计划就应该建立在那台服务器上。

--判断是否是主辅助副本 / 主副本SELECT master.sys.fn_hadr_backup_is_preferred_replica(N'F10') AS preferredReplica, master.sys.fn_hadr_is_primary_replica(N'F10') AS primaryReplica;

4.2 Error: 35285, Severity: 16, State: 1
ALTER DATABASE [DB_NAME] SET HADR RESUME
5.数据库登录/启动问题
5.1 数据库处于可疑状态
USE masterGO--查看数据库状态SELECT state_desc, *FROM sys.databasesWHERE name = 'F10';


- AlwaysOn辅助节点出现警告,数据库处于质疑状态(三种解决办法):
- 再做一次ALTER ONLINE,命令SQL SERVER再做一次恢复。
- 放弃当前数据库,还原备份。
将数据库状态设置为EMERGENCY,继续尝试修复数据库。
SQLSERVER状态切换图:
![]()
5.2 客户端登录加密失败 – 事件ID:17835
--客户端使用jtds等java类库进行登录报如下错误:Encryption is required to connect to this server but the client library does not support encryption; the connection has been closed. Please upgrade your client library--调整jdbc url参数可以解决此问题ssl=require 或者 ssl=authenticate
附件列表

浙公网安备 33010602011771号