① java後台怎樣監控sql server資料庫數據的變化
看來你是做日誌記錄,在SQL server 2005中建立一個觸發器(delete,update\insert),針對table1,在觸發器的代碼中加上數據拷貝的SQL語句就可以了。
② 使用SQL Server2005,是Express版的;為了監控SQL Server安裝了sqlserver。但是不知道這些表頭代表什麼。
這些表頭全是資料庫的欄位,也就是實際數據的歸類
按英文應該是有跡可查的
比如:textData 代表文本數據 binaryData 二進制數據 DatabaseID 資料庫ID transcationID 轉換ID NTUsername NT登錄用戶名 NTDomainName NT域名 HostName 本地HOST名。。。。
③ sqlserver2005監視器在哪
注:我現在的客戶端裝的是SQL SERVER 2005,伺服器端裝的是2000,跟這個有沒有關系呢。我肯定跟這個沒有關系的。
問題還是出現在身份驗證上,或者是你資料庫有損壞。
還有你伺服器上的企業管理器能不能用活動監視器?能的話,資料庫就沒壞,
你再試試連接資料庫引擎時用windows身份驗證,用域管理員登陸
④ 安裝Sql Server 2005出現「性能監視器計數器要求」錯誤,怎麼辦
解決方案:
在開始==>運行==>regedit.exe ,在注冊表裡找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib 裡面有Last Counter和Last Help選項 查看其相應的值之後
如果你安裝的是中文版,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004裡面找到 Counter 和Help 查看它們的最大值 ,在它們的最大值基礎上加2賦給Last Counter和Last Help確定即可,無需重啟。
如果你安裝的是英文版,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009里找到 Counter 和Help 查看它們的最大值,執行上面的操作即可。
⑤ SQL Server 2005 如何時時監控數據變化
用profiler審計,記錄sql語句
⑥ 如何監控sql server 2005 表的操作
--創建表
create table A_CheckUpdate(AID int,BinaryCheckSum int,Remark varchar(50))
--將表A的初始數據插入檢測更新表中
insert into A_CheckUpdate select AID,Binary_CheckSum(*),'' from A
--你寫一個通信 每隔一段時間 比如5秒鍾檢查一次
--查詢A表被更新過的記錄
select * from A_CheckUpdate
where exists(
select AID from A where A.AID=A_CheckUpdate.AID
and binary_checksum(*)<>A_CheckUpdate.BinaryCheckSum)
--如果是查看insert 或者delete的數據 請查看A_CheckUpdate是否有多餘的ID 或者缺少的ID
select A.Id from A left join A_CheckUpdate on a.ID=A_CheckUpdate.ID
where A_CheckUpdate.ID is null
select A_CheckUpdate .Id from A right join A_CheckUpdate on a.ID=A_CheckUpdate.ID
where A.ID is null
⑦ 如何快速掌握SQL Server中的日誌轉移
如何快速掌握SQL Server中的日誌轉移
集群是一種實現高可用性的有效解決方案,有時它會適得其反。而且,它還非常昂貴。因此,資料庫管理員可使用日誌轉移代替集群來提供較高的可用性。
日誌轉移是這樣一種處理過程,它能將某一資料庫中的事務日誌文件依次轉存到備份的資料庫中,進而為這一資料庫創建一個「近乎」熱備份。SQL Server 2000的資料庫引擎中設置了日誌轉移功能,並在其中進行處理。所以它會自動完成復原到備份伺服器的進程,而不需要資料庫管理員手動操作。只有你的產品伺服器操作失敗,你才需手動完成到備份伺服器的復原進程。(注釋:盡管SQL Server 7.0和2005中均有日誌轉移功能,但本文主要針對SQL Server 2000。)
為什麼要使用日誌轉移?
日誌轉移是一種解決高可用性的措施,並且十分有效。同樣作為高可用性的措施方案,日誌轉移相對集群來說,最大的.好處是它要便宜許多。這是因為,使用集群功能有硬體要求,而日誌轉移則不需要。
日誌轉移在資料庫與資料庫而非伺服器與伺服器之間進行;因此才有可能將備份資料庫存儲在你已用作其他用途的伺服器上。但如果轉移失敗則有可能會出現問題,這時你可換用備份資料庫,這種選擇是可用的。
日誌轉移相對比較容易安裝。SQL Server提供了非常完善的向導幫助你安裝這個進程。
日誌轉移允許你保存分布在不同地理位置中的冗餘數據,SQL Server的集群功能則很難做到這一點。這一特點十分出眾,因為,當你的數據中心遭到災難時,你仍能在備份伺服器中將其恢復過來。而在相同的數據中心,如果你使用的是集群功能,你就會陷入麻煩。
日誌轉移的另一優點是你能將備份資料庫作為報告資料庫使用,這對許多公司來說是很不錯的選擇。但如果你決定了用這個備份資料庫作報告使用,就必須注意它的局限性。使用原始資料庫中的日誌時,SQL Server 要求指定唯一的通道,所以,當日誌文件正在被應用時,報告則不能同時進行。
使用日誌轉移要考慮的相關因素
在將日誌轉移作為高可用性的方案來使用時,我們必須考慮以下幾點因素。由於從原始資料庫到備份資料庫有一個潛伏期,對你的公司而言,它並非一定是可行的實現高可用性的一種解決方案。潛伏期由資料庫管理員設置,時間也因需要而縮短, 但永遠不能避免。
日誌轉移中沒有設置恢復功能,這就意味著在將日誌轉移到備份伺服器上時,這些日誌都暫時不可用。因此,資料庫管理員必須在將備份資料庫放到網上前完成一系列的操作,這些步驟包括:
將已存儲在備份數據伺服器上原始資料庫里的備份標簽存儲起來。一旦所有的標簽被存儲後,資料庫就必須得到恢復,然後放到網上。
一旦所有的資料庫都已放在網上,所有需要訪問資料庫的應用程序就需要改變自身的鏈接。如果你不能將應用程序盡快指向剛剛恢復的資料庫,你就前功盡棄了。
一個SQL Server的實例能用於監控日誌轉移。這個實例可以在原始資料庫、備份資料庫或單獨的資料庫中。任何一種版本的SQL Server都能用於SQL Server監控。
注釋:資料庫登錄必須在原始資料庫與備份資料庫之間同時進行。
;⑧ 安裝SQL Server 2005性能監視器計數器要求 (錯誤)
這個問題我碰到過,把下面的注冊表改下就行了!
手動設置計數器注冊表項的增量 :
1.在 Microsoft Windows 2003 或 Windows XP 桌面上,依次單擊「開始」、「運行」,然後在「打開」中鍵入 regedit.exe,再單擊「確定」。在 Windows 2000 中,使用 regedt32.exe 啟動注冊表編輯器。
2.定位到以下注冊表項:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Last Counter"=dword:00000ed4 (5276)
"LastHelp"=dword:00000ed5 (5277)
3.上一步的「Last Counter」值 (5276) 必須與以下注冊表項中「Perflib\009」的「Counter」項的最大值匹配,並且上一步的「Last Help」值 (5277) 必須與以下注冊表項中「Perflib\009」的「Help」項的最大值匹配。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]
注意 009中存儲的是英文版本的計數器(如果你安裝的是英文版Microsoft SQL Server2005則修改Perflib\009),004中存儲的是中文版本的計數器(如果你安裝的是中文版Microsoft SQL Server2005則修改Perflib\004)。「Last Counter」和「Last Help」值是由 Windows 動態分配的;這兩個值會因計算機的不同而不同。
⑨ 安裝sql server 2005 遇到問題性能監視器計數器要求 (錯誤
依次單擊「開始」、「運行」,然後在「打開」中鍵入 regedit.exe,再單擊「確定".打開 regedit , 定位到
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
目錄下有Last Counter 和 Last Help 兩個鍵值。在Perflib目錄下有004和009兩個子目錄。其中有Counter 和 Help兩個鍵值。
查看004目錄(對於中文系統,英文系統是009目錄)下的Counter 記錄其最後的數字,我這里是11214,將該值寫到Last Counter
中;同樣將004目錄中的Help中最後的數字,我這里是11215,寫到Last Help中。
再次安裝SQL2005,檢查通過。
⑩ 如何監控sql server受攻擊
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表,來顯示死鎖信息了