❷ 怎樣實時監控sqlserver資料庫內記錄的變化
創建表,存儲每天的表空間佔用情況
CREATE TABLE [dbo].[t_rpt_table_spaceinfo](
[table_name] [sysname] NOT NULL,
[record_date] [date] NOT NULL,
[record_time] [time](7) NOT NULL,
[rows_count] [bigint] NULL,
[reserved] [bigint] NULL,
[data_size] [bigint] NULL,
[index_size] [bigint] NULL,
[unused] [bigint] NULL,
CONSTRAINT [PK_t_rpt_table_spaceinfo] PRIMARY KEY CLUSTERED
(
[table_name] ASC,
[record_date] ASC,
[record_time] ASC
)
)
2. 新建作業
新建作業,作業計劃每天凌晨運行一次,每天記錄表佔用的空間情況,存儲到上一步建立的表中
作業中執行的T-SQL代碼為:
SET NOCOUNT ON
/*創建臨時表,存放用戶表的空間及數據行數信息*/
CREATE TABLE #tablespaceinfo
(
nameinfo VARCHAR(500) ,
rowsinfo BIGINT ,
reserved VARCHAR(20) ,
datainfo VARCHAR(20) ,
index_size VARCHAR(20) ,
unused VARCHAR(20)
)
DECLARE @tablename VARCHAR(255);
/*使用游標,循環得到表空間使用情況*/
DECLARE Info_cursor CURSOR
❸ 如何監控sqlserver 鏡像狀態報警
SQLServer2005以上版本提供了一個資料庫鏡像監視器,不過打開它的方法比較特別。有了圖形界面以後,SQLServer資料庫鏡像的維護難度跟成本大大降低了。
1.首先,打開SMS,在任意一個資料庫上面點右鍵,任務,啟動資料庫鏡像監視器。
2.點擊注冊鏡像資料庫,在伺服器實例下拉菜單中選擇鏡像資料庫的實例名,如果沒有,可以直接點連接,然後在鏈接到伺服器窗口中進行設置,如下圖所示:
3.設置好後點確定就出現如下窗口所示了:
4. 點擊警告選項卡,可以設置對警告的閾值進行設置,如下圖所示:
5.在步驟3的窗口上點擊歷史記錄,就可以查看SQLServer資料庫鏡像運行的歷史記錄了。如下圖所示:
❹ 如何監控sqlserver 慢查詢
如何監控sqlserver 慢查詢
1,slow_query_log
這個參數設置為ON,可以捕獲執行時間超過一定數值的SQL語句。
2,long_query_time
當SQL語句執行時間超過此數值時,就會被記錄到日誌中,建議設置為1或者更短。
3,slow_query_log_file
記錄日誌的文件名。
4,log_queries_not_using_indexes
這個參數設置為ON,可以捕獲到所有未使用索引的SQL語句,盡管這個SQL語句有可能執行得挺快。
❺ 如何監視和查看sql server的性能
作為DBA,每個人都會用一系列計數器來監視SQLSERVER的運行環境,使用計數器,既可以衡量當前的資料庫的性能,還可以和以前的性能進行對比。我們也可以一直以快速和簡單的方法把計數器做了一張圖表來識別資料庫的性能的變化情況,來分析資料庫性能的趨勢。
❻ LoadRunner如何監控SQL資料庫,資料庫是SQL2005的.
一般需要監控以下指標:
1) SQLServer資源監控中指標緩存點擊率(Cache Hit Ratio),該值越高越好。如果持續低於80%,應考慮增加內存。
2) 如果Full Scans/sec(全表掃描/秒)計數器顯示的值比1或2高,則應分析你的查詢以確定是否確實需要全表掃描,以及SQL查詢是否可以被優化。
3) Number of Deadlocks/sec(死鎖的數量/秒):死鎖對應用程序的可伸縮性非常有害,並且會導致惡劣的用戶體驗。該計數器的值必須為0。
4) Lock Requests/sec(鎖請求/秒),通過優化查詢來減少讀取次數,可以減少該計數器的值。
❼ 如何監控sqlserver 性能 死鎖
具體步驟如下:
1.首先使用下面的命令,將有關的跟蹤標志啟用。
SQL codeDBCC TRACEON (3605,1204,1222,-1)
說明:
3605
將DBCC的結果輸出到錯誤日誌。
1204 返回參與死鎖的鎖的資源和類型,以及受影響的當前命令。
1222
返回參與死鎖的鎖的資源和類型,以及使用了不符合任何 XSD 架構的 XML 格式的受影響的當前命令(比1204更進一步,SQL
2005及以上可用)。
-1 以全局方式打開指定的跟蹤標記。
以上跟蹤標志作用域都是全局,即在SQL
Server運行過程中,會一直發揮作用,直到SQL Server重啟。
如 果要確保SQL Server在重啟後自動開啟這些標志,可以在SQL
Server服務啟動選項中,使用 /T 啟動選項指定跟蹤標志在啟動期
間設置為開。(位於SQL Server配置管理器->SQL
Server服務->SQL Server->屬性->高級->啟動參數)
在運行上面的語句後,當SQL
Server中發生死鎖時,已經可以在錯誤日誌中看到了,但還不夠直觀(和其它信息混在一起)。(SSMS
-> SQL Server實例 ->
管理 -> SQL Server日誌)
2.建表,存放死鎖記錄
SQL codeUSE [Cole] --Cole是我的示例資料庫,你可以根據實際情況修改。 GO
CREATE TABLE DeadLockLog ( id int IDENTITY (1, 1) NOT NULL, LogDate DATETIME, ProcessInfo VARCHAR(10), ErrorText VARCHAR(MAX) )
GO
3.建立JOB
新建一個JOB(假設名稱為DeadLockJob),在"步驟"中新建一步驟,隨便寫一個步驟名稱,資料庫為"Cole",在"命令"欄中輸入以下語句:
SQL code--新建臨時表 IF OBJECT_ID('tempdb.dbo.#ErrorLog') IS Not Null
DROP TABLE #ErrorLog
CREATE TABLE #ErrorLog (Id int IDENTITY (1, 1) NOT NULL, a DATETIME, b VARCHAR(10), c VARCHAR(MAX)) --將當前日誌記錄插入臨時表
INSERT INTO #ErrorLog EXEC master.dbo.sp_readerrorlog --將死鎖信息插入用戶表
insert DeadLockLog
select a, b, c from #ErrorLog where id >= (select MAX(id) from #ErrorLog WHERE c Like '%Deadlock encountered%')
DROP TABLE #ErrorLog
4.新建警報
在"新建警報"窗體的"常規"選項卡中,進行以下設置:
名稱:可根據實際自行命名,這里我用DeadLockAlert
類型:選擇"SQL
Server性能條件警報"
對象:SQLServer:Locks
計數器:Number of
Deadlocks/sec
實例:_Total
計數器滿足以下條件時觸發警報:高於
值:0
在"響應"選項卡中,選中"執行作業",並選擇步驟3中我們新建的作業(即DeadlockJob)
到這里為止,我們已經完成了全部步驟,以後,你就可以隨時查詢DeadLockLog表,來顯示死鎖信息了。
❽ 對sqlserver資料庫監控一般監控哪些參數
你要閑著沒事,系統的性能監控器里sql server的每個參數都可以看看啊,這要寫可以寫一本書了。
系統
內存: 可用位元組數,page\sec
processor: processor time
physical disk:disk time
需要的話還有網路流量
至於sqlserver的監控,至少有
full scans/sec
cache hit ratio
transaction/sec
user connection
lock
number of dead lock/sec
query...
❾ 如何進行SqlServer 實時數據同步及監控
1、解決實時數據同步,請參閱:
Sql Server 2008 資料庫實時同步復制
網頁鏈接
2、監控,請參閱 :sql server profile怎麼監控跟蹤性能語句
網頁鏈接
❿ sqlserver 如何可以實時監測數據變化
經常會有需求記錄用戶表中由DML操作(Insert/Updae/Delete)引起的數據變化,在SQL Server 2008 以前的版本中,要實現這樣的功能只能通過Trigger或者數據比對(例如SCD處理),而且必須針對每個用戶表開發。SQL Server 2008中新增了兩種記錄數據變化的功能,本文就Change Data Capture(CDC)和Change Tracking的特性做簡要對比。
Change Data Capture
CDC通過對事務日誌的非同步讀取,記錄DML操作的發生時間、類型和實際影響的數據變化,然後將這些數據記錄到啟用CDC時自動創建的表中。通過cdc相關的存儲過程,可以獲取詳細的數據變化情況。由於數據變化是非同步讀取的,因此對整體性能的影響不大,遠小於通過Trigger實現的數據變化記錄。
下圖來自於SQL Server Books Online,說明了CDC可用於獲取不同時間段內的變化。