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 Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

匯入步驟如下:將 MDF 檔案複製到 SQL Server 的資料目錄(通常為 C:\Program Files\Microsoft SQL Server\MSSQL\DATA)。在 SQL Server Management Studio(SSMS)中,開啟資料庫並選擇「附加」。點選“新增”按鈕,選擇 MDF 檔案。確認資料庫名稱,點選確定按鈕即可。

對於 SQL Server 資料庫中已存在同名對象,需要採取下列步驟:確認物件類型(表格、檢視、預存程序)。如果物件為空,可使用 IF NOT EXISTS 跳過建立。如果物件有數據,使用不同名稱或修改結構。使用 DROP 刪除現有物件(謹慎操作,建議備份)。檢查架構更改,確保沒有引用刪除或重新命名的物件。

若要查看 SQL Server 連接埠號碼:開啟 SSMS,連線到伺服器。在物件資源管理器中找到伺服器名稱,右鍵單擊它,然後選擇“屬性”。在「連線」標籤中,查看「TCP 連接埠」欄位。

當 SQL Server 服務無法啟動時,可採取下列步驟解決:檢查錯誤日誌以確定根本原因。確保服務帳戶具有啟動服務的權限。檢查依賴項服務是否正在執行。禁用防毒軟體。修復 SQL Server 安裝。如果修復不起作用,重新安裝 SQL Server。

若誤刪 SQL Server 資料庫,可採取下列步驟還原:停止資料庫活動;備份日誌檔案;檢查資料庫日誌;復原選項:從備份還原;從交易日誌還原;使用 DBCC CHECKDB;使用第三方工具。請定期備份資料庫並啟用交易日誌以防止資料遺失。

SQL Server 資料庫檔案通常儲存在下列預設位置:Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data可透過修改資料庫檔案路徑設定來自訂資料庫檔案位置。

如果 SQL Server 安裝失敗,可透過下列步驟清理:解除安裝 SQL Server刪除註冊表項刪除檔案和資料夾重新啟動計算機

SQL Server 英文安裝可透過下列步驟變更為中文:下載對應語言套件;停止 SQL Server 服務;安裝語言套件;變更執行個體語言;變更使用者介面語言;重新啟動應用程式。
