SQL Server數(shù)據(jù)庫(kù)應(yīng)用與開發(fā):第13章 復(fù)制與性能監(jiān)視_第1頁(yè)
SQL Server數(shù)據(jù)庫(kù)應(yīng)用與開發(fā):第13章 復(fù)制與性能監(jiān)視_第2頁(yè)
SQL Server數(shù)據(jù)庫(kù)應(yīng)用與開發(fā):第13章 復(fù)制與性能監(jiān)視_第3頁(yè)
SQL Server數(shù)據(jù)庫(kù)應(yīng)用與開發(fā):第13章 復(fù)制與性能監(jiān)視_第4頁(yè)
SQL Server數(shù)據(jù)庫(kù)應(yīng)用與開發(fā):第13章 復(fù)制與性能監(jiān)視_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第13章 復(fù)制與性能監(jiān)視內(nèi)容提要復(fù)制(replication)是將數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象從一個(gè)數(shù)據(jù)庫(kù)復(fù)制和分發(fā)到另一個(gè)數(shù)據(jù)庫(kù),然后在數(shù)據(jù)庫(kù)間進(jìn)行同步,以維持一致性的過程。性能監(jiān)視是在SQL Server數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過程中,通過監(jiān)視工具查看數(shù)據(jù)庫(kù)系統(tǒng)的運(yùn)行情況、對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化、發(fā)現(xiàn)并修復(fù)錯(cuò)誤的管理手段。本章主要介紹實(shí)現(xiàn)復(fù)制的基本過程和使用監(jiān)視工具的一般方法。第13章 復(fù)制與性能監(jiān)視本章內(nèi)容13.1 復(fù)制概述13.2 創(chuàng)建復(fù)制13.3 管理復(fù)制13.4如何查看SQL Server的當(dāng)前活動(dòng) 13.5 系統(tǒng)性能監(jiān)視器的使用13.6小結(jié)13.1 復(fù)制概述13.1.1復(fù)制的發(fā)布模型SQL Server 復(fù)

2、制的組件包括發(fā)布服務(wù)器、分發(fā)服務(wù)器、訂閱服務(wù)器、項(xiàng)目、發(fā)布、訂閱和復(fù)制代理。在SQL Server 2005中,復(fù)制的源數(shù)據(jù)對(duì)象所在的數(shù)據(jù)庫(kù)引擎成為發(fā)布服務(wù)器,復(fù)制的目標(biāo)數(shù)據(jù)對(duì)象所在的數(shù)據(jù)庫(kù)引擎成為訂閱服務(wù)器,把數(shù)據(jù)對(duì)象從發(fā)布服務(wù)器提供給訂閱服務(wù)器的服務(wù)成為分發(fā)服務(wù)器。發(fā)布服務(wù)器具有將增量更改的數(shù)據(jù)發(fā)送到發(fā)布中的項(xiàng)目的功能,訂閱服務(wù)器具有進(jìn)行隨之更新的功能復(fù)制代理負(fù)責(zé)在發(fā)布服務(wù)器和訂閱服務(wù)器之間復(fù)制和移動(dòng)數(shù)據(jù),如圖13.1所示。 13.1 復(fù)制概述13.1.1復(fù)制的發(fā)布模型發(fā)布服務(wù)器。發(fā)布服務(wù)器是一種數(shù)據(jù)庫(kù)實(shí)例,它通過復(fù)制向其他位置提供數(shù)據(jù)。分發(fā)服務(wù)器。分發(fā)服務(wù)器也是一種數(shù)據(jù)庫(kù)實(shí)例,它起著存儲(chǔ)

3、區(qū)的作用,用于復(fù)制與一個(gè)或多個(gè)發(fā)布服務(wù)器相關(guān)聯(lián)的特定數(shù)據(jù)。訂閱服務(wù)器。訂閱服務(wù)器是接收復(fù)制數(shù)據(jù)的數(shù)據(jù)庫(kù)實(shí)例。一個(gè)訂閱服務(wù)器可以從多個(gè)發(fā)布服務(wù)器和發(fā)布接收數(shù)據(jù)。項(xiàng)目。項(xiàng)目用于識(shí)別發(fā)布中包含的數(shù)據(jù)庫(kù)對(duì)象。發(fā)布。發(fā)布是來自一個(gè)數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)項(xiàng)目的集合。訂閱。訂閱是把發(fā)布副本傳遞到訂閱服務(wù)器的請(qǐng)求。13.1 復(fù)制概述13.1.2復(fù)制類型1事務(wù)復(fù)制事務(wù)復(fù)制通常從發(fā)布數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)的快照開始。創(chuàng)建了初始快照后,在發(fā)布服務(wù)器上所做的數(shù)據(jù)更改和架構(gòu)修改通常在修改發(fā)生時(shí)便傳遞給訂閱服務(wù)器。數(shù)據(jù)更改將按照其在發(fā)布服務(wù)器上發(fā)生的順序和事務(wù)邊界,應(yīng)用于訂閱服務(wù)器,因此,在發(fā)布內(nèi)部可以保證事務(wù)的一致性。在以下各種

4、情況下適合采用事務(wù)性復(fù)制:13.1 復(fù)制概述13.1.2復(fù)制類型1事務(wù)復(fù)制在以下各種情況下適合采用事務(wù)性復(fù)制:希望發(fā)生增量更改時(shí)將其傳播到訂閱服務(wù)器。從發(fā)布服務(wù)器上發(fā)生更改到更改到達(dá)訂閱服務(wù)器,應(yīng)用程序需要這兩者之間的滯后時(shí)間較短。應(yīng)用程序需要訪問中間數(shù)據(jù)狀態(tài)。發(fā)布服務(wù)器有大量的插入、更新和刪除活動(dòng)。發(fā)布服務(wù)器或訂閱服務(wù)器不是SQL Server數(shù)據(jù)庫(kù)(例如Oracle) 13.1 復(fù)制概述13.1.2復(fù)制類型2合并復(fù)制合并復(fù)制通常也是從發(fā)布數(shù)據(jù)庫(kù)對(duì)象和數(shù)據(jù)的快照開始,并且用觸發(fā)器跟蹤在發(fā)布服務(wù)器和訂閱服務(wù)器上所做的后續(xù)數(shù)據(jù)更改和架構(gòu)修改。訂閱服務(wù)器在連接到網(wǎng)絡(luò)時(shí)將與發(fā)布服務(wù)器進(jìn)行同步,并交換

5、自上次同步以來發(fā)布服務(wù)器和訂閱服務(wù)器之間發(fā)生更改的所有行。合并復(fù)制適用于下列各種情況:多個(gè)訂閱服務(wù)器在不同時(shí)間更新同一數(shù)據(jù),并將其更改傳播到發(fā)布服務(wù)器和其他訂閱服務(wù)器。13.1 復(fù)制概述13.1.2復(fù)制類型2合并復(fù)制合并復(fù)制適用于下列各種情況:訂閱服務(wù)器需要接收數(shù)據(jù),脫機(jī)更改數(shù)據(jù),并在以后與發(fā)布服務(wù)器和其他訂閱服務(wù)器同步更改。每個(gè)訂閱服務(wù)器都需要不同的數(shù)據(jù)分區(qū)??赡軙?huì)發(fā)生沖突,并且在沖突發(fā)生時(shí),需要具有檢測(cè)和解決沖突的能力。應(yīng)用程序需要最終的數(shù)據(jù)更改結(jié)果,而不是訪問中間數(shù)據(jù)狀態(tài)。合并復(fù)制允許不同站點(diǎn)自主工作,并在以后將更新合并成一個(gè)統(tǒng)一的結(jié)果。13.1 復(fù)制概述13.1.2復(fù)制類型3快照復(fù)制快

6、照復(fù)制將數(shù)據(jù)以特定時(shí)刻的瞬時(shí)狀態(tài)分發(fā),而不監(jiān)視對(duì)數(shù)據(jù)的更新。發(fā)生同步時(shí),將生成完整的快照并將其發(fā)送到訂閱服務(wù)器。當(dāng)符合以下一個(gè)或多個(gè)條件時(shí),使用快照復(fù)制是最合適的:很少更改數(shù)據(jù)。在一段時(shí)間內(nèi)允許具有相對(duì)發(fā)布服務(wù)器已過時(shí)的數(shù)據(jù)副本。復(fù)制少量數(shù)據(jù)。在短期內(nèi)出現(xiàn)大量更改。13.2 創(chuàng)建復(fù)制創(chuàng)建復(fù)制可以通過復(fù)制向?qū)Щ騎ransact-SQL命令實(shí)現(xiàn) ,下面介紹一下進(jìn)行復(fù)制示例的環(huán)境。使用兩個(gè)數(shù)據(jù)庫(kù)實(shí)例,一個(gè)是默認(rèn)實(shí)例,一個(gè)是命名實(shí)例jianggh,兩個(gè)實(shí)例的SQL Server代理都設(shè)置為“啟動(dòng)”狀態(tài)。其中默認(rèn)實(shí)例上存在數(shù)據(jù)庫(kù)test01,通過復(fù)制,使得命名實(shí)例jianggh上的數(shù)據(jù)庫(kù)test01與之

7、同步。13.2.1創(chuàng)建發(fā)布 所謂創(chuàng)建發(fā)布,就是將要進(jìn)行復(fù)制的源數(shù)據(jù)庫(kù)對(duì)象進(jìn)行發(fā)布處理。用戶通過使用“新建發(fā)布向?qū)А眲?chuàng)建發(fā)布和定義項(xiàng)目。13.2 創(chuàng)建復(fù)制13.2.1創(chuàng)建發(fā)布創(chuàng)建發(fā)布和定義項(xiàng)目的具體參考步驟如下。(1)在 Microsoft SQL Server Management Studio 中連接到發(fā)布服務(wù)器,即默認(rèn)示例。然后在“對(duì)象資源管理器”中展開“復(fù)制”文件夾,再右擊“本地發(fā)布”文件夾。(2)在彈出的快捷菜單中,單擊“新建發(fā)布”菜單命令。(3)彈出“新建發(fā)布向?qū)А睂?duì)話框,單擊“下一步”按鈕,選擇發(fā)布數(shù)據(jù)庫(kù)。本例選擇數(shù)據(jù)庫(kù)為test01。(4)單擊“下一步”按鈕,選擇發(fā)布類型。用戶可

8、以選擇能夠較好的支持應(yīng)用程序要求的發(fā)布類型,本例選擇“事務(wù)性發(fā)布”,如圖13.3所示。13.2 創(chuàng)建復(fù)制13.2.1創(chuàng)建發(fā)布創(chuàng)建發(fā)布和定義項(xiàng)目的具體參考步驟如下。(5)選擇要發(fā)布的對(duì)象,選擇“項(xiàng)目”對(duì)話框,選擇所有表.(6)在“篩選表行”對(duì)話框,可以單擊“添加”按鈕,根據(jù)需要進(jìn)行表中數(shù)據(jù)行的選擇,本例選擇所有行。然后直接單擊“下一步”按鈕,配置“快照代理” 。(7)用戶可以設(shè)置代理的安全性。在創(chuàng)建復(fù)制的過程中,向?qū)?huì)建立一系列的SQL Server代理作業(yè),以幫助完成復(fù)制的實(shí)現(xiàn)與維護(hù)工作??梢詥螕簟鞍踩O(shè)置”,在彈出的的“快照代理安全性”對(duì)話框中,指定SQL Server代理賬戶,設(shè)置完成,單

9、擊“確定”按鈕,返回的“代理安全性”對(duì)話框。 13.2 創(chuàng)建復(fù)制13.2.1創(chuàng)建發(fā)布創(chuàng)建發(fā)布和定義項(xiàng)目的具體參考步驟如下。(8)單擊“下一步”按鈕,彈出“向?qū)Р僮鳌睂?duì)話框。本例選擇默認(rèn)項(xiàng):“在向?qū)ЫY(jié)束時(shí)創(chuàng)建發(fā)布”。當(dāng)然也可以通過復(fù)選框選擇“生成包含創(chuàng)建發(fā)布的步驟和腳本文件”。(9)單擊“下一步”按鈕,彈出“完成該向?qū)А睂?duì)話框。用戶可以在這個(gè)界面中通過提示信息對(duì)前面的選擇進(jìn)行回顧,確認(rèn)后,單擊“完成”按鈕,發(fā)布才開始創(chuàng)建。如圖13.8所示。(10)系統(tǒng)顯示“正在創(chuàng)建發(fā)布”的信息,全部顯示成功后,單擊“關(guān)閉”按鈕,完成創(chuàng)建發(fā)布。在“對(duì)象資源管理器”中可以查看新建的發(fā)布。13.2 創(chuàng)建復(fù)制13.2.

10、2 創(chuàng)建訂閱創(chuàng)建訂閱可以通過使用“新建訂閱向?qū)А痹诎l(fā)布服務(wù)器或訂閱服務(wù)器中創(chuàng)建請(qǐng)求訂閱。具體操作步驟如下:(1)展開 “復(fù)制”節(jié)點(diǎn)。(2)右擊“本地訂閱”節(jié)點(diǎn),在彈出的菜單中選擇“新建訂閱”菜單命令。彈出“新建訂閱向?qū)А睂?duì)話框。(3)在新建訂閱向?qū)У摹鞍l(fā)布”對(duì)話框中,從“發(fā)布服務(wù)器”下拉列表中選擇“”。(4)在“連接到服務(wù)器”對(duì)話框中連接到發(fā)布服務(wù)器(默認(rèn)實(shí)例)。然后在“發(fā)布”頁(yè)上選擇一個(gè)發(fā)布。(5)單擊“下一步”按鈕,彈出“分發(fā)代理位置”對(duì)話框,選擇分發(fā)代理位置,如圖13.10所示。13.2 創(chuàng)建復(fù)制13.2.2 創(chuàng)建訂閱具體操作步驟如下:(6)單擊“下一步”按鈕,彈出“訂閱服務(wù)器”對(duì)話框,

11、選擇“新建數(shù)據(jù)庫(kù)”,創(chuàng)建目標(biāo)數(shù)據(jù)庫(kù)test01。(7)單擊“下一步”按鈕,彈出“分發(fā)代理安全性”對(duì)話框,單擊其中的按鈕,在彈出的對(duì)話框中設(shè)置分發(fā)代理安全性選項(xiàng)后,單擊“確定”按鈕。(8)返回對(duì)話框中。單擊“下一步”按鈕,彈出“同步計(jì)劃”對(duì)話框,用戶可以指定每個(gè)訂閱的代理的同步計(jì)劃。(9)單擊“下一步”按鈕,彈出“初始化訂閱”對(duì)話框,用戶可以指定“立即”的初始化選擇,如圖13.15所示。13.2 創(chuàng)建復(fù)制13.2.2 創(chuàng)建訂閱具體操作步驟如下:(10)單擊“下一步”按鈕,彈出“向?qū)Р僮鳌睂?duì)話框。本例選擇默認(rèn)項(xiàng):“在向?qū)ЫY(jié)束時(shí)創(chuàng)建訂閱”。當(dāng)然也可以通過復(fù)選框選擇“生成包含創(chuàng)建訂閱的步驟和腳本文件”

12、。(11)單擊“下一步”按鈕,在設(shè)置“設(shè)置腳本文件屬性”對(duì)話框中設(shè)置腳本文件存放位置等。單擊“下一步”按鈕,彈出“完成該向?qū)А睂?duì)話框。用戶可以在這個(gè)界面中通過提示信息對(duì)前面的選擇進(jìn)行回顧,確認(rèn)后,單擊“完成”按鈕,訂閱才開始創(chuàng)建。如圖13.18所示。13.2 創(chuàng)建復(fù)制13.2.2 創(chuàng)建訂閱具體操作步驟如下:(12)創(chuàng)建訂閱后,用戶可以在資源管理器中查看發(fā)布和訂閱,如圖13.19所示。此時(shí)用戶可以在發(fā)布數(shù)據(jù)庫(kù)中向數(shù)據(jù)庫(kù)test01的表中插入數(shù)據(jù),在訂閱數(shù)據(jù)庫(kù)test01的表中看到同步的結(jié)果。13.2 創(chuàng)建復(fù)制13.2.3 配置分發(fā)如果實(shí)例的SQL Server代理都設(shè)置為“停止”狀態(tài),在創(chuàng)建發(fā)布

13、之前,如果尚未在服務(wù)器上配置分發(fā),還可以先配置“分發(fā)服務(wù)器”。具體步驟如下:(1)在“對(duì)象資源管理器”中,右擊“復(fù)制”,在彈出的對(duì)話中選擇“配置分發(fā)”命令。彈出“配置分發(fā)向?qū)А睂?duì)話框。(2)單擊“下一步”按鈕,彈出“分發(fā)服務(wù)器”對(duì)話框。單擊“下一步”按鈕,進(jìn)入“快照文件夾”對(duì)話框。(3)在“快照文件夾”對(duì)話框中指定分發(fā)服務(wù)器的快照文件夾??煺瘴募A只是指定為共享的一個(gè)目錄。對(duì)此文件夾中執(zhí)行讀寫操作的代理必須對(duì)其具有足夠的權(quán)限才能訪問它。如圖13.22所示。13.2 創(chuàng)建復(fù)制13.2.3 配置分發(fā)具體步驟如下:(4)單擊“下一步”按鈕,彈出“分發(fā)數(shù)據(jù)庫(kù)”對(duì)話框。設(shè)置分發(fā)數(shù)據(jù)庫(kù)的文件名稱和存放位置

14、。直接單擊“下一步”按鈕,選擇設(shè)置“發(fā)布服務(wù)器”的默認(rèn)設(shè)置。再單擊“下一步”按鈕,進(jìn)入“向?qū)Р僮鳌睂?duì)話框,選擇默認(rèn)設(shè)置“配置分發(fā)”。(5)單擊“下一步”按鈕,進(jìn)入“完成該向?qū)А睂?duì)話框,如圖13.24所示。然后單擊“完成”按鈕即可。13.3 管理復(fù)制13.3.1查看和修改發(fā)布屬性用戶可以在“資源管理器”中通過圖形工具查看和修改發(fā)布服務(wù)器屬性,具體步驟如下。(1)在“資源管理器”中展開實(shí)例,選擇“復(fù)制”|“本地發(fā)布”選項(xiàng),右擊發(fā)布test01-pub在彈出的菜單中選擇“屬性”菜單命令。(2)在彈出的“發(fā)布屬性-test01-pub”對(duì)話框中可以查看和修改屬性。(3)根據(jù)需要可以修改各個(gè)選項(xiàng)卡的屬性

15、,“發(fā)布屬性-test01-pub”對(duì)話框包含下列選項(xiàng)卡,具體說明項(xiàng)如下:常規(guī):項(xiàng)目:篩選行:快照:FTP 快照: 訂閱選項(xiàng):發(fā)布訪問列表:數(shù)據(jù)分區(qū):13.3 管理復(fù)制13.3.2查看和修改項(xiàng)目屬性用戶也可以通過圖形工具查看和修改發(fā)布的項(xiàng)目屬性,以保證復(fù)制的有效性。具體步驟如下。(1)在“資源管理器”中展開實(shí)例,選擇“復(fù)制”|“本地發(fā)布”選項(xiàng),右擊發(fā)布test01-pub在彈出的菜單中選擇“屬性”菜單命令。(2)在彈出的“發(fā)布屬性-test01-pub”對(duì)話框中選擇“項(xiàng)目”選項(xiàng)卡。選擇一個(gè)項(xiàng)目,如score表,然后單擊“項(xiàng)目屬性(3)根據(jù)需要修改屬性,然后單擊“確定”即可。(4)在“發(fā)布屬性-

16、test01-pub”對(duì)話框中,單擊“確定”。13.3 管理復(fù)制13.3.3設(shè)置歷史記錄保持期歷史記錄保持期有時(shí)會(huì)影響服務(wù)器的運(yùn)轉(zhuǎn)效率,用戶可以在“資源管理器”中通過圖形工具設(shè)置歷史記錄保持期,具體步驟如下。(1)在“資源管理器”中展開實(shí)例,右擊 “復(fù)制”選項(xiàng),在彈出的菜單中選擇“分發(fā)服務(wù)器屬性”菜單命令。(2)在彈出的“分發(fā)服務(wù)器屬性”對(duì)話框的“常規(guī)”選項(xiàng)卡中,單擊分發(fā)數(shù)據(jù)庫(kù)的屬性按鈕。 (3)在“至少存儲(chǔ)復(fù)制性能的歷史記錄”后的微調(diào)框中輸入一個(gè)值。然后單擊“確定”按鈕。 13.3 管理復(fù)制13.3.4查看發(fā)布服務(wù)器信息及執(zhí)行任務(wù)用戶可以利用SQL Server 2005數(shù)據(jù)庫(kù)的復(fù)制監(jiān)視器查

17、看所有的復(fù)制的活動(dòng),包括發(fā)布服務(wù)器及其相關(guān)信息、各種復(fù)制代理的信息和對(duì)相關(guān)發(fā)布的訂閱信息。使用復(fù)制監(jiān)視器的具體步驟如下。(1)在“資源管理器”中展開實(shí)例,右擊“復(fù)制”選項(xiàng),在彈出的菜單中選擇“啟動(dòng)復(fù)制監(jiān)視器”菜單命令,彈出“復(fù)制監(jiān)視器”對(duì)話框,如圖12.28所示 13.3 管理復(fù)制13.3.4查看發(fā)布服務(wù)器信息及執(zhí)行任務(wù)使用復(fù)制監(jiān)視器的具體步驟如下。(2)在左邊窗格中,展開發(fā)布服務(wù)器,單擊發(fā)布服務(wù)器,則右邊窗口顯示3個(gè)選項(xiàng)卡:發(fā)布:可以查看所有發(fā)布信息。訂閱監(jiān)視列表:可以查看訂閱信息。右擊訂閱,可以選擇查看詳細(xì)信息,如圖12.29 所示。公共作業(yè):查看公共作業(yè)的摘要信息。13.3 管理復(fù)制13

18、.3.4查看發(fā)布服務(wù)器信息及執(zhí)行任務(wù)使用復(fù)制監(jiān)視器的具體步驟如下。(3)在左邊窗格中,展開發(fā)布服務(wù)器,單擊一個(gè)發(fā)布test01-test01-pub,則右邊窗口也顯示3個(gè)選項(xiàng)卡:如圖12.30所示。其中包括有關(guān)選定發(fā)布的信息:所有訂閱:顯示有關(guān)選定發(fā)布的所有訂閱的信息。跟蹤令牌:可以用于衡量滯后時(shí)間,滯后時(shí)間是指從事務(wù)在發(fā)布服務(wù)器上提交到相應(yīng)的事務(wù)在訂閱服務(wù)器上提交之間間隔的時(shí)間。警告和代理:顯示有關(guān)發(fā)布使用的所有代理的信息,并允許指定警告和警報(bào)。13.4如何查看SQL Server的當(dāng)前活動(dòng) SQL Server數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行時(shí),根據(jù)運(yùn)行業(yè)務(wù)等不同,觀察的指標(biāo)參數(shù)也不一樣,因此要使用不同的工

19、具來對(duì)系統(tǒng)的不同指標(biāo)性能進(jìn)行監(jiān)視。主要的監(jiān)視工具包括Windows性能監(jiān)視器、SQL Server事件查看器等。13.4.1 監(jiān)視SQL Server的目的對(duì)SQL Server 2005進(jìn)行性能監(jiān)視的目的是評(píng)估服務(wù)器的性能、優(yōu)化其對(duì)應(yīng)用程序提供的服務(wù)、發(fā)現(xiàn)并修復(fù)錯(cuò)誤以及監(jiān)視任何會(huì)影響性能的因素及其結(jié)果。性能監(jiān)視應(yīng)針對(duì)以下方面:網(wǎng)絡(luò)流量、磁盤輸入/輸出(I/O)和 CPU的運(yùn)行時(shí)間等,其目的是使查詢的響應(yīng)時(shí)間最短,而整個(gè)服務(wù)器的吞吐量最大。13.4如何查看SQL Server的當(dāng)前活動(dòng)13.4.1 監(jiān)視SQL Server的目的監(jiān)視 SQL Server可以執(zhí)行下列操作:確定是否可以提高性能。

20、例如,通過監(jiān)視常用查詢的響應(yīng)時(shí)間,可以確定是否需要更改表的查詢或索引。評(píng)估用戶活動(dòng)。例如,通過監(jiān)視嘗試連接到 SQL Server 實(shí)例的用戶,可以確定安全設(shè)置是否充分以及是否需要測(cè)試應(yīng)用程序或開發(fā)系統(tǒng)。解決任何問題或調(diào)試應(yīng)用程序組件(如存儲(chǔ)過程)。13.4如何查看SQL Server的當(dāng)前活動(dòng)13.4.2 使用活動(dòng)監(jiān)視器活動(dòng)監(jiān)視器是SQL Server 2005系統(tǒng)提供的專門對(duì)數(shù)據(jù)庫(kù)的活動(dòng)進(jìn)行監(jiān)控的工具。1打開活動(dòng)監(jiān)視器 打開活動(dòng)監(jiān)視器的步驟:在 “對(duì)象資源管理器”中展開“管理”選項(xiàng),然后雙擊“活動(dòng)監(jiān)視器”即可。如圖13.31所示?;顒?dòng)監(jiān)視器有3個(gè)選項(xiàng)卡及其主要功能如下:進(jìn)程信息:包含有關(guān)連

21、接的信息。按進(jìn)程分類的鎖:按連接對(duì)鎖進(jìn)行排序。按對(duì)象分類的鎖:按對(duì)象名稱對(duì)鎖進(jìn)行排序。13.4如何查看SQL Server的當(dāng)前活動(dòng)13.4.2 使用活動(dòng)監(jiān)視器 2查看當(dāng)前進(jìn)程的屬性 用戶可以通過使用“進(jìn)程信息”選項(xiàng)卡查看當(dāng)前進(jìn)程的屬性。 進(jìn)程 ID 用戶 數(shù)據(jù)庫(kù) 狀態(tài) 打開的事務(wù) 等待類型 資源 CPU 物理 IO 內(nèi)存使用量 登錄時(shí)間 主機(jī) 網(wǎng)絡(luò)庫(kù) 網(wǎng)絡(luò)地址 13.4如何查看SQL Server的當(dāng)前活動(dòng)13.4.2 使用活動(dòng)監(jiān)視器3監(jiān)視SQL Server組件的步驟若要有效監(jiān)視 SQL Server 的任何組件,一般按照下列步驟進(jìn)行操作: (1)確定監(jiān)視目標(biāo)。即確定有效監(jiān)視 SQL Se

22、rver系統(tǒng)的指標(biāo).(2)選擇相應(yīng)工具。確定監(jiān)視目標(biāo)后,應(yīng)該選擇相應(yīng)的工具。(3)標(biāo)識(shí)要監(jiān)視的組件。(4)選擇監(jiān)視組件的度量指標(biāo)。(5)監(jiān)視服務(wù)器。若要監(jiān)視服務(wù)器,請(qǐng)運(yùn)行已配置為收集數(shù)據(jù)的監(jiān)視工具。(6)分析數(shù)據(jù)。跟蹤結(jié)束后,分析數(shù)據(jù)以查看是否實(shí)現(xiàn)了監(jiān)視目標(biāo)。如果沒有,則需要修改用于監(jiān)視服務(wù)器的組件或度量。13.4如何查看SQL Server的當(dāng)前活動(dòng)13.4.3 動(dòng)態(tài)管理對(duì)象1捕獲和使用事件數(shù)據(jù)的過程 (1)使用篩選器限制收集的事件數(shù)據(jù)。限制事件數(shù)據(jù)使系統(tǒng)可以集中在與監(jiān)視方案有關(guān)的事件上。例如,若要監(jiān)視執(zhí)行速度慢的查詢,可使用篩選器只監(jiān)視那些在特定數(shù)據(jù)庫(kù)上運(yùn)行 15 秒以上的應(yīng)用程序發(fā)出的查

23、詢。(2)監(jiān)視(捕獲)事件。一旦啟用,活動(dòng)監(jiān)視就從指定的應(yīng)用程序、SQL Server 實(shí)例或操作系統(tǒng)捕獲數(shù)據(jù)。(3)保存捕獲的事件數(shù)據(jù)。保存捕獲的事件數(shù)據(jù)使您可以在以后對(duì)其進(jìn)行分析,乃至使用 SQL Server Profiler重播該數(shù)據(jù)。捕獲的事件數(shù)據(jù)可以保存到文件或SQL Server 表。保存捕獲的事件數(shù)據(jù)對(duì)創(chuàng)建性能基線非常重要。在比較最近捕獲的事件數(shù)據(jù)來確定是否已獲得最佳性能時(shí),將保存并使用性能基線數(shù)據(jù)。13.4如何查看SQL Server的當(dāng)前活動(dòng)13.4.3 動(dòng)態(tài)管理對(duì)象1捕獲和使用事件數(shù)據(jù)的過程 (4)創(chuàng)建包含為捕獲事件所指定設(shè)置的跟蹤模板。跟蹤模板包括有關(guān)事件本身、事件數(shù)據(jù)

24、和用于捕獲數(shù)據(jù)的篩選器的規(guī)范。(5)分析捕獲的事件數(shù)據(jù)。為了進(jìn)行分析,將捕獲的已保存事件數(shù)據(jù)加載到捕獲該數(shù)據(jù)的應(yīng)用程序中。對(duì)事件數(shù)據(jù)的分析包括確定所發(fā)生的事件和發(fā)生原因。(6)重播捕獲的事件數(shù)據(jù)。事件重播使您可以建立捕獲數(shù)據(jù)時(shí)的數(shù)據(jù)庫(kù)環(huán)境的測(cè)試副本,并可以重復(fù)捕獲的事件,就像最初在真實(shí)系統(tǒng)上捕獲事件一樣。只有 SQL Server Profiler中提供此功能。13.4如何查看SQL Server的當(dāng)前活動(dòng)13.4.3 動(dòng)態(tài)管理對(duì)象2動(dòng)態(tài)管理對(duì)象的使用使用動(dòng)態(tài)管理視圖和函數(shù)可以用于監(jiān)視服務(wù)器實(shí)例的運(yùn)行情況、診斷故障以及優(yōu)化服務(wù)器性能的狀態(tài)信息。動(dòng)態(tài)管理視圖和函數(shù)按照作用范圍可以分為服務(wù)器范圍和

25、數(shù)據(jù)庫(kù)范圍兩種類型。所有動(dòng)態(tài)管理視圖和函數(shù)都存在于sys架構(gòu)中,并遵循dm_*命名約定,因此在使用這些動(dòng)態(tài)管理對(duì)象時(shí),需要使用sys架構(gòu)作為前綴。在利用動(dòng)態(tài)管理視圖和函數(shù)管理對(duì)象時(shí),可以通過數(shù)據(jù)庫(kù)的系統(tǒng)視圖和系統(tǒng)函數(shù)了解其格式和參數(shù)。還可以通過聯(lián)機(jī)叢書進(jìn)行搜索等操作,進(jìn)一步了解動(dòng)態(tài)管理視圖和函數(shù)的功能和使用的方法,以此實(shí)現(xiàn)對(duì)SQL Server性能狀態(tài)的監(jiān)視。13.4如何查看SQL Server的當(dāng)前活動(dòng)13.4.3 動(dòng)態(tài)管理對(duì)象2動(dòng)態(tài)管理對(duì)象的使用例13.1 利用sys.dm_os_wait_stats視圖查看返回時(shí)間等待2000毫秒的系統(tǒng)線程類型.程序代碼如下:SELECT wait_ty

26、pe, wait_time_msFROM sys.dm_os_wait_statsWHERE wait_time_ms2000GO例13.2 利用dm_db_index_physical_stat函數(shù)返回teaching數(shù)據(jù)庫(kù)中student表的所有索引和碎片統(tǒng)計(jì)信息。程序代碼如下:DECLARE db_id SMALLINT;DECLARE object_id INT;SET db_id = DB_ID(teaching);SET object_id = OBJECT_ID(teaching.dbo.student);IF db_id IS NULLBEGIN; PRINT Invalid

27、database;END;ELSE IF object_id IS NULLBEGIN; PRINT Invalid object;END;ELSEBEGIN; SELECT * FROM sys.dm_db_index_physical_stats(db_id, object_id, NULL, NULL , LIMITED);END;GO13.5 系統(tǒng)性能監(jiān)視器的使用13.5.1系統(tǒng)性能監(jiān)視器的運(yùn)行系統(tǒng)監(jiān)視器使用遠(yuǎn)程過程調(diào)用從SQL Server 收集信息。有運(yùn)行系統(tǒng)監(jiān)視器的 Microsoft Windows 權(quán)限的任何用戶都可以使用系統(tǒng)監(jiān)視器來監(jiān)視 SQL Server。 使用系統(tǒng)監(jiān)視

28、器監(jiān)視 SQL Server 時(shí),性能方面會(huì)受到一些影響。特定實(shí)例中的實(shí)際影響取決于硬件平臺(tái)、計(jì)數(shù)器數(shù)量以及所選更新間隔。1系統(tǒng)監(jiān)視器的啟動(dòng)在“開始”菜單上,指向“運(yùn)行”,在“運(yùn)行”對(duì)話框中鍵入perfmon命令,然后單擊“確定”按鈕即可啟動(dòng)系統(tǒng)監(jiān)視器,如圖13.34所示。 13.5 系統(tǒng)性能監(jiān)視器的使用13.5.1系統(tǒng)性能監(jiān)視器的運(yùn)行2系統(tǒng)監(jiān)視器的主要功能使用系統(tǒng)監(jiān)視器可以創(chuàng)建圖表、警報(bào)、日志和報(bào)表,以監(jiān)視 SQL Server 實(shí)例。(1)圖表。圖表可以監(jiān)視所選對(duì)象和計(jì)數(shù)器的當(dāng)前性能??梢韵驁D表添加系統(tǒng)監(jiān)視器對(duì)象和計(jì)數(shù)器的各種組合。(2)警報(bào)。利用警報(bào)可以跟蹤特定的事件,并按要求向您通知這

29、些事件。警報(bào)日志可以監(jiān)視所選計(jì)數(shù)器和 SQL Server 中對(duì)象的實(shí)例的性能。當(dāng)計(jì)數(shù)器超過給定值時(shí),日志記錄下這一事件的日期和時(shí)間。(3)日志。日志可以記錄選定對(duì)象和計(jì)算機(jī)的當(dāng)前活動(dòng)信息,以便日后查看和分析。(4)報(bào)表。報(bào)表可對(duì)選定對(duì)象顯示不斷變化的計(jì)數(shù)器和實(shí)例值。13.5 系統(tǒng)性能監(jiān)視器的使用3系統(tǒng)監(jiān)視器的使用SQL Server 提供了對(duì)象和計(jì)數(shù)器,系統(tǒng)監(jiān)視器可以使用它們監(jiān)視運(yùn)行SQL Server 實(shí)例的計(jì)算機(jī)中的活動(dòng)。使用時(shí)可以按照如下的方法和思路進(jìn)行設(shè)置。(1)如果計(jì)算機(jī)上有某一個(gè)給定資源類型的多個(gè)資源,則一些對(duì)象會(huì)有幾個(gè)實(shí)例。對(duì)于 SQL Server 上的每個(gè)數(shù)據(jù)庫(kù),Datab

30、ases對(duì)象類型都有一個(gè)實(shí)例。(2)通過在圖表中添加或刪除計(jì)數(shù)器并保存圖表設(shè)置,可以指定系統(tǒng)監(jiān)視器啟動(dòng)后監(jiān)視的 SQL Server 對(duì)象和計(jì)數(shù)器。(3)可以配置系統(tǒng)監(jiān)視器顯示任何 SQL Server 計(jì)數(shù)器中的統(tǒng)計(jì)信息。另外,可以為任何 SQL Server 計(jì)數(shù)器設(shè)置一個(gè)閾值,當(dāng)計(jì)數(shù)器超過閾值時(shí)生成一個(gè)警報(bào)。13.5 系統(tǒng)性能監(jiān)視器的使用3系統(tǒng)監(jiān)視器的使用(4)定期監(jiān)視SQL Server 實(shí)例可以確定CPU使用率是否在正常范圍內(nèi)。(5)檢查處理器使用率時(shí),需考慮 SQL Server 實(shí)例執(zhí)行的工作類型。如果 SQL Server 正在做大量的運(yùn)算,例如包含聚合的查詢,或受內(nèi)存限制但不

31、需要磁盤 I/O 的查詢,此時(shí)所用的處理器時(shí)間可能是 100%。(6)用戶還可以在系統(tǒng)監(jiān)視器右邊的區(qū)域內(nèi)右擊,在彈出的快捷菜單中選擇“添加計(jì)數(shù)器”命令,然后加入SQL的進(jìn)程監(jiān)視,由此來監(jiān)視其他性能指標(biāo)。如圖13.35所示。13.5 系統(tǒng)性能監(jiān)視器的使用13.5.2 SQL Server的性能對(duì)象SQL Server 2005數(shù)據(jù)庫(kù)提供了一系列針對(duì)性能的數(shù)據(jù)對(duì)象,以供用戶監(jiān)視SQL Server的活動(dòng)時(shí)使用。這些性能對(duì)象通過“性能對(duì)象”列表框中查看。當(dāng)用戶需要監(jiān)視SQL Server 和 Microsoft Windows 操作系統(tǒng)以調(diào)查與性能有關(guān)的問題時(shí),可以從磁盤活動(dòng)、處理器使用率和內(nèi)存使用

32、3個(gè)方面進(jìn)行考慮。在實(shí)際工作過程中,同時(shí)監(jiān)視 Windows 操作系統(tǒng)和 SQL Server 計(jì)數(shù)器以確定 SQL Server 性能與 Windows 性能之間可能存在的關(guān)聯(lián)將會(huì)非常有用。13.5 系統(tǒng)性能監(jiān)視器的使用13.5.3 監(jiān)視SQL Server的任務(wù)在運(yùn)行Microsoft Windows 服務(wù)器操作系統(tǒng)時(shí),可以使用系統(tǒng)監(jiān)視器來測(cè)量 SQL Server 的性能??梢圆榭碨QL Server性能對(duì)象、性能計(jì)數(shù)器以及其他對(duì)象的行為,這些對(duì)象包括處理器、內(nèi)存、緩存、線程和進(jìn)程。每個(gè)對(duì)象都有一個(gè)相關(guān)的計(jì)數(shù)器集,用于測(cè)量設(shè)備使用情況、隊(duì)列長(zhǎng)度、延時(shí)情況,另外還有吞吐量及內(nèi)部擁塞指示器。

33、13.5 系統(tǒng)性能監(jiān)視器的使用13.5.3 監(jiān)視SQL Server的任務(wù)1監(jiān)視磁盤 I/O SQL Server 使用Windows 操作系統(tǒng)輸入/輸出 (I/O) 調(diào)用對(duì)磁盤執(zhí)行讀寫操作,而磁盤 I/O 是導(dǎo)致系統(tǒng)瓶頸的最常見原因。可以利用下面兩個(gè)計(jì)數(shù)器進(jìn)行監(jiān)視以確定磁盤活動(dòng): PhysicalDisk: % Disk Time:PhysicalDisk: Current Disk Queue Length: 13.5 系統(tǒng)性能監(jiān)視器的使用13.5.3 監(jiān)視SQL Server的任務(wù)2隔離 SQL Server 產(chǎn)生的磁盤活動(dòng)用戶可以通過監(jiān)視以確定由SQL Server 組件生成的 I/O

34、 活動(dòng)量,使用計(jì)數(shù)器SQL Server:Buffer Manager:Page reads/sec從磁盤讀取頁(yè),使用SQL Server:Buffer Manager:Page writes/sec向磁盤寫入頁(yè)。如果這些計(jì)數(shù)器的值達(dá)到硬件 I/O子系統(tǒng)的容量限制,則需要減小這些值,方法是調(diào)整應(yīng)用程序或數(shù)據(jù)庫(kù)以減少I/O 操作,增加硬件的I/O容量或添加內(nèi)存。13.5 系統(tǒng)性能監(jiān)視器的使用13.5.3 監(jiān)視SQL Server的任務(wù)3監(jiān)視CPU定期監(jiān)視 Microsoft SQL Server 實(shí)例以確定 CPU 使用率是否在正常范圍內(nèi)。持續(xù)的高 CPU 使用率可能表明需要升級(jí) CPU 或需要

35、增加多個(gè)處理器。一個(gè)確定 CPU 使用率的有效方法是使用系統(tǒng)監(jiān)視器中的 Processor:% Processor Time 計(jì)數(shù)器。該計(jì)數(shù)器監(jiān)視 CPU 執(zhí)行非閑置線程所用的時(shí)間。持續(xù) 80% 到 90% 的狀態(tài)可能表明需要升級(jí) CPU 或需要增加更多的處理器。13.5 系統(tǒng)性能監(jiān)視器的使用13.5.3 監(jiān)視SQL Server的任務(wù)4監(jiān)視處理器的使用率用戶可以通過下列計(jì)數(shù)器來監(jiān)視處理器的使用率:Processor: % Privileged Time。對(duì)應(yīng)于處理器執(zhí)行 Microsoft Windows 內(nèi)核命令所用時(shí)間的百分比。Processor: %User Time:對(duì)應(yīng)于處理器執(zhí)行

36、用戶進(jìn)程(例如 SQL Server)所用時(shí)間的百分比。System: Processor Queue Length:對(duì)應(yīng)于等待處理器時(shí)間的線程數(shù)。13.5 系統(tǒng)性能監(jiān)視器的使用13.5.3 監(jiān)視SQL Server的任務(wù)5監(jiān)視內(nèi)存定期監(jiān)視SQL Server 的實(shí)例可以確認(rèn)內(nèi)存使用量在正常范圍內(nèi)。若要監(jiān)視內(nèi)存不足的情況,請(qǐng)使用下列對(duì)象計(jì)數(shù)器:Memory: Available Bytes:指示進(jìn)程當(dāng)前可用的內(nèi)存字節(jié)數(shù)。Available Bytes 計(jì)數(shù)器的值低表示計(jì)算機(jī)總內(nèi)存不足或應(yīng)用程序沒有釋放內(nèi)存。Memory: Pages/sec:指示由于頁(yè)錯(cuò)誤而從磁盤取回的頁(yè)數(shù),或由于頁(yè)錯(cuò)誤而寫入

37、磁盤以釋放工作集空間的頁(yè)數(shù)。Pages/sec 計(jì)數(shù)器的比率高表示分頁(yè)過多。13.5 系統(tǒng)性能監(jiān)視器的使用13.5.4 利用SQL Server profiler工具進(jìn)行監(jiān)視1SQL Server Profiler的術(shù)語(yǔ)和操作若要使用 SQL Server Profiler,需要了解描述該工具工作方式的主要術(shù)語(yǔ)。事件:事件類:事件類別:數(shù)據(jù)列:模板:跟蹤:篩選器 :跟蹤表:使用 SQL Server Profiler可以執(zhí)行下列操作:創(chuàng)建基于可重用模板的跟蹤。當(dāng)跟蹤運(yùn)行時(shí)監(jiān)視跟蹤結(jié)果。將跟蹤結(jié)果存儲(chǔ)在表中。根據(jù)需要啟動(dòng)、停止、暫停和修改跟蹤結(jié)果。重播跟蹤結(jié)果。13.5 系統(tǒng)性能監(jiān)視器的使用13

38、.5.4 利用SQL Server profiler工具進(jìn)行監(jiān)視創(chuàng)建跟蹤利用 SQL Server Profiler創(chuàng)建和運(yùn)行跟蹤的參考步驟如下:(1)單擊“開始所有程序Microsoft SQL Server2005性能工具SQL Server Profiler”命令,啟動(dòng)SQL Server Profiler工具。(2)打開“文件”菜單,選擇“創(chuàng)建跟蹤”命令,并連接到SQL Server實(shí)例。此時(shí),系統(tǒng)將顯示“跟蹤屬性”對(duì)話框,輸入跟蹤名稱trace01,如圖13.36所示。(3)輸入跟蹤名稱后,可以設(shè)置使用模板:為跟蹤選擇一個(gè)跟蹤模板;每次都捕獲相同的事件數(shù)據(jù),并使用同一跟蹤定義監(jiān)視相同

39、的事件。如果不想使用模板,請(qǐng)選擇“空白”。13.5 系統(tǒng)性能監(jiān)視器的使用13.5.4 利用SQL Server profiler工具進(jìn)行監(jiān)視創(chuàng)建跟蹤利用 SQL Server Profiler創(chuàng)建和運(yùn)行跟蹤的參考步驟如下:(4)保存到指定文件:選中“保存到文件”復(fù)選框。將顯示“另存為”對(duì)話框。 然后指定路徑和文件名,單擊“保存”。然后可以進(jìn)行如下設(shè)置:在“跟蹤屬性”對(duì)話框的“設(shè)置最大文件大小 (MB)”文本框中,輸入最大文件大小。默認(rèn)值為 5 MB。 選中“啟用文件滾動(dòng)更新”復(fù)選框:在達(dá)到最大文件大小后,使 SQL Server Profiler立即創(chuàng)建新文件來存儲(chǔ)跟蹤數(shù)據(jù)。選中“服務(wù)器處理跟

40、蹤數(shù)據(jù)”復(fù)選框:以確保服務(wù)器記錄每個(gè)跟蹤事件。13.5 系統(tǒng)性能監(jiān)視器的使用13.5.4 利用SQL Server profiler工具進(jìn)行監(jiān)視創(chuàng)建跟蹤利用 SQL Server Profiler創(chuàng)建和運(yùn)行跟蹤的參考步驟如下(5)保存到表:可以將跟蹤捕獲到數(shù)據(jù)庫(kù)表中。單擊“保存到表”右邊的按鈕,連接數(shù)據(jù)庫(kù)引擎,可以選擇指定表,如圖13.37所示。還可以根據(jù)需要,可以單擊“設(shè)置最大行數(shù)”,并指定值。(6)啟用跟蹤停止時(shí)間:根據(jù)需要,可以選中“啟用跟蹤停止時(shí)間”復(fù)選框,再指定停止日期和時(shí)間。(7)單擊“運(yùn)行”按鈕,完成跟蹤創(chuàng)建。13.5 系統(tǒng)性能監(jiān)視器的使用13.5.4 利用SQL Server profiler工具進(jìn)行監(jiān)視3指定跟蹤文件的事件和數(shù)據(jù)列使用 SQL Serve

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論