SQLServer日常维护事项
1. 目的 1.1.1. 监控数据库的当前运行状况,确保数据库稳定运行 1.1.2. 监控数据库的备份 /HA状况,减少问题发生时的风险和责任 1.1.3. 监控数据库的整体运行状况,对数据库的性能进行调整,确保数据库高效运行 1.1.4. 尽可能减少紧急故障发生频率 1.1.5. 尽
1. 目的
1.1.1. 监控数据库的当前运行状况,确保数据库稳定运行
1.1.2. 监控数据库的备份/HA状况,减少问题发生时的风险和责任
1.1.3. 监控数据库的整体运行状况,对数据库的性能进行调整,确保数据库高效运行
1.1.4. 尽可能减少紧急故障发生频率
1.1.5. 尽早发现系统存在的潜在问题,使可能的故障消除在萌芽状态
2. 操作系统环境监控
2.1. 检查系统日志
2.1.1. 使用“事件查看器”,查看系统日志,关注错误信息排查错误。
2.1.2. 重点关注与SQLServer相关的日志信息。
2.1.3. 及时备份与清理过期的日志信息。
2.2. 检查磁盘空间
2.2.1. 检查数据文件所在的磁盘空间使用情况
2.2.2. 检查日志文件所在的磁盘空间使用情况
2.2.3. 检查备份的磁盘空间使用情况
3. 数据库性能监控
3.1. 内存
3.1.1. dbcc memorystatus
dbcc memorystatus |
3.1.2. SQLServer:Buffer Managerà Page Life Expectancy显示数据页在缓冲池中驻留的时间长度(单位是秒)。值越大,系统越健康。如果存在内存瓶颈,这个值会低于300s或者更少。
3.1.3. SQLServer:Buffer Managerà Buffer cache hit ratio显示数据库内存命中率,所请求的数据或者说页面在缓冲池被找到的次数,如果很低说明内存不足,此值一般大于98%
3.1.4. SQLServer:Buffer Managerà Stolen pages当这个指标与目标内存页面数比例较大时可能存在问题。
3.1.5. SQLServer:Buffer Managerà Memory Grants Pending显示等待内存授权的进程队列。这个指标值为0时理想状态。
3.1.6. SQLServer:Buffer Managerà Checkpoint pages/sec显示检查点操作每秒写入磁盘的脏页数目。如果这个值很高,说明缺少内存。
3.1.7. SQLServer:Buffer Managerà Lazy writes/sec显示每秒将脏页从内存写到磁盘的次数。这个值应该尽可能接近0,当大于20或者更多,确信缓冲池不够。
3.2. 磁盘
3.2.1. PhysicalDiskàAVG.Disk Aueue Length显示每一个磁盘的队列长度。不要选择_TOTAL对象,而是查看某驱动盘符的队列长度,如果参数值持续大于2,则可能影响性能。
3.2.2. PhysicalDisk?AVG.Disk sec/Read显示每次读取的平均磁盘时间,理想情况下值小于10毫秒。
3.2.3. PhysicalDisk?AVG.Disk sec/Write显示每次写入的平均磁盘时间,理想情况下值小于10毫秒。
3.2.4. SQL Server?Access Methods?Fullscans/sec显示每秒请求完全索引扫描或者全表扫描的数目,如果扫描频率每秒大于1,那么说明索引缺少或者索引比较差。
3.2.5. SQL Server?Access Methods?PageSplits/sec显示每秒页面拆分的次数。可以通过适当的索引维护或者好的填充因子来避免发生。
3.3. CPU
3.3.1. System?Processor Queue Length显示系统队列长度,如果平均值大于3,那么说明cpu存在瓶颈
3.3.2. Processorà%Privilege Time显示操作系统内部操作所花费的时间。
3.3.3. SQL ServeràSQL StatisticsàSQL Compilations/sec显示查询计划的编译次数。
3.3.4. SQL ServeràSQL StatisticsàSQL Re-Compilations/sec显示查询计划的重编译次数。
3.3.5. 当SQL Compilations/sec和SQL Re-Compilations/sec次数过高的话,说明可能未使用绑定变量导致计划重新编译,或者说重新编译次数比编译次数过高的话,那么说明存在应用上的瓶颈。
4. 数据库维护
4.1. 主数据库(业务数据库)
4.1.1. 查看数据库的增长情况,每周增长量应该处平稳状态,如果出现异常增长,则需要注意查看原因。
4.1.2. 注意数据文件所在磁盘的空间,保证至少有一周的增长量空间。
4.1.3. 查看每个日志文件的增长情况,每周增长量应该处平稳状态,如果出现异常增长,则需要注意查看原因
4.1.4. 注意日志文件所在磁盘的空间,保证至少有一周的增长量空间。
4.1.5. 日志文件超大后,可考虑是否进行清理,如果清理使用备份日志然后收缩日志文件。
4.2. 镜像数据库
4.2.1. 除日志清除外步骤同主数据库
4.2.2. 镜像数据库日志文件超大后,可以在主数据库上进行日志清理操作。
4.3. 辅助数据库(Log Shipping)
4.3.1. 除日志清除外步骤同主数据库
4.3.2. 备用数据库日志文件超大后,可以在主数据库上进行日志清理操作。
4.4. 查看作业运行状况
可以通过以下脚本查看作业状况或者通过图形界面“作业活动监视器”查看
--0:Fail 1:Succ 3:Cancel 5:First run and msdb.dbo.syscategories.category_id not between 10 and 20 |
4.5. 查看镜像状态
可以通过以下脚本查看镜像状态或者通过“镜像监视器”查看
select |
4.6. 查看Log Shipping状态
可以通过以下脚本在监视服务器上执行查看日志传送状态
use master |
4.7. 查看备份状况
4.7.1. 查看备份是否成功
4.7.2. 验证备份集(RESTORE VERIFYONLY )
4.7.3. 定期做数据库灾难恢复的演练(其中包括备份还原,HA)

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











SQL Server 데이터베이스에 이미 존재하는 동일한 이름을 가진 개체의 경우 다음 단계를 수행해야 합니다. 개체 유형(테이블, 뷰, 저장 프로시저)을 확인합니다. IF NOT EXISTS를 사용하면 객체가 비어 있는 경우 생성을 건너뛸 수 있습니다. 개체에 데이터가 있는 경우 다른 이름을 사용하거나 구조를 수정하세요. 기존 개체를 삭제하려면 DROP을 사용하세요. 주의하세요. 백업을 권장합니다. 삭제되거나 이름이 바뀐 개체에 대한 참조가 없는지 확인하려면 스키마 변경 사항을 확인하세요.

가져오기 단계는 다음과 같습니다. MDF 파일을 SQL Server의 데이터 디렉터리(일반적으로 C:\Program Files\Microsoft SQL Server\MSSQL\DATA)에 복사합니다. SSMS(SQL Server Management Studio)에서 데이터베이스를 열고 연결을 선택합니다. 추가 버튼을 클릭하고 MDF 파일을 선택합니다. 데이터베이스 이름을 확인하고 확인 버튼을 클릭합니다.

SQL Server 서비스가 시작되지 않는 경우 해결해야 할 몇 가지 단계는 다음과 같습니다. 오류 로그를 확인하여 근본 원인을 확인합니다. 서비스 계정에 서비스를 시작할 수 있는 권한이 있는지 확인하세요. 종속성 서비스가 실행 중인지 확인하세요. 바이러스 백신 소프트웨어를 비활성화합니다. SQL Server 설치를 복구합니다. 복구가 작동하지 않으면 SQL Server를 다시 설치하십시오.

SQL Server 포트 번호를 보려면 SSMS를 열고 서버에 연결합니다. 개체 탐색기에서 서버 이름을 찾아 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 연결 탭에서 TCP 포트 필드를 확인하세요.

실수로 SQL Server 데이터베이스를 삭제한 경우 다음 단계를 수행하여 복구할 수 있습니다. 데이터베이스 활동 중지, 데이터베이스 로그 확인, 백업에서 복원, DBCC CHECKDB 사용 파티 도구. 데이터 손실을 방지하려면 데이터베이스를 정기적으로 백업하고 트랜잭션 로깅을 활성화하십시오.

SQL Server 데이터베이스 파일은 일반적으로 다음 기본 위치에 저장됩니다. Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data 데이터베이스 파일 경로를 수정하여 데이터베이스 파일 위치를 사용자 정의할 수 있습니다. 환경.

SQL Server 설치가 실패하면 다음 단계에 따라 정리할 수 있습니다. SQL Server 제거 레지스트리 키 삭제 파일 및 폴더 삭제 컴퓨터를 다시 시작합니다.

이번에는 이전에 사용하지 않았던 SqlServer 데이터베이스를 사용하고 있었는데 문제가 심각하지 않다는 것을 발견하였고, 요구사항 문서의 단계에 따라 SqlServer를 연결한 후 SpringBoot 프로젝트를 시작하여 찾았습니다. 처음에는 SQLServer 연결에 문제가 있는 줄 알고 데이터베이스를 확인하러 갔는데, 데이터베이스에 있는 모든 것이 정상인지 먼저 동료들에게 그런 문제가 있는지 물어봤습니다. 그렇지 않다는 것을 알았기 때문에 저는 Baidu 프로그래밍을 시작했습니다. 제가 해결하기 시작한 구체적인 오류 메시지는 이것이었기 때문에 Baidu 오류 보고를 시작했습니다: ERRORc.a.d.p.DruidDataSource$CreateCo
