MSSQL 常见故障处理

MSSQL 常见故障处理以及维护办法

1.数据库文件收缩

1.1 释放未使用的空间

--TRUNCATEONLY 仅仅是释放没使用的区 而不是页
USE [transfer]
GO
DBCC SHRINKFILE (N'transfer' , 0, TRUNCATEONLY)
GO

1.2 在释放未使用的空间前重新组织页

--检索每一个页 重新组织 释放未使用的页和区 然后再收缩
USE [transfer]
GO
DBCC 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_id
WHERE   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 transfer
GO
--设置简单模式
ALTER DATABASE transfer SET RECOVERY SIMPLE;
GO
DBCC 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 master
GO
EXEC 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 master
GO
--查看数据库状态
SELECT state_desc, * 
FROM sys.databases
WHERE name = 'F10';
  • AlwaysOn辅助节点出现警告,数据库处于质疑状态(三种解决办法):

    1. 再做一次ALTER ONLINE,命令SQL SERVER再做一次恢复
    2. 放弃当前数据库,还原备份
    3. 将数据库状态设置为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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值