MSSQL 常见故障处理

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

1.数据库文件收缩

1.1 释放未使用的空间

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

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

 
 
  1. --检索每一个页 重新组织 释放未使用的页和区 然后再收缩
  2. USE [transfer]
  3. GO
  4. DBCC SHRINKFILE (N'FGFile13' , 32138)
  5. GO

439364-20170209120303494-1236713787.png

1.3 将指定文件中的所有数据迁移到同一文件组中的其他文件

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

439364-20170209120303979-2055570641.png

439364-20170209120304244-260874508.png

2.日志文件收缩

2.1 设置简单模式直接收缩

 
 
  1. USE transfer
  2. GO
  3. --设置简单模式
  4. ALTER DATABASE transfer SET RECOVERY SIMPLE;
  5. GO
  6. DBCC SHRINKFILE(N'transfer_log', 10);
  7. GO
  8. --恢复成日志完整模式
  9. ALTER DATABASE transfer SET RECOVERY FULL;
  10. GO

439364-20170209120304557-121751672.png

3.Sql Agent作业代理

3.1 错误日志相关

3.1.1 循环生成错误日志
 
 
  1. --ERRORLOG自动循环:ERRORLOG替换ERRORLOG.1 以此类推,需要先备份ERRORLOG.6,不然会被覆盖
  2. USE master
  3. GO
  4. EXEC sys.sp_cycle_errorlog;

4.AlwaysOn问题相关

4.1 备份以及日志收缩问题

查看AlwaysOn组属性,可以得知哪一台服务器是首选辅助副本。如果设置为备份应在首选辅助副本执行,那么维护计划就应该建立在那台服务器上。

439364-20170209120304901-114977783.png

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

439364-20170209120305213-1886610620.png

4.2 Error: 35285, Severity: 16, State: 1

 
 
  1. ALTER DATABASE [DB_NAME] SET HADR RESUME

5.数据库登录/启动问题

5.1 数据库处于可疑状态

 
 
  1. USE master
  2. GO
  3. --查看数据库状态
  4. SELECT state_desc, *
  5. FROM sys.databases
  6. WHERE name = 'F10';

439364-20170209120305447-1322848220.png

439364-20170209120305807-101263152.png

  • AlwaysOn辅助节点出现警告,数据库处于质疑状态(三种解决办法):
  1. 再做一次ALTER ONLINE,命令SQL SERVER再做一次恢复
  2. 放弃当前数据库,还原备份
  3. 将数据库状态设置为EMERGENCY,继续尝试修复数据库

  • SQLSERVER状态切换图:
    439364-20170209120306072-1388877998.jpg

    5.2 客户端登录加密失败 – 事件ID:17835

 
 
  1. --客户端使用jtdsjava类库进行登录报如下错误:
  2. 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
  3. --调整jdbc url参数可以解决此问题
  4. ssl=require 或者 ssl=authenticate




附件列表

 

转载于:https://www.cnblogs.com/sunofsummer/p/6381493.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值