sqlservr 应用程序

sqlservr 应用程序可以在命令提示符下启动、停止、暂停和继续 Microsoft SQL Server 的实例。

语法

  
      sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f]   
     [-eerror_log_path] [-lmaster_log_path] [-m]  
     [-n] [-Ttrace#] [-v] [-x] [-gnumber]  

参数

-sinstance_name
指定要连接到的 SQL Server 实例。 如果未指定命名实例, sqlservr 将启动 SQL Server的默认实例。

重要

启动 SQL Server实例时,必须在该实例的相应目录中使用 sqlservr 应用程序。 对于默认实例,从 \MSSQL\Binn 目录运行 sqlservr 。 对于命名实例,从 \MSSQL$ instance_name \Binn 目录运行sqlservr

-c
指示 SQL Server 实例独立于 Windows 服务控制管理器启动。 从命令提示符下启动 SQL Server 时可使用此选项,以缩短 SQL Server 的启动时间。

备注

使用此选项时,将无法通过使用 SQL Server 服务管理器或 SQL Server net stop 命令停止 。如果注销计算机,则 SQL Server 将停止。)

-dmaster_path
指出 master 数据库文件的完全限定路径。 -dmaster_path之间没有空格。 如果没有提供此选项,则使用现有的注册表参数。

-f
以最小配置启动 SQL Server 实例。 在配置值的设置(例如,过度分配内存)妨碍服务器启动时,这非常有用。

-eerror_log_path
指示错误日志文件的完全限定路径。 如果未指定,则默认位置为 <Drive>:\Program Files\Microsoft SQL Server\MSSQL\Log\Errorlog,命名实例<的默认位置为 Drive>:\Program Files\Microsoft SQL Server\MSSQL$instance_name\Log\Errorlog。 在 -eerror_log_path之间没有空格。

-lmaster_log_path
指示 master 数据库事务日志文件的完全限定路径。 -lmaster_log_path之间没有空格。

-m
指示在单用户模式下启动 SQL Server 实例。 如果以单用户模式启动 SQL Server ,则只有一个用户可以连接。 确保将已完成事务定期从磁盘缓存写入数据库设备的 CHECKPOINT 机制将不启动。 通常情况下,在遇到需要修复系统数据库这样的问题时才使用该选项。启用 sp_configure allow updates 选项。 默认情况下, allow updates 被禁用。

-n
用于启动 SQL Server的命名实例。 如果不设置 -s 参数,则尝试启动默认实例。 必须先在命令提示符处切换到实例的相应 BINN 目录,然后才能启动 sqlservr.exe。 例如,如果 Instance1 为其二进制文件使用了 \mssql$Instance1,则用户必须位于 \mssql$Instance1\binn 目录中才能启动 sqlservr.exe -s instance1。 如果用 SQL Server -n 选项启动 实例,则最好也使用 -e 选项,否者将不会记录 SQL Server 事件。

-Ttrace#
指示 SQL Server 实例启动时,指定的跟踪标志 (trace# ) 应同时生效。 跟踪标记用于以非标准行为启动服务器。 有关详细信息,请参阅跟踪标志 (Transact-SQL)

重要

指定跟踪标志时,请使用 -T 来传递跟踪标志号。 接受小写的 t ( -t SQL Server);但是 -t 通常用于设置 SQL Server 支持工程师所需的其他内部跟踪标志。

-v
显示服务器的版本号。

-x
不保留 CPU 时间和高速缓存命中率统计信息。 可获得最大性能。

-gmemory_to_reserve
指定 SQL Server 为位于 SQL Server 进程中但在 SQL Server 内存池之外的内存分配保留的内存整数量 (MB)。 内存池外部的内存是SQL Server用于加载扩展过程.dll文件、分布式查询引用的 OLE DB 提供程序以及 Transact-SQL 语句中引用的自动化对象等项的区域。 默认值为 256 MB。

使用此选项可帮助优化内存分配,但仅限于物理内存超过操作系统设置的应用程序可用虚拟内存限制时。 在SQL Server的内存使用要求不典型且完全使用SQL Server进程的虚拟地址空间的大型内存配置中,可能适合使用此选项。 使用此选项不正确可能会导致SQL Server实例无法启动或遇到运行时错误的情况。

-g 参数使用默认值,除非在SQL Server错误日志中看到以下任何警告:

  • “失败的虚拟分配字节数:FAIL_VIRTUAL_RESERVE <大小>”

  • “失败的虚拟分配字节数:FAIL_VIRTUAL_COMMIT <大小>”

这些消息可能指示SQL Server正在尝试释放SQL Server内存池的一部分,以便为诸如扩展存储过程.dll文件或自动化对象等项查找空间。 在这种情况下,可以考虑增加由 -g``开关保留的内存量。

使用低于默认值的值可以增加缓冲池和线程堆栈可用的内存量;在不使用很多扩展存储过程、分布式查询或自动化对象的系统中,这种方法可提高需要大量内存的工作负荷的性能。

备注

多数情况下,sqlservr.exe 程序只用于故障排除或主要维护。 在命令提示符下使用 sqlservr.exe 启动 SQL Server 时, SQL Server 不作为服务启动,因此无法使用 SQL Server net 命令停止 。 用户可以连接到 SQL Server,但 SQL Server 工具将显示服务的状态,以便 SQL Server 配置管理器正确指示服务已停止。 SQL Server Management Studio 可以与服务器连接,但它也可以指示服务已停止。

兼容性支持

SQL Server 2014 不支持 -h 参数。 此参数在早期版本的 32 位SQL Server实例中使用,用于在启用 AWE 时为热添加内存元数据保留虚拟内存地址空间。 有关详细信息,请参阅 SQL Server 2014 中不再使用的 SQL Server 功能

另请参阅

数据库引擎服务启动选项