当前位置:Gxlcms > 数据库问题 > MSSQL 常见故障处理

MSSQL 常见故障处理

时间:2021-07-01 10:21:17 帮助过:24人阅读

TRUNCATEONLY 仅仅是释放没使用的区 而不是页
  • USE [transfer]
  • GO
  • DBCC SHRINKFILE (N‘transfer‘ , 0, TRUNCATEONLY)
  • GO
  • 1.2 在释放未使用的空间前重新组织页

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

    技术分享

    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);

    技术分享

    技术分享

    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

    技术分享

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

    技术分享

    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;

    技术分享

    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‘;

    技术分享

    技术分享

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

    • SQLSERVER状态切换图:
      技术分享

      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


    null

    附件列表

       

      MSSQL 常见故障处理

      标签:rom   http   imp   require   bsp   lib   database   url   检索   

      人气教程排行