揭秘SQL Server服務(wù)器內(nèi)存管理問題_Mssql數(shù)據(jù)庫教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:詳解SQL Server2000安全管理機制SQL Server2000本身帶有 一種靈活而強大的安全管理機制,它能夠?qū)τ脩粼L問SQLServer服務(wù)器和數(shù)據(jù)庫的安全進行全面地管理。本文就此做一些闡述。 一、驗證方法選擇 本文對驗證(authentication)和授權(quán)(authorization)這兩個概念作不同的解釋。驗證是指檢驗用戶
如果同時在一臺SQL Server服務(wù)器安裝多個系統(tǒng),比如一個SQL Server數(shù)據(jù)庫系統(tǒng)和一個郵箱服務(wù)系統(tǒng),常常會出現(xiàn)另一個系統(tǒng)即郵箱系統(tǒng)應(yīng)用服務(wù)性能下降的問題。一、原因分析。
在SQL Server數(shù)據(jù)庫啟動的時候,數(shù)據(jù)庫系統(tǒng)會根據(jù)物理內(nèi)存的大小來動態(tài)的增大或者縮小高速緩沖區(qū)的容量。這主要是為了提高SQL Server服務(wù)器的性能才如此的設(shè)計的。
我們知道,一般情況下,高速緩沖區(qū)越大,則SQL Server服務(wù)器的性能越好。這主要是因為有些用戶查詢過的數(shù)據(jù)都可以放在高速緩沖區(qū)(即內(nèi)存的其中一部分)中。如此的話,當(dāng)用戶下次再次需要這些數(shù)據(jù)的時候,就不用到硬盤中去讀取,而直接在內(nèi)存中讀取即可。而從內(nèi)存中讀取數(shù)據(jù)要比在硬盤中讀取速度要快的多。
所以,只要當(dāng)服務(wù)器的可用內(nèi)存在4MB與10MB之間的話,數(shù)據(jù)庫系統(tǒng)就會把它的高速緩沖區(qū)不斷的擴大。如此的話,當(dāng)郵箱服務(wù)器突然需要用到比較大的內(nèi)存,如對郵箱進行備份或者有用戶群發(fā)郵件的時候,就會報錯說“內(nèi)存分配不足”。
故一般只是內(nèi)存升級,往往不能夠解決SQL Server服務(wù)與其他應(yīng)用服務(wù)搶占內(nèi)存的情況。為了讓SQL Server能夠與其他應(yīng)用服務(wù)友好的共處,數(shù)據(jù)庫管理員還需要對內(nèi)存進行合理的分配,限制SQL Server數(shù)據(jù)庫服務(wù)內(nèi)存的占用率。
二、解決方法。
一是合理地給SQL Server數(shù)據(jù)庫分配內(nèi)存。而是不要把SQL Server服務(wù)跟其他應(yīng)用服務(wù)放在同一臺服務(wù)器上,畢竟數(shù)據(jù)庫服務(wù)的并發(fā)行訪問比較多,對服務(wù)器的性能要求比較高。
若果企業(yè)選擇第一種應(yīng)對措施的話,就需要限制SQL Server服務(wù)器的內(nèi)存使用率。為了使得運行在同一臺服務(wù)器的SQL Server服務(wù)器與郵箱服務(wù)能夠達(dá)到一個合理的性能,能夠和平共處,就需要采取一定的措施限制SQL Server數(shù)據(jù)庫服務(wù)的內(nèi)存使用量。在SQL Server服務(wù)器中,專門提供了一個工具(數(shù)據(jù)庫引擎),可以用來幫助我們干預(yù)SQL Server服務(wù)器的內(nèi)存分配。
具體的說,可以按如下方法進行配置。
第一步:打開SQL Server企業(yè)管理器。
在SQL Server數(shù)據(jù)庫中,提供了一個圖形化界面的企業(yè)管理器。在這個管理平臺上可以對SQL Server的大部分服務(wù)進行管理與配置。SQL Server數(shù)據(jù)庫服務(wù)的內(nèi)存分配規(guī)則當(dāng)然也不例外,可以在這里進行調(diào)整。
第二步:找到我們需要調(diào)整的服務(wù)器。
有些企業(yè),可能在網(wǎng)絡(luò)中部署了多個SQL Server服務(wù)器。為了管理的方面,會在其中一臺服務(wù)器上的企業(yè)管理器中集中進行管理。不過,這家企業(yè)他們只有一個SQL Server服務(wù)器。在我們需要調(diào)整的服務(wù)器上,右鍵單擊,選擇“屬性”。然后就會彈出一個對話框。在對話框中選擇“內(nèi)存選項卡”。在這里就可以對數(shù)據(jù)庫應(yīng)用服務(wù)的內(nèi)存分配方法進行設(shè)置。
第三步:調(diào)整相關(guān)的內(nèi)存參數(shù)。
在這張選項卡中,一般有兩個參數(shù),分別為最小服務(wù)內(nèi)存與最大服務(wù)內(nèi)存。在實際工作中,我們往往有兩種配置方法。
一是配置一個最大最小內(nèi)存。即給SQL Server數(shù)據(jù)庫應(yīng)用服務(wù)設(shè)置一個最大的使用內(nèi)存。如此的話,在這個最大的范圍之后,數(shù)據(jù)庫系統(tǒng)會根據(jù)實際情況,在最大內(nèi)存范圍之內(nèi)對內(nèi)存的分配進行調(diào)整。一般情況下,最小內(nèi)存我們可以不設(shè)置,只對最大內(nèi)存進行限制即可。這就給數(shù)據(jù)庫一種自主選擇的權(quán)利�?梢蕴岣邇�(nèi)存的使用效率。
二是固定內(nèi)存分配。即把“最小服務(wù)內(nèi)存”與“最大服務(wù)內(nèi)存”兩個參數(shù)設(shè)置為相同。如此的話,不管數(shù)據(jù)庫服務(wù)需要多大的內(nèi)存,在服務(wù)器啟動的時候,操作系統(tǒng)都會給其預(yù)留這么大的內(nèi)存。其他的應(yīng)用程序及時內(nèi)存再怎么不足,也不會跨越數(shù)據(jù)庫的內(nèi)存領(lǐng)地。很明顯,這種方式雖然保證了數(shù)據(jù)庫服務(wù)的內(nèi)存需求,但是,內(nèi)存的使用率并不是很高。
針對上面兩種方法,筆者比較傾向與使用第一種配置,即只對數(shù)據(jù)庫應(yīng)用服務(wù)的最大內(nèi)存使用率進行限制。只要不超過這個范圍,則服務(wù)器可以自主的進行調(diào)解。那么這個最大的使用率設(shè)置成多少合適呢?這主要要看企業(yè)所部屬的服務(wù)了。由于這家企業(yè),在同一臺服務(wù)器上運行了郵箱服務(wù)器與數(shù)據(jù)庫服務(wù)器,可能對硬件的壓力比較大。因為這兩個應(yīng)用服務(wù),都涉及到比較多的并發(fā)訪問。所以,即使把硬件升級成了2G,估計也不能夠給數(shù)據(jù)庫服務(wù)分配比較多的內(nèi)存。一般來說,并發(fā)性訪問越多,則最好能夠給其配置比較多的內(nèi)存。
配置完成之后,不用重新啟動,這個規(guī)則就會起效。不過筆者還是建議把SQL Server服務(wù)重新啟動一下。在可以的情況下,把服務(wù)器重新啟動一下最好。如此的話,操作系統(tǒng)就會根據(jù)這個規(guī)則,對內(nèi)存進行重新的調(diào)整分配。也可以讓SQL Server服務(wù)器更好的隊內(nèi)存進行合理的安排。如可以把SQL Serve可用內(nèi)存固定在一個連續(xù)的區(qū)域內(nèi),以提高數(shù)據(jù)庫的性能。
三、總結(jié)。
一是硬件升級只是數(shù)據(jù)庫服務(wù)器性能提升的一個充分條件,而不是必要條件。也就是說,硬件的升級并不一定會導(dǎo)致服務(wù)器性能的提升。在硬件升級的同時,往往也需要調(diào)整相關(guān)的配置。讓硬件升級的優(yōu)勢得到極大的發(fā)揮。筆者認(rèn)為,有時候服務(wù)配置比純粹的硬件升級更加重要。一些經(jīng)驗不足的網(wǎng)絡(luò)管理人員只知道升級硬件,而忽視了服務(wù)的調(diào)整配置。他們這是走進了一個死胡同,效果往往不能夠達(dá)到他們的預(yù)期。
二是一些并發(fā)性比較大的應(yīng)用服務(wù)器,最好不要放在同一個服務(wù)器上�,F(xiàn)在企業(yè)基于服務(wù)器、客戶端模式的管理軟件應(yīng)用越來越多。這種模式一個顯著的特點,就是并發(fā)性訪問比較頻繁,給應(yīng)用服務(wù)器帶來了很大的壓力。在一些性能要求比較高的企業(yè),它們把數(shù)據(jù)庫與前臺的應(yīng)用程序服務(wù)器都分開放置,以求優(yōu)化服務(wù)器的性能。而且,現(xiàn)在服務(wù)器價格已經(jīng)逐漸能夠被企業(yè)所接受。筆者認(rèn)為,企業(yè)沒有必要在這方面省錢。若多個應(yīng)用服務(wù)并發(fā)性訪問比較多的情況下,則最好考慮把他們部署在不同的服務(wù)器上。以提高各個應(yīng)用服務(wù)的性能。
三是在同一個服務(wù)器上部署多個應(yīng)用服務(wù)的話,要考慮應(yīng)用服務(wù)的穩(wěn)定性,可能的話最好還是能夠分開部署。
分享:解決sql server查詢速度慢11個方法在 網(wǎng)頁制作 過程中經(jīng)常可以遇到SQLServer數(shù)據(jù)庫查詢速度慢的的情況,通過總結(jié)發(fā)現(xiàn)其原因主要有以下幾種: 1、沒有索引或者沒有用到索引(這是查詢慢最常見的問題,是程序設(shè)計的缺陷) 2、I/O吞吐量小,形成了瓶頸效應(yīng)。 3、沒有創(chuàng)建計算列導(dǎo)致查詢不優(yōu)化。 4
相關(guān)Mssql數(shù)據(jù)庫教程:
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實例詳解
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-揭秘SQL Server服務(wù)器內(nèi)存管理問題
。