PRB: Temp_db 设备导致启动 SQL Server 的问题

文章翻译 文章翻译
文章编号: 158586 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
展开全部 | 关闭全部

症状

如果 SQL Server 已启动,以便将 tempdb 放在 RAM 中 (或者通过显式设置 tempdb RAM 中的选项,或者通过在命令行使用-f 参数以最小配置模式启动),SQL Server 将无法正常启动,如果某个设备,设备名称为 temp_db 已经存在。

原因

在 tempdb 位于 RAM 中时, SQL Server 首先尝试使用 temp_db,的逻辑名称创建内存设备,然后在此设备上创建 tempdb 数据库。如果设备已存在名称 'temp_db,若要插入到 sysdevices 表中的一项尝试将失败,因此无法创建 tempdb。

SQL Server 错误日志将包含下面的一系列错误消息:
试图插入对象 sysdevices 具有唯一索引 sysdevices (消息 2601) 中重复键的行

crdb_tempdb: 无法将 tempdb 移动到内存 ; RAM 的设备不存在、 无法创建或没有足够的 tempdb 的空间。

服务器将继续启动过程,并将有可能报表以及其他错误消息。



如果试图使用 tempdb (例如对于启动存储过程) 中的启动过程中可能会报告以下错误消息,并在服务器将无法启动:
信息 906: 无法找到系统系统编录 '对象' tempdb 数据库中的系统对象中的行...。

消息 615: 找不到数据库表 id = 2,名称 = tempdb...。

如果试图在服务器启动后,请访问 tempdb 上述消息会被记录下来,但服务器将不会停止。

替代方法

若要启动服务器,转到命令提示符处,定位到 BINN 目录 (例如 SQL60\BINN SQL Server 6.0 或为 SQL Server 6.5 MSSQL\BINN) 安装 SQL Server 的位置。然后,使用下面的命令行是区分大小写,启动 SQL Server:
sqlservr-c-m-T3609-T4022



请注意的-m 使用在单用户模式下启动 SQL Server。 在第一个成功登录后任何后续的请求将收到一条登录失败消息,直到第一个连接已注销。 请确保您停止可能正在试图登录到 SQL Server (例如,SQL Executive、 Performance Monitor 等) 中的任何自动的进程。

一旦启动 SQL Server,使用 ISQL/w 连接到 SQL Server。请注意不能使用 SQL 企业管理器 ; 不能使用这些启动参数 (因为它使用 tempdb)。 一旦连接,使用以下命令删除现有的设备名为 temp_db,因此该 SQL Server 可以创建在启动时该设备。
sp_dropdevice temp_db

如果除了 tempdb 之外的任何其他数据库已被扩展到设备上,该命令将报告这些数据库的名称。这些数据库将需要除去,使用 DROP DATABASE 命令,以便 temp_db 设备可以将其删除。



如果 SQL Server 仍然无法成功启动后执行上面的步骤,并且 tempdb 必须被显式放置在 RAM 中使用以下命令尝试将 tempdb 放回磁盘。
sp_configure tempdb RAM 中的 0
重新配置与重写

这应将 tempdb 放回默认具有的设备默认数据库大小 (通常在母版上的 2 MB)。 停止并重新启动 SQL Server。 此位置要删除该设备与名称 temp_db 和创建一个设备使用不同的名称,然后展开 tempdb 到这个新设备上。

属性

文章编号: 158586 - 最后修改: 2013年10月4日 - 修订: 3.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 6.0 标准版
  • Microsoft SQL Server 6.5 标准版
关键字:?
kbnosurvey kbarchive kbmt KB158586 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 158586
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com