SQL Server 2008 與 Office SharePoint Server 2007 的整合

本文內容:

  • 關於 Office SharePoint Server 與 SQL Server 2008 的整合

  • 資料庫備份壓縮

  • 記錄資料流壓縮

  • 透明資料加密 (TDE)

  • SQL Server 2008 資源管理員

本文提供如何實作 Microsoft SQL Server 2008 的一些新功能,以加強 Microsoft Office SharePoint Server 之部署的規則指導。

關於 Office SharePoint Server 與 SQL Server 2008 的整合

對於 Office SharePoint Server 而言,SQL Server 2008 最重要的部分,在於改進了下列項目:

  • 效能 (藉由實作資料庫備份壓縮)。

  • 可用性 (藉由實作記錄資料流壓縮)。

  • 安全性 (藉由實作「透明資料加密」(TDE))。

  • 資源管理 (使用 SQL Server 2008 資源管理員)。

注意

如需 Microsoft Office SharePoint Server 2007 系統需求的詳細資訊,請參閱<決定硬體和軟體需求 (Office SharePoint Server)>。

如需 SQL Server 2008 系統需求的詳細資訊,請參閱安裝 SQL Server 2008 的硬體和軟體需求 (https://go.microsoft.com/fwlink/?linkid=129377&clcid=0x404)。

如需 SQL Server 2008 Enterprise 與 SQL Server 2008 Standard 的支援功能比較,請參閱 Microsoft SQL Server 2008 Enterprise 與 Standard 的功能比較 (英文) (https://go.microsoft.com/fwlink/?linkid=129378&clcid=0x404) 。

資料庫備份壓縮

SQL Server 2008 Enterprise Edition 可讓您壓縮資料庫備份,而您則可使用任何版本的 SQL Server 2008 還原壓縮的資料庫備份。SQL Server 2008 的壓縮資料庫備份功能對於Office SharePoint Server 使用者而言十分重要。藉由在備份指令檔中設定壓縮旗標,或將執行 SQL Server 2008 Enterprise Edition 的應用程式伺服器設定為預設執行壓縮,可大幅縮小資料庫備份及所傳送之記錄檔的大小。

備份和還原作業的成本與複雜性是 IT 管理的重要部分。使用備份壓縮,在 SQL Server 2008 上執行的 Office SharePoint Server 就可以提供節省成本的備份和還原作業。節省多少成本是取決於 Office SharePoint Server 部署以文件為中心的程度,以及環境中的現有 Office 用戶端應用程式版本。

Office SharePoint Server 預設會將文件串流儲存至 SQL 資料表中。而根據您的部署,文件串流可能會耗用高百分比的總資料庫容量 (大小為 70% 到 95%,根據部分範例 Office SharePoint Server 資料庫而定)。如果環境主要是由 Office 2007 用戶端應用程式所組成,則備份壓縮可能無法大幅節省成本。在此情況下,成本大約只能節省 20% 或更少。不過,如果現有的資料主要是由使用 Office 2003 (或舊版 Office) 建立的內容所組成,則啟用 SQL Server 2008 備份壓縮可以大幅減少備份映像檔的大小,並節省可觀的成本。

您可以在執行 SQL Server 2008 Enterprise Edition 之應用程式伺服器上的 SQL Server Management Studio 中設定 SQL Server 屬性,以實作備份壓縮。如需詳細資訊,請參閱 SQL Server Management Studio 簡介 (https://go.microsoft.com/fwlink/?linkid=129379&clcid=0x404)。

您也可以將壓縮子句加入備份指令碼,以設定資料庫備份壓縮,如下列程式碼範例所示:

BACKUP DATABASE [<DATABASE_NAME>]
TO DISK = 'E:\BACKUP\<DATABASE_NAME>.bak'
WITH COMPRESSION;

壓縮會耗用 CPU 資源,而在許多環境中 CPU 十分珍貴,即使在備份 Windows 亦是如此。根據預設,在備份時使用備份壓縮功能,將會耗用大量的 CPU,而壓縮程序額外耗用的 CPU 資源,可能會對並行執行的作業造成不良的影響。如需詳細資訊,請參閱備份壓縮 (SQL Server) (https://go.microsoft.com/fwlink/?linkid=129381&clcid=0x404)。

記錄資料流壓縮

主要伺服器與鏡像伺服器之間的網路輸送量,是限制資料庫鏡像效能的因素之一。SQL Server 2008 所支援的記錄資料流壓縮功能,會在伺服器之間傳輸插入、更新及刪除。記錄資料流壓縮有助於極大化網路輸送量,對網路條件極差的環境尤其是。此壓縮功能與備份壓縮功能的效果類似,但對CPU 資源的影響類似。不像備份壓縮,很難控制其對 CPU 資源的影響。預設在您啟動鏡像工作階段時,即會開啟記錄資料流壓縮。但您可使用追蹤旗標 1462 停用記錄資料流壓縮。如需記錄資料流與鏡像的詳細資訊,請參閱可用性增強功能 (Database Engine) (https://go.microsoft.com/fwlink/?linkid=129382&clcid=0x404)。

透明資料加密 (TDE)

SQL Server 2008 Enterprise Edition 的 TDE 支援對 Microsoft SQL Server 2005 的加密功能而言,是一項重大的改良。TDE 可讓您加密整個資料庫而無需知道應用程式或任何修改。TDE 會在其將資料寫入磁碟時加密,以及從磁碟讀取資料時解密。您可以執行下列程式碼範例所示之程序啟用 TDE:

  1. 建立加密金鑰

  2. 建立憑證

  3. 將您的資料庫設定成要使用憑證進行加密

  4. 啟用加密

建立加密金鑰

USE MASTER;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'p@$$W0rd'
安全性提示安全性附註:

如有施行複雜性,則密碼必須符合複雜性。

建立憑證

CREATE CERTIFICATE MYENCRYPTCERT WITH SUBJECT = 'TDE';

注意

備份憑證與金鑰,然後加以儲存。

將您的資料庫設定成要使用憑證進行加密

USE <ContentDB>;
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MYENCRYPTCERT;

注意

有數種不同的演算法可使用於前述程式碼範例中。

啟用加密

ALTER DATABASE <ContentDB>
SET ENCRYPTION ON;

TDE 是會高度耗用 CPU 的作業,為確保安全性,必須將加密限定在下列範圍內:

  • 加密的資料庫

  • 記錄檔

  • 暫存資料庫

  • 加密資料庫的備份

這表示忙碌的系統將會耗用大量的 CPU 資源,即使是加密小量的資料庫亦然。因此,請謹慎使用加密,並只在絕對必要及經過全面性的效能與交叉作業測試後才使用加密。您可以考慮只對安全性為第一優先要務,以及規規模不是十分重要的資料庫子集實作 TDE。

如需在 SQL Server 2008 Enterprise Edition 中加密資料庫的詳細資訊,請參閱在 SQL Server 2008 Enterprise Edition 中加密資料 (英文) (https://go.microsoft.com/fwlink/?linkid=129383&clcid=0x404) 。

使用 TDE 時所須考慮的其他因素

  • 備份壓縮對於加密過之資料庫的效果不佳。

  • TDE 可能無法受惠於多處理器的優點。

  • 由於還原資料庫時需要憑證,因此 TDE 會影響還原作原及損毀修復。若無加密憑證,還原作業將會失敗

  • TDE 會影響資料庫鏡像與記錄的傳送。您必須在夥伴伺服器上安裝加密憑證,才可進行鏡像或傳送記錄檔。

  • 檔案資料流的資料不會予以加密。

如需 TDE 的詳細資訊,請參閱瞭解透明資料加密 (TDE) (https://go.microsoft.com/fwlink/?linkid=129384&clcid=0x404)。

SQL Server 2008 資源管理員

SQL Server 2008 資源管理員可讓您精確地控制 SQL Server 資源 (如 CPU 與記憶體) 的配置方式。您可以使用資源管理員根據指派的準則,對傳入連線套用臨界值。凡能夠讓傳入要求成為唯一的屬性,皆適用資源管理員。例如,若要避免不同伺服器上所執行的報告應用程式耗用太多的記憶體,可以建立原則依據應用程式名稱、主機名稱或使用者名稱識別應用程式。

重要

請勿使用 SQL Server 2008 資源管理員控制 Office SharePoint Server 使用 SQL Server 的方式。例如,使用過量 SQL Server 資源的索引伺服器會對容量規劃造成問題,必須藉由增加容量的方式解決,而不是以人為方式限制重要的服務。對 SharePoint 服務設立限制,即使看來微不足道,都可能會對環境的狀況及支援能力造成負面的影響。

資源管理員可讓您維護及管理 SQL Server 的資源。例如,若要確認您小組無法使用 Management Studio 或 Query Analyzer 以避免其特定資料查詢造成 SQL Server 超載,可以執行下列程式碼範例中的程序,使用資源管理員將特定資料查詢對於 CPU 資源的耗用量,限定在可用量的 25% 以下:

  1. 建立將 CPU 使用量限定為 25% 的資源庫

  2. 建立特定資料查詢的工作負載群組,並將其登錄至新的資源庫

  3. 建立將 Management Studio 和 Query Analyzer 歸類為特定群組成員的函數

  4. 向資源管理員登錄新函數

  5. 重新啟動資源管理員

建立將 CPU 使用量限定為 25% 的資源庫

CREATE RESOURCE POOL poolAdhoc
WITH (MAX_CPU_PERCENT = 25);

建立特定資料查詢的工作負載群組,並將其登錄至新的資源庫

CREATE WORKLOAD GROUP groupAdhoc
USING poolAdhoc;

建立將 Management Studio 和 Query Analyzer 歸類為特定群組成員的函數

CREATE FUNCTION adhocQueryClassifier() RETURNS SYSNAME
WITH SCHEMABINDING
AS
BEGIN
   DECLARE @grp_name AS SYSNAME
      IF (APP_NAME() LIKE '%MANAGEMENT STUDIO%')
         OR (APP_NAME() LIKE '%QUERY ANALYZER%')
         SET @grp_name = 'groupAdhoc'
   RETURN @grp_name
END
GO

向資源管理員登錄新函數

ALTER RESOURCE GOVERNOR
WITH (CLASSIFIER_FUNCTION= dbo.adhocQueryClassifier);

重新啟動資源管理員

ALTER RESOURCE GOVERNOR RECONFIGURE;

由 SQL Management Studio 或 Query Analyzer 所發出的查詢會配置到 poolAdhoc,而當 CPU 資源吃緊時,更會將查詢對於 CPU 資源的耗用量限制在可用量的 25% 以下。當 CPU 資源吃緊的狀況解除後,資源管理員即會讓每一項查詢使用其所需要的資源,而不加以限制。資源管理員也可用於配置基本的資源。

如需資源管理員的詳細資訊,請參閱使用資源管理員來管理 SQL Server 工作負載 (https://go.microsoft.com/fwlink/?linkid=129385&clcid=0x404)。

下載本書

本主題隨附於下列可下載的叢書中,以便於閱讀與列印:

請參閱 Office SharePoint Server 2007 可下載的內容 (英文) 上提供的完整叢書清單。