SQL Server 2000 的参数主要分为两大类:

(图片来源网络,侵删)
- 服务器启动参数:在启动 SQL Server 服务时使用,用于配置服务器的基本行为。
- 配置参数:也称为“高级选项”或“服务器选项”,用于在服务器运行时调整其性能和行为。
服务器启动参数
这些参数通常通过命令行或服务属性来设置,用于定义 SQL Server 实例的基本属性,如数据文件位置、网络协议等。
常用启动参数包括:
| 参数 | 说明 | 示例 |
|---|---|---|
| -d | 指定 master 数据库文件的完整路径。 | -dE:\MSSQL\Data\master.mdf |
| -l | 指定 master 数据库日志文件的完整路径。 | -lE:\MSSQL\Data\mastlog.ldf |
| -e | 指定错误日志文件的完整路径。 | -eE:\MSSQL\LOG\ERRORLOG |
| -f | 以“最小配置模式”(Minimal Configuration Mode)启动,忽略大部分配置参数,仅加载 master 数据库,常用于解决无法正常启动的问题。 | -f |
| -m | 以“单用户模式”(Single User Mode)启动,只允许一个连接(通常是管理员),用于修复数据库。 | -m |
| -c | 指定 SQL Server 执行文件的完整路径。 | -cC:\Program Files\Microsoft SQL Server\MSSQL$INST1\Binn\sqlservr.exe |
| -s | 指定要启动的 SQL Server 实例的名称,默认实例为 MSSQLSERVER,命名实例则指定其实例名。 |
-sSQLEXPRESS |
| -T | 启动时开启一个“跟踪标志”(Trace Flag),用于开启特定的、非默认的行为或临时解决特定问题。-T 开头的标志是全局的。 |
-T3604 (用于将输出重定向到错误日志) |
| -x | 启动时减少启动时和关闭时的日志记录,以加快启动和关闭速度。 | -x |
如何设置启动参数?
- 通过服务属性:
- 打开“服务”管理器。
- 找到
MSSQLSERVER(默认实例) 或MSSQL$命名实例。 - 右键点击 -> 属性。
- 在“启动参数”选项卡中添加参数。
- 通过命令行:
- 打开命令提示符,切换到 SQL Server 的 Binn 目录。
- 执行
sqlservr.exe并附带参数,sqlservr.exe -dE:\MSSQL\Data\master.mdf -lE:\MSSQL\Data\mastlog.ldf -f
配置参数 (高级选项)
这些参数存储在系统表 sysconfigures 和 syscurconfigs 中,可以通过系统存储过程 sp_configure 来查看和修改,它们决定了 SQL Server 在运行时的内存使用、锁行为、网络设置等。

(图片来源网络,侵删)
修改配置参数的步骤:
- 以
sa或其他具有sysadmin角色的身份连接到 SQL Server。 - 运行
sp_configure查看所有参数及其当前值。 - 运行
sp_configure 'show advanced options', 1;并RECONFIGURE;来显示高级选项。 - 运行
sp_configure 'parameter_name', 'new_value';来修改参数。 - 运行
RECONFIGURE;(或RECONFIGURE WITH OVERRIDE;) 使新设置立即生效。
重要配置参数列表
以下是一些 SQL Server 2000 中最常用和重要的配置参数:
| 参数名称 | 描述 | 推荐值/说明 |
|---|---|---|
| allow updates | (极其危险) 允许直接更新系统表,默认为 0 (关)。 | 强烈建议保持为 0,除非在微软技术支持指导下,否则不要开启。 |
| awe enabled | 启用 Address Windowing Extensions (AWE) 来支持使用超过 4GB 的物理内存(需要 32 位操作系统和 /PAE 开关)。 | 如果运行在 32 位 Windows Server 2003 上且有大量内存,可设为 1。 |
| c2 audit mode | 启用 C2 安全审核模式,记录所有对数据的访问。 | 默认为 0,开启会严重影响性能,通常仅用于高安全审计环境。 |
| cursor threshold | 指定游标结果集多大时(行数)才异步生成,0 表示总是同步生成。 | 默认为 -1 (SQL Server 决定),可根据查询习惯调整,通常保持默认。 |
| default language | 指定服务器的默认语言。 | 0 (us_english),可根据用户需求修改,但建议通过用户登录设置覆盖。 |
| fill factor | 指定索引页在创建时保留的空闲空间百分比,以减少未来的页拆分。 | 默认为 0 或 10 (实际由 SQL Server 决定),对于频繁更新的表,可设置一个较低值(如 80-90)。 |
| full-text default change tracking | 指定全文目录的默认更改跟踪行为。 | 默认为 0 (手动跟踪),可设为 1 (自动跟踪) 或 2 (自动捕获和表跟踪)。 |
| in-disk is concurrency checks | (已弃用) 在 SQL Server 2000 中已不重要。 | 保持默认值 1。 |
| locks | 服务器上可同时锁定的最大数量。 | 默认为 0 (由 SQL Server 动态管理),如果出现“锁超时”错误,可以适当增加,但会增加内存开销。 |
| max degree of parallelism | 查询并行执行时可使用的最大 CPU 数量,0 表示使用所有可用 CPU。 | 默认为 0,对于多 CPU 服务器,可设置为 1 以禁用并行,或限制为 CPU 数量的一半。 |
| memory | 指定 SQL Server 使用的最大内存量 (MB)。 | 默认为 0 (动态使用可用内存),在有内存压力的系统上,应设置一个固定值,例如物理内存的 70-80%。 |
| nested triggers | 是否允许触发器级联触发,即触发器 A 触发触发器 B,B 再触发 C。 | 默认为 1 (允许),如果设置为 0,可以防止无限递归。 |
| network packet size | 客户端和服务器之间网络数据包的大小 (字节)。 | 默认为 4096,对于大文本/图像传输或高速网络,可尝试设置更大的值(如 8192)。 |
| open objects | 服务器一次可打开的最大数据库对象数(如表、索引)。 | 默认为 0 (动态管理),通常不需要调整。 |
| priority boost | 是否将 SQL Server 进程的优先级设置为“高”。 | 默认为 0。强烈建议保持为 0,设置为 1 可能导致操作系统其他服务响应缓慢。 |
| recovery interval | 每个数据库的恢复目标(分钟),即 SQL Server 尝试将数据库恢复到故障点所需的最长时间。 | 默认为 0 (由 SQL Server 决定,通常为几分钟),值越大,事务日志检查点间隔越长,但恢复时间越长。 |
| remote access | 是否允许远程登录连接到 SQL Server。 | 默认为 1 (允许),设为 1 可禁用远程连接,仅允许本地连接。 |
| remote login timeout | 尝试远程登录时的超时时间(秒)。 | 默认为 10。 |
| remote proc trans | 分布式事务是否由 MS DTC 协调。 | 默认为 0,如果存储过程调用涉及远程服务器的事务,应设为 1。 |
| scan for startup procs | 是否在启动时自动执行 master..sp_procedure 中定义的存储过程。 |
默认为 1,通常用于自动化管理任务。 |
| server trigger recursion | 是否允许服务器触发器递归。 | 默认为 1 (允许),设为 0 可防止无限递归。 |
| set working set size | 是否将 SQL Server 的工作集锁定在物理内存中。 | 默认为 0。强烈建议保持为 0,由操作系统管理内存更有效率。 |
| show advanced options | 控制是否显示高级配置选项。 | 默认为 0,要修改高级选项,必须先将其设为 1。 |
| user connections | 允许同时连接到 SQL Server 的最大用户数。 | 默认为 0 (动态管理),通常不需要设置上限。 |
| user options | 指定用户连接的默认设置(如 ANSI_NULLS, QUOTED_IDENTIFIER 等)。 | 默认为 0,通常由应用程序或用户连接时设置。 |
查询配置参数
你可以使用以下方法查看当前配置:
-
使用 SQL Server 企业管理器 (Enterprise Manager)
(图片来源网络,侵删)- 右键点击服务器 -> 属性。
- 选择“连接”选项卡查看连接相关参数。
- 选择“处理器”选项卡查看处理器和并行相关参数。
- 选择“内存”选项卡查看内存相关参数。
- 选择“服务器设置”选项卡查看其他高级选项。
-
使用 Transact-SQL (T-SQL)
- 查看所有参数:
EXEC sp_configure;
- 查看特定参数:
EXEC sp_configure 'user connections';
- 查看高级选项后查看所有参数:
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; GO EXEC sp_configure;
- 查看所有参数:
重要警告
- SQL Server 2000 已停止支持:微软自2012年起已停止对 SQL Server 2000 的所有支持,包括安全更新,这意味着您的系统存在严重的安全漏洞,不应连接到互联网或处理敏感数据。
- 修改参数需谨慎:配置参数的修改会直接影响服务器性能和稳定性,在修改前,请务必理解其作用,并在测试环境中验证。
- 备份:修改任何重要配置前,请备份您的数据库和 master 数据库。
希望这份详细的参数列表对您有帮助!如果您正在维护一个 SQL Server 2000 系统,强烈建议您规划将其迁移到受支持的现代版本。
