第三章——使用系統函數、預存程序和DBCC SQLPERF命令來監控SQLServer(3)

來源:互聯網
上載者:User

標籤:

原文: 第三章——使用系統函數、預存程序和DBCC SQLPERF命令來監控SQLServer(3)

本文為這個系列最後一篇。將是如何使用DBCC命令來監控SQLServer日誌空間的使用方式。

 

前言:

 

       每個資料庫都必須有交易記錄。交易記錄記錄每個DML操作,並應用於SQLServer的資料庫中,如果復原模式為FULL並經常有DML操作,日誌將增長得非常快。幾時復原模式為simple,當資料庫處於事務複製或者合併式複寫時,日誌通常會增長。如果日誌不是經常備份且記錄檔的增長沒有受到限制的話,將有可能耗光你所有的硬碟空間然後造成資料庫宕機。作為DBA,應該經常監控日誌的使用方式以避免問題的發生。

 

       作為DBA,其中一個重要的責任就是監控記錄檔的大小,以確保空間不會被耗光導致資料庫伺服器宕機。

 

         SQLServer提供了不同的DBCC命令供DBA使用,其中DBCC SQLPERF是其中一個用於監控日誌大小的常用命令,在本文中,將示範使用這個命令。除了擷取日誌的資訊,還可以用於重設等待和閂鎖狀態。

 

DBCC SQLPERF用於監控日誌使用方式時,只需要傳入一個參數LOGSPACE。但是它也接受其他命令。

DBCC SQLPERF(‘logspace’)命令返回三個列:DatabaseName、LogSize(MB)、LogSpaceUsed(%)

 

步驟:

 

1、  開啟SSMS然後新開一個查詢時段。

 

2、  在查詢時段中輸入以下代碼:

 

USE tempdbGOIF OBJECT_ID(‘dbo.#tbl_DBLogSpaceUsage‘) IS NOT NULL     BEGIN        DROP TABLE dbo.#tbl_DBLogSpaceUsage    ENDCREATE TABLE dbo.#tbl_DBLogSpaceUsage    (      DatabaseName NVARCHAR(128) ,      LogSize NVARCHAR(25) ,      LogSpaceUsed NVARCHAR(25) ,      [Status] TINYINT    )INSERT  INTO dbo.#tbl_DBLogSpaceUsage        EXEC ( ‘DBCC SQLPERF(LOGSPACE)‘            )--查詢全部結果:SELECT  DatabaseName ,        LogSize ,        LogSpaceUsed ,        [Status]FROM    dbo.#tbl_DBLogSpaceUsageGO--查詢特定資料庫的結果:SELECT  DatabaseName ,        LogSize AS LogSizeInMB ,        LogSpaceUsed LogspaceUsed_In_Percent ,        [Status]FROM    dbo.#tbl_DBLogSpaceUsageWHERE   Databasename = ‘AdventureWorks‘GO


 

分析:

 

       本例中建立了一個暫存資料表,然後調用DBCC SQLPERF來把資料插入表中。由於DBCC命令需要用EXEC來執行,所以使用動態SQL來實現。根據返回的結果可以預測是否有必要馬上執行記錄備份操作(完整備份不截斷日誌,也就不會釋放日誌空間)。 

 

擴充資訊:

       可以改進這個語句來擷取匯總值,在一段時間之後,表就存放了日誌使用資訊的記錄。可以用於分析日誌的增長情況。

第三章——使用系統函數、預存程序和DBCC SQLPERF命令來監控SQLServer(3)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.