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=0x804)。

有关 SQL Server 2008 Enterprise 和 SQL Server 2008 Standard 中受支持功能的比较,请参阅 Microsoft SQL Server 2008 Enterprise 和 Standard 功能比较(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=129378&clcid=0x804)(该链接可能指向英文页面)。

数据库备份压缩

SQL Server 2008 Enterprise Edition 使您能够压缩数据库备份,并且可以使用任何版本的 SQL Server 2008 还原压缩的数据库备份。对于 Office SharePoint Server 用户,压缩数据库备份是 SQL Server 2008 的一项重要功能。通过在备份脚本中设置压缩标志或通过将运行 SQL Server 2008 Enterprise Edition 的应用程序服务器配置为在默认情况下执行压缩,您可以显著减小数据库备份和附带日志的大小。

备份和还原操作的成本和复杂性是 IT 可管理性的重要方面。运行于 SQL Server 2008 上的 Office SharePoint Server 通过使用备份压缩或许能够节省备份和还原操作的成本。成本节省额取决于 Office SharePoint Server 部署以文档为中心的程度以及环境中存在的 Office 客户端应用程序的版本。

默认情况下,Office SharePoint Server 将文档流存储在 SQL 表中。文档流可能会消耗总数据库容量的一大部分(从某些示例 Office SharePoint Server 数据库来看,可能多达 70% 到 95%),具体数量取决于您的部署。如果您的环境主要包含 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=0x804)。

您还可以通过向备份脚本中添加压缩子句来配置数据库备份压缩,如以下代码示例所示:

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

压缩需要 CPU 资源,但在许多环境中 CPU 资源很宝贵,即使在备份期间也是如此。默认情况下,使用备份压缩功能进行备份会显著增加 CPU 使用率,并且压缩过程消耗的额外 CPU 资源会对并发操作产生负面影响。有关详细信息,请参阅备份压缩 (SQL Server) (https://go.microsoft.com/fwlink/?linkid=129381&clcid=0x804)。

日志流压缩

数据库镜像的其中一个性能限制因素是主体服务器和镜像服务器之间的网络吞吐量。SQL Server 2008 支持日志流压缩,其中包括在服务器之间传输的插入、更新和删除操作。日志流压缩有助于最大程度地提高网络吞吐量,尤其是在网络状况较差的环境中。您所看到的压缩有效性可能类似于备份压缩,并且对 CPU 资源的影响也类似。但是与备份压缩不同的是,对 CPU 资源的影响很难控制。默认情况下,日志流压缩在您启动镜像会话后会立即启用,但是您可以使用跟踪标志 1462 来禁用日志流压缩。有关日志流压缩和镜像的详细信息,请参阅可用性增强功能(数据库引擎) (https://go.microsoft.com/fwlink/?linkid=129382&clcid=0x804)。

透明数据加密 (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'
Security note 安全 注意:

如果实施了复杂性,则密码必须符合复杂性要求。

创建证书

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=0x804)(该链接可能指向英文页面)。

使用 TDE 时要考虑的其他因素

  • 备份压缩对已加密数据库的效果不明显。

  • TDE 可能不会利用多个处理器。

  • TDE 会影响还原操作和灾难恢复,因为您需要加密证书才能还原数据库。如果没有加密证书,还原操作将失败。

  • TDE 会影响数据库镜像和日志传送。您需要在伙伴服务器上安装加密证书才能够进行镜像或日志传送。

  • 不会加密文件流数据。

有关 TDE 的详细信息,请参阅了解透明数据加密 (TDE) (https://go.microsoft.com/fwlink/?linkid=129384&clcid=0x804)。

SQL Server 2008 资源调控器

通过 SQL Server 2008 资源调控器,您能够精确地控制 SQL Server 资源(如 CPU 和内存)的分配方式。您可以使用资源调控器根据指定条件对传入连接应用阈值。可以将资源调控器应用于任何使传入请求变得与众不同的属性。例如,如果您想防止在单独服务器上运行的报告应用程序占用太多内存,则可以创建一个按应用程序名称、主机名或用户名识别应用程序的策略。

Important 重要说明:

请不要使用 SQL Server 2008 资源调控器来控制 Office SharePoint Server 使用 SQL Server 的方式。例如,索引服务器使用过多 SQL Server 资源是一个容量规划问题,需要通过添加容量而不是人工限制关键服务来解决该问题。限制 SharePoint 服务会对您所在环境的运行状况和可支持性带来严重的负面影响,无论这些服务表面上是多么微不足道。

资源调控器使您能够维护和管理 SQL Server 资源。例如,如果您想确保您的团队不使用 Management Studio 或查询分析器通过临时查询使 SQL Server 超载,则可以使用资源调控器,通过执行以下代码示例中所示的过程,来防止临时查询占用 25% 以上的可用 CPU 资源:

  1. 创建资源库以将 CPU 使用率限制为 25%

  2. 为临时查询创建一个工作负荷组并向新资源库注册该组

  3. 创建一个将 Management Studio 和查询分析器归类为临时组的成员的函数

  4. 将新函数注册到资源调控器

  5. 重新启动资源调控器

创建资源库以将 CPU 使用率限制为 25%

CREATE RESOURCE POOL poolAdhoc
WITH (MAX_CPU_PERCENT = 25);

为临时查询创建一个工作负荷组并向新资源库注册该组

CREATE WORKLOAD GROUP groupAdhoc
USING poolAdhoc;

创建一个将 Management Studio 和查询分析器归类为临时组的成员的函数

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 或查询分析器的查询将分配给 poolAdhoc 。如果 CPU 资源受到约束,可供查询使用的 CPU 资源将限制为不超过 25%。当 CPU 资源不受约束时,资源调控器将允许每个查询无限制地使用所需的资源。资源调控器还可用于分配最少的资源。

有关资源调控器的详细信息,请参阅使用资源调控器管理 SQL Server 工作负荷 (https://go.microsoft.com/fwlink/?linkid=129385&clcid=0x804)。

下载此书籍

本主题包含在以下可下载书籍内,以方便您阅读和打印:

有关可下载书籍的完整列表,请参阅 Office SharePoint Server 2007 的可下载书籍