SQL Server不会在我的64位虚拟化片上启动

我已经在64位虚拟盒子上安装了SQL Server 2008 express,并且该服务不会启动。

看看事件日志,我得到:

无法创buildtempdb。 您可能没有足够的磁盘空间可用。 通过删除tempdb驱动器上的其他文件,然后重新启动SQL Server,释放额外的磁盘空间。 检查事件日志中的其他错误可能表明为什么tempdb文件无法初始化。

有关更多信息,请参阅http://go.microsoft.com/fwlink/events.asp上的帮助和支持中心。

并且:

FileMgr :: StartLogFiles:创build或打开文件'e:\ sql10_main_t \ sql \ mkmastr \ databases \ objfre \ i386 \ MSDBLog.ldf'时,发生操作系统错误2(无法检索到此错误的文本,原因:1815)。 诊断并更正操作系统错误,然后重试操作。

注意:这也是另一个类似于mdf文件的错误。

现在奇怪的是没有电子驱动器映射到这个盒子,所以我不知道为什么这是试图从这里打开一个文件。 不知道这是否是一个虚拟切片的事实,也许主机有这个驱动器映射?

任何build议欢迎。

克里斯。

尝试以下(请注意,我在2005年的快速,所以你可能需要调整,如需要):

打开一个控制台并尝试以单用户模式启动:

sqlsvr.exe -m -s <instance_name> 

如果启动,现在可以打开pipe理工作室并尝试以下操作:

 -- alter the database ALTER DATABASE tempdb MODIFY FILE ( NAME = 'tempdev', FILENAME = 'SomeWhere\Here\tempdb.mdf' ) ALTER DATABASE tempdb MODIFY FILE ( NAME = 'templog', FILENAME = 'SomeWhere\Here\templog.ldf' ) -- ensure that it has been moved SELECT name, physical_name as CurrentLocation, state_desc from sys.master_files WHERE database_id IN (DB_ID('tempdev'), DB_ID('templog') 

现在停止sql服务器,并尝试从服务控制台重新启动。 它现在应该成功启动。

如果它也做了以下操作,以确保在正确的位置创build新的数据库:

  1. 打开Management Studio Express并login
  2. 右键单击您的服务器并select属性
  3. 点击数据库设置
  4. 将默认数据库位置更改为VPS上的内容

这应该改变默认位置

希望这可以帮助你…

为了解决这个问题,你必须使用下面的命令string来重build数据库。 这个命令必须从这个目录运行。

C:\ Program Files \ Microsoft SQL Server \ 100 \ Setup Bootstrap \ Release

安装程序/ QUIET / ACTION = REBUILDDATABASE / INSTANCENAME = InstanceName / SQLSYSADMINACCOUNTS = accounts / [SAPWD = StrongPassword]

如果您使用Windows身份validation,则可以像这样删除命令的强密码部分。

安装程序/ QUIET / ACTION = REBUILDDATABASE / INSTANCENAME = InstanceName / SQLSYSADMINACCOUNTS =帐户

您可以在http://msdn.microsoft.com/en-us/library/dd207003.aspx上阅读有关此问题的更多信息&#x3002; 希望这可以帮助别人。