文章編號: 319942 - 上次校閱: 2011年5月10日 - 版次: 4.0 HOW TO:判斷正確的 SQL Server 組態設定
在此頁中結論
本文將告訴您,如何使用下列組態設定值,及其相關考慮事項:
處理效能方面的問題時,透過組態調整方式,往往只能得到少許的效能改善 (除非您的系統之前並未做適當的設定)。在 SQL Server 7.0 和以後版本中,SQL Server 會使用自動組態調整,因此需要修改組態設定的機率相當低 (尤其是進階的設定值)。一般而言,如果沒有充足的理由,並且未經過仔細的精密測試,以確認修改組態的必要性時,請勿變更 SQL Server 的組態。在進行組態變更之前,您必須先建立一個基準,如此才能測知變更組態之後所帶來的好處。 如果 SQL Server 的設定不正確,有些設定值可能會導致伺服器不穩定,或是使 SQL Server 產生不正常的行為。根據我們多年提供不同環境的支援服務經驗而言,使用非預設的組態設定值可能會導致程度不等的負面效應。 如果您確定要變更組態,則必須針對組態變更之前和之後執行詳細、有條理的效能測試,如此才能得知改善的程度。 在我們提供支援的真實案例中,SQL Server 7.0 (含) 以後版本均不需要進行任何手動的組態調整,就可以獲得非常高的效能。 在 SQL Server 7.0 (含) 以後版本中,請勿變更 [使用者連線]、 [鎖定],以及 [Open Objects] ,因為依預設 SQL Server 可以動態調整這些設定值。 關聯遮罩此 {關聯遮罩] 設定值表示執行緒繫結至某特定 CPU 的穩定程度。依預設,Microsoft Windows NT 和 Microsoft Windows 2000 會使用「軟性的」(soft) 關聯,這種方式會在執行緒最後一次執行時,嘗試重新排定此執行緒在 CPU 上的執行時間。不過如果無法做到,此執行序就會在不同的 CPU 上執行。在實務上,將 [關聯遮罩] 設定值變更為預設值以外的設定值,對效能並不會有太大的幫助,而且還常會使效能降低。 [關聯遮罩] 會將 SQL Server 限制在一個可用 CPU 的子集,並讓其他會與此服務彼此競爭資源的服務擁有更好的 CPU 存取權。通常您並不需要這個功能,因為 SQL Server 是以一般優先順序而執行的。Windows NT 或 Windows 2000 的執行緒排程器會動態調整執行緒的優先順序,使所有會競爭資源的執行緒都有相同的機會,使用所有可用的 CPU。 除非發生非常不尋常的狀況,否則請勿調整 [關聯遮罩] 的組態。如果您還是要調整關聯遮罩,請在變更前後進行詳細、有條理的測試作業,以確認究竟是否需要變更設定,及其改善程度。 精簡集區依預設,SQL Server 會在每個作用中的 SPID 或使用者處理程序中,使用一個執行緒。這些執行緒會在集區組態內作業,讓執行緒的數量維持在可管理的範圍內。「精簡集區」(有時候也稱為「光纖模式」) 此進階組態選項會使用 Windows NT 的「光纖」支援功能,在單一執行緒中處理數個執行內容。依據實際經驗,除了極少數的狀況之外,您並不需要使用「光纖」模式。 即使您遇到以下所有狀況,精簡集區派得上用場的機會仍然很低。您必須透過詳細的控制測試,判斷此設定是否有效。
308604?
(http://support.microsoft.com/kb/308604/ZH-TW/
)
PRB:SQLMail Is Not Supported When You Run the Server in Fiber Mode
303120?
(http://support.microsoft.com/kb/303120/ZH-TW/
)
FIX:ConnectionWrite Error When You Use Lightweight Pooling
最大非同步 IOSQL Server 7.0: [最大非同步 IO] 組態設定是 SQL Server 7.0 中的組態設定。如果您擁有快速的 RAID 系統,並且有辦法測試變更設定後帶來多少好處,就可以變更此設定值。如果您還沒有一個可以評估結果的基準,請勿變更此設定值。監控磁碟的活動,並查看磁碟佇列的相關問題。如需詳細資訊,請參閱下列的《SQL Server 線上叢書》主題:
最大工作者執行緒依預設, [最大工作者執行緒] 的設定值為 255,此設定值允許建立最多 255 個工作者執行緒。通常只要使用預設設定值 255 即可。 這並不表示您只能建立 255 個使用者連線。系統中可以有數千個使用者連線 (這些使用者連線會多路傳輸到 255 個工作者執行緒),而通常使用者們並不會感覺到任何延遲。在這個狀況下,同一時間內只能執行 255 個查詢作業,並且會多路傳輸到可用 CPU 的數量,所以不管設定的工作者執行序數量是多少,只有在這個時候才會察覺到其並行處理的本質。如果您將工作者執行緒的值設為大於預設值,則會對排程和資源方面造成的效能負荷,其結果幾乎是一定會產生不良的後果,並降低系統效能。只有在非常少見的狀況下,以及經過詳細、有條理的測試後顯示有必要這麼做時,才可以增加此設定值。 記憶體如需有關設定記憶體的詳細資訊,請參閱《SQL Server 線上叢書》中的〈Optimizing Server Performance Using Memory Configuration Options〉主題。 如需有關設定叢集 SQL Server 的記憶體的詳細資訊,請參閱《SQL Server 線上叢書》中的〈Creating a Failover Cluster〉主題中的〈Usage Considerations〉。 如需詳細資訊,請按一下下列的文件編號,檢視「Microsoft 知識庫」中的文件: 274750?
(http://support.microsoft.com/kb/274750/ZH-TW/
)
HOW TO:在 SQL Server 上設定 2 GB 以上的記憶體
224818?
(http://support.microsoft.com/kb/224818/ZH-TW/
)
Simple Memory Tuning is Required if Both SQL Server 7.0 and Exchange 5.5 Service Pack 2 Are Installed on BackOffice Small Business Server 4.5
316749?
(http://support.microsoft.com/kb/316749/ZH-TW/
)
PRB:There May Not Be Enough Virtual Memory with Large Number of Databases
優先順序增加依預設, [優先順序增加] 的設定值為 0,此時 SQL Server 不論是在單一處理器或對稱多重處理器 (SMP) 的電腦上執行時,都是以一般優先順序而執行。如果您將 [優先順序增加] 設定為 1,則 SQL Server 處理程序就會以高優先順序而執行。但這個設定值並不會使 SQL Server 處理程序以最高的作業系統優先順序執行。就實際的支援經驗來說,您並不需要為了得到良好的效能,而使用 [優先順序增加] 。如果使用了 [優先順序增加],反而可能在某些狀況下對伺服器的運作產生干擾,因此除了少數狀況外,請不要使用這個設定值。例如,「Microsoft 技術支援部」 在調查效能問題時,才有可能會使用 [優先順序增加] 。 重要:請勿在執行 SQL Server 的伺服器叢集中使用 [優先順序增加] 。 設定工作集大小請勿將 [設定工作集大小] 變更為預設值以外的設定值。使用預設值 0 時,Windows NT 或 Windows 2000 虛擬記憶體管理程式可以判斷 SQL Server 的工作集大小。在您安裝 SQL Server 時,安裝程式會自動指引 Windows NT 或 Windows 2000,使其將網路應用程式的效能最佳化。因此,Windows NT 或 Windows 2000 的虛擬記憶體管理程式會對工作集進行少許的調整,如此只會對 SQL Server 執行個體的工作集產生最低的影響。變更這個設定值基本上對效能並沒有什麼好處。就實際的支援案例來說,變更這個設定值是弊多於利。 如果您變更了 [設定工作集大小],也可能成為 SQL Server 的 844 或 845 錯誤訊息的原因之一。如需有關錯誤訊息 844 和 845 的常見原因的詳細資訊,請參閱本文〈參考〉一節。 ?考如需詳細資訊,請按一下下列的文件編號,檢視「Microsoft 知識庫」中的文件:
310834?
(http://support.microsoft.com/kb/310834/ZH-TW/
)
PRB:Common Causes of Error Message 844 or Error Message 845 (Buffer Latch Time Out Errors)
298475?
(http://support.microsoft.com/kb/298475/ZH-TW/
)
INF:成功排除 SQL Server 應用程式效能問題所需的資訊
243589?
(http://support.microsoft.com/kb/243589/ZH-TW/
)
資訊:在 SQL Server 7.0 或更新版本上的執行緩慢查詢疑難排解
243588?
(http://support.microsoft.com/kb/243588/ZH-TW/
)
資訊: 特殊查詢效能的疑難排解
224587?
(http://support.microsoft.com/kb/224587/ZH-TW/
)
資訊:SQL Server 應用程式效能疑難排解
166967?
(http://support.microsoft.com/kb/166967/ZH-TW/
)
INF:正確的 SQL Server 組態設定
254321?
(http://support.microsoft.com/kb/254321/ZH-TW/
)
INF:叢集 SQL Server 謹記與切忌事項以及基本警告
297864?
(http://support.microsoft.com/kb/297864/ZH-TW/
)
INF:Performance Considerations for Upgrade from SQL Server 6.5
這篇文章中的資訊適用於:
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群立即取得協助文章翻譯
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
回此頁最上方
