SharePoint Server 2010 伺服器陣列中 SQL Server 2008 的最佳作法

 

適用版本: SharePoint Server 2010

上次修改主題的時間: 2016-11-30

本文說明在 Microsoft SharePoint Server 2010 環境中設定和維護 Microsoft SQL Server 2008 的最佳作法。這些作法的順序是依其套用的順序,從安裝和設定 SQL Server 2008、部署 SharePoint Server,然後維護伺服器陣列。

本文是 SharePoint Server 的最佳作法系列文章的其中一篇。如需此系列的其他文章,請參閱<最佳作法 (SharePoint Server 2010)>。如需有關 SharePoint Server 2010 之最佳作法的詳細資訊和資源,請參閱最佳作法資源中心 (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=220280&clcid=0x404) (可能為英文網頁)。

1. 為 SQL Server 2008 使用專用伺服器

若要確保伺服器陣列作業的最佳效能,建議您將 SQL Server 2008 安裝在專用伺服器上,且該伺服器沒有執行任何其他伺服器陣列角色,也沒有架設任何其他應用程式的資料庫。唯一的例外情況是在獨立伺服器上部署 SharePoint Server 2010,不過對於大型實際執行環境並不建議這種作法。

注意

為資料庫使用專用伺服器的建議也適用虛擬化 SQL Server 2008 的任何環境。

2. 先設定特定 SQL Server 2008 設定,再部署 SharePoint Server 2010

若要確保行為與效能一致,請先設定下列選項與設定,然後再部署 SharePoint Server 2010。

  • 不要在支援 SharePoint Server 的 SQL Server 上啟用自動建立統計資料。

  • 針對架設 SharePoint Server 2010 資料庫的 SQL Server 執行個體,將平行處理原則 (MAXDOP) 的最大程度設定為 1,以確保每個要求都由單一 SQL Server 處理序進行處理。

    重要

    在 SharePoint Server 環境中,任何其他設定將會造成在執行時選取次佳的查詢規劃,因而降低整體效能。

  • 若要讓維護工作變得更簡便,而且在以後需要時更容易重新找到資料庫,請為伺服器陣列中的每部資料庫伺服器設定 SQL Server 連線別名。

如需詳細資訊,請參閱<設定 SQL Server 選項>。

3. 部署 SharePoint Server 2010 前先強化資料庫伺服器

建議您在部署 SharePoint Server 2010 前先規劃強化資料庫伺服器,其中包括保護 SharePoint Server 與 SQL Server 的資料庫伺服器角色。如需詳細資訊,請參閱:

4. 針對效能與可用性設定資料庫伺服器

與網頁伺服器與應用程式伺服器一樣,資料庫伺服器的設定會影響 SharePoint Server 2010 效能的高低。某些資料庫需要與其他資料庫特定共置或與其他資料庫分開。如需詳細資訊,請參閱:

對於使用鏡像之高可用性資料庫,請參閱資料庫鏡像最佳作法與效能考量 (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=185119&clcid=0x404) (可能為英文網頁) 中的最佳作法指導方針。

5. 針對最佳輸送量和管理能力設定儲存區

建議您將資料分開放在資料庫伺服器的磁碟上,並設定優先順序。在理想狀況下,tempdb 資料庫、內容資料庫、使用狀況資料庫、搜尋資料庫及 SQL Server 2008 交易記錄檔應分別放在不同實體硬碟上。下列清單提供有關設定資料和記錄的優先順序並進行管理的一些最佳作法和建議。如需詳細資訊,請參閱<設定資料庫>。

  • 對於共同作業或大量更新的網站,請針對儲存區的散佈使用下列排名:

    1. tempdb 資料檔和交易記錄 (在速度最快的磁碟上)

    2. 內容資料庫交易記錄檔

    3. 搜尋資料庫 (不包括搜尋管理資料庫)

    4. 內容資料庫資料檔

  • 在大部分以讀取為主的入口網站中,資料與搜尋的優先順序應高於交易記錄,如下所示:

    1. tempdb 資料檔和交易記錄 (在速度最快的磁碟上)

    2. 內容資料庫資料檔

    3. 搜尋資料庫 (不包括搜尋管理資料庫)

    4. 內容資料庫交易記錄檔

  • 根據測試與使用者資料顯示,整體伺服器陣列的效能可能會因為 tempdb 的磁碟 I/O 不足而大幅降低。若要避免此問題,請為 tempdb 配置專用磁碟。

  • 為獲得最佳效能,請將 tempdb 放置於 RAID 10 陣列上。tempdb 資料檔數目應等於核心 CPU 的數目,且 tempdb 資料檔應設定為相同的大小。

  • 將資料庫資料與交易記錄檔分別放在不同磁碟上。如果因為檔案太小而無法使用整個磁碟或等量磁碟區,或您的磁碟空間不足,而使檔案必須共用磁碟,請將使用模式不同的檔案存放在相同的磁碟上,以盡可能減少同時執行的存取要求。

  • 對大量使用的內容資料庫使用多個資料檔,每個資料檔都位於自己的磁碟上

  • 若要改善管理能力,請將內容資料庫的大小限制為 50 GB

適當設定 I/O 子系統對於 SQL Server 系統的最佳效能與作業是非常重要的。如需詳細資訊,請參閱<Storage Top 10 Best Practices>。

6. 主動管理資料及記錄檔的增長

建議您考量下列建議,主動管理資料及記錄檔的增長:

  • 如果可能,請將所有資料檔和記錄檔先行擴充成預期的最後大小,或設定定期增長這些檔案的時間,例如,每個月或每六個月,或是在首度推出需要大量儲存區的新網站前 (例如檔案移轉期間)。

  • 建議您啟用資料庫自動成長做為保護措施,以確保資料檔和記錄檔的空間不會用完。請考慮下列項目:

    重要

    您必須將使用自動成長時可能出現的相關效能與操作問題列入考慮。如需詳細資訊,請參閱 SQL Server 中的 Autogrow 和 Autoshrink 設定考量 (https://go.microsoft.com/fwlink/?linkid=117750&clcid=0x404)

    • 不要依賴自動成長的預設設定,請使用<設定 SQL Server 選項>中提供的指導方針。

    • 將自動成長值設定為百分比而不是固定的 MB 值。資料庫越大,增加的成長應該就越大。

      請考慮在內容逐漸增加的情況下,假設增量為 100 MB,而自動成長設定為 10 MB。然後突然間,新的文件管理網站需要大量的資料儲存區,也許最初大小為 50 GB;則我們會希望其增量為 500 MB 而不是 10 MB。

    • 對於受管理的實際執行系統,您必須僅將自動成長視為非預期成長的緊急應變手段。請不要使用自動成長選項,管理資料以及記錄每日的成長。

  • 維持至少 25% 水準的可用磁碟空間以因應成長與尖峰使用模式。如果以在 RAID 陣列中新增磁碟的方式或配置更多儲存空間的方式管理成長,請嚴密監視磁碟大小,以避免發生空間不足的情況。

7. 持續監視 SQL Server 儲存空間與效能

建議您持續監視 SQL Server 儲存空間與效能,以確保實際執行資料庫伺服器能夠適當地處理給它的負載。此外,持續監視也能讓您建立資源規劃使用的基準。

請以整體方式檢視資源監視作業;不要限制對 SQL Server 特定資源的監視。同樣也務必針對執行 SQL Server 的伺服器,追蹤下列資源元件:CPU、記憶體、快取/叫用率及 I/O 子系統。

當資料庫伺服器的一或多個元件似乎有緩慢或負擔過重的現象,請根據目前工作負載及預計工作負載,分析適當策略。如需詳細資訊,請參閱:

8. 使用備份壓縮來加速備份作業和縮小檔案大小

備份壓縮可加速任何 SharePoint 備份作業,這項功能在 SQL Server 2008 Enterprise Edition 或 SQL Server 2008 R2 Standard Edition 中都有提供。只要在備份指令碼中設定壓縮選項,或將執行 SQL Server 的伺服器設定為預設執行壓縮,就能大幅縮減資料庫備份及所傳送的記錄檔大小。如需詳細資訊,請參閱備份壓縮 (SQL Server) (https://go.microsoft.com/fwlink/?linkid=129381&clcid=0x404) 和資料壓縮:策略、容量規劃及最佳作法 (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=223674&clcid=0x404) (可能為英文網頁)。

致謝

SharePoint Server 2010 內容發佈小組感謝以下參與者對本文的貢獻。

  • Stephen Dillon,資深顧問

  • Gus Apostal,資深程式經理,SQL Server