SQLServer数据库之MSSQL 常见故障处理
小标 2018-09-07 来源 : 阅读 3143 评论 0

摘要:本文主要向大家介绍了SQLServer数据库之MSSQL 常见故障处理,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

本文主要向大家介绍了SQLServer数据库之MSSQL 常见故障处理,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

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: 15.数据库登录/启动问题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 a        JOIN 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=authenticatenull附件列表 

以上就介绍了SQL Server的相关知识,希望对SQL Server有兴趣的朋友有所帮助。了解更多内容,请关注职坐标数据库SQL Server频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 1
看完这篇文章有何感觉?已经有1人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved