设置服务器配置选项

您可以使用 SQL Server Management Studio 或 sp_configure 系统存储过程通过配置选项来管理和优化 SQL Server 资源。 大多数常用的服务器配置选项可以通过 SQL Server Management Studio 来使用;而所有配置选项都可通过 sp_configure 来访问。 在设置这些选项之前应该认真考虑这些选项对系统的影响。

重要说明重要提示

高级选项只能由有经验的数据库管理员或认证的 SQL Server 技术人员更改。

使用 sp_configure 系统存储过程

使用 sp_configure 时,必须在设置配置选项之后运行 RECONFIGURE 或 RECONFIGURE WITH OVERRIDE。 RECONFIGURE WITH OVERRIDE 语句通常专门用来设置那些使用起来应当十分小心的配置选项。 但是,RECONFIGURE WITH OVERRIDE 可用于所有的配置选项,并且可以用它代替 RECONFIGURE。

注意注意

RECONFIGURE 在事务内部执行。 如果任意重新配置选项失败,则所有重新配置操作都将失效。

每个选项的值都可使用以下语句确定。

SELECT * FROM sys.configurations
ORDER BY name ;
GO

下面的示例显示了如何使用 sp_configure 将 fill factor 选项从其默认设置更改为值 100。

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'fill factor', 100;
GO
RECONFIGURE;
GO

配置选项的分类

配置选项在下面两种情况下生效:

  • 在设置选项并发出 RECONFIGURE(在某些情况下为 RECONFIGURE WITH OVERRIDE)语句之后立即生效。

    -或-

  • 执行以上操作并重新启动 SQL Server 实例之后生效。

若要配置高级选项,必须先在将 'show advanced options' 选项设置为 1 时运行 sp_configure,然后运行 RECONFIGURE,如下面的示例所示。

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'cursor threshold', 0;
GO
RECONFIGURE;
GO

将立即重新配置 cursor threshold 选项。 cursor threshold 的新值将出现在配置选项 value_in_use 列和 value 列中。

需要重新启动 SQL Server 的选项最初只在 value 列中显示更改后的值。 在重新启动后,新值将出现在 value 列和 value_in_use 列中。

但有些选项需要在重新启动服务器后,新的配置值才能生效。 如果设置了新值并在没有重新启动服务器的情况下运行 sp_configure,则新值将出现在配置选项的 value 列中,而不是出现在 value_in_use 列中。 重新启动服务器之后,新值将出现在 value_in_use 列中。

自配置选项是指 SQL Server 根据系统需要进行调整的选项。 在大多数情况下,这就无需手动设置值。 示例包括 min server memory 和 max server memory 选项以及 user connections 选项。

配置选项表

下表列出了所有可用的配置选项、可能的设置范围及其默认值。 配置选项按以下字母代码标记:

更改历史记录

更新的内容

更新了 affinity64 mask 选项以指示重新启动是必需的。