Setting Configuration Options
You can manage and optimize Microsoft® SQL Server™ resources through configuration options by using SQL Server Enterprise Manager or the sp_configure system stored procedure. The most commonly used server configuration options are available through SQL Server Enterprise Manager; all configuration options are accessible through sp_configure. Consider the effects on your system carefully before setting these options.
Important Advanced options are those that should be changed only by a experienced system administrator or certified SQL Server technician.
Using the sp_configure System Stored Procedure
When using sp_configure, you must run either RECONFIGURE or RECONFIGURE WITH OVERRIDE after setting a configuration option. The RECONFIGURE WITH OVERRIDE statement is usually reserved for configuration options that should be used with extreme caution (for example, setting the allow updates option to 1 allows users to update fields in system tables). However, RECONFIGURE WITH OVERRIDE works for all configuration options, and you can use it in place of RECONFIGURE.
The following is an example of a script you would use with sp_configure to change the fill factor option from its default setting to a value of 100:
sp_configure 'fill factor', 100
GO
RECONFIGURE
GO
Categories of Configuration Options
Configuration options either take effect either:
- Immediately after setting the option and issuing the RECONFIGURE (or in some cases, RECONFIGURE WITH OVERRIDE) statement.
-or-
- After doing these actions and stopping and restarting an instance of SQL Server.
To configure an advanced option with sp_configure, you must first run sp_configure with the show advanced options option set to 1, and then run RECONFIGURE:
sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'cursor threshold', 0
GO
RECONFIGURE
GO
In the previous example, reconfiguring the cursor threshold option to a new value takes place immediately. If you run sp_configure again, the new value for resource timeout appears in the configuration options run_value column.
Some options require a server stop and restart before the new configuration value takes effect. For example, you cannot configure the affinity mask option until you set show advanced options to 1, run RECONFIGURE, and stop and restart the server. If you set the new value and run sp_configure before stopping and restarting the server, the new value appears in the configuration options config_value column, but not in the run_value column. After stopping and restarting the server, the new value appears in the run_value column.
If you use SQL Server Enterprise Manager to change a configuration option, and the configuration option requires a server stop and restart to take effect, SQL Server displays a dialog box asking if you want to stop and restart the server.
Self-configuring options are those that SQL Server adjusts according to the needs of the system. In most cases, this eliminates the need for setting the values manually. Examples include the min server memory and max server memory options, and the user connections option.
Configuration Options Table
The following table lists all available configuration options, the range of possible settings, and default values. Letter codes next to a configuration option indicate:
- Advanced options (those that should be changed only by a certified SQL Server technician, and require setting show advanced options to 1), marked with "A."
- Options requiring a server restart to take effect, marked with "RR."
- Self-configuring options (those that SQL Server self-configures, depending on the needs of the system), marked with "SC."
Configuration option | Minimum | Maximum | Default |
---|---|---|---|
affinity mask (A, RR) | 0 | 2147483647 | 0 |
allow updates | 0 | 1 | 0 |
awe enabled (A, RR) | 0 | 1 | 0 |
c2 audit mode (A, RR) | 0 | 1 | 0 |
cost threshold for parallelism (A) | 0 | 32767 | 5 |
cursor threshold (A) | –1 | 2147483647 | -1 |
default full-text language (A) | 0 | 2147483647 | 1033 |
default language | 0 | 9999 | 0 |
fill factor (A, RR) | 0 | 100 | 0 |
index create memory (A, SC) | 704 | 2147483647 | 0 |
lightweight pooling (A, RR) | 0 | 1 | 0 |
locks (A, RR, SC) | 5000 | 2147483647 | 0 |
max degree of parallelism (A) | 0 | 32 | 0 |
max server memory (A, SC) | 4 | 2147483647 | 2147483647 |
max text repl size | 0 | 2147483647 | 65536 |
max worker threads (A, RR) | 32 | 32767 | 255 |
media retention (A, RR) | 0 | 365 | 0 |
min memory per query (A) | 512 | 2147483647 | 1024 |
min server memory (A, SC) | 0 | 2147483647 | 0 |
Using Nested Triggers | 0 | 1 | 1 |
network packet size (A) | 512 | 65536 | 4096 |
open objects (A, RR, SC) | 0 | 2147483647 | 0 |
priority boost (A, RR) | 0 | 1 | 0 |
query governor cost limit (A) | 0 | 2147483647 | 0 |
query wait (A) | -1 | 2147483647 | -1 |
recovery interval (A, SC) | 0 | 32767 | 0 |
remote access (RR) | 0 | 1 | 1 |
remote login timeout | 0 | 2147483647 | 20 |
remote proc trans | 0 | 1 | 0 |
remote query timeout | 0 | 2147483647 | 600 |
scan for startup procs (A, RR) | 0 | 1 | 0 |
set working set size (A, RR) | 0 | 1 | 0 |
show advanced options | 0 | 1 | 0 |
two digit year cutoff | 1753 | 9999 | 2049 |
user connections (A, RR, SC) | 0 | 32767 | 0 |
user options | 0 | 32767 | 0 |