配置SQL-SERVER但不运行服务

配置SQL-SERVER但不运行服务

是否可以在不启动 SQL-Server 的情况下更改 temp.mdf 或其他文件的位置?

我想重新激活一台旧服务器,但其中一个 USB 硬盘已经在别处使用了。现在我无法在配置管理器中启动 SQL-Server 服务。

事件日志有以下条目:

Event Type: Error
Event Source:   MSSQLSERVER
Event Category: (2)
Event ID:   17207
Date:       30.08.2011
Time:       15:53:10
User:       N/A
Computer:   SQLSERV
Description: 

FCB::Open: 创建或打开文件“M:\temp.mdf”时出现系统故障 3(未发现错误)。诊断并纠正您的经营系统故障,并消除您的疑虑。

以下是有关此错误的信息。

问:那么,如何在不启动 SQL-SERVER 服务的情况下更改引用不存在驱动器的数据库文件的位置?我在配置管理器中没有看到选项。或者 SQL-Server 中是否存在某种“安全模式”?

答案1

我假设不仅仅是你的 temp.mdf 丢失了,而且你所有其他系统数据库也丢失了……

有一种安全模式,叫做"master-only recovery mode"。能否使用取决于你是否备份了丢失硬盘上的数据库。

如果你有数据库实例“数据”文件夹的备份,那么本文有一些有用的信息在“故障恢复程序“部分。我还会查看“移动主数据库和资源数据库“。您可以在不启动 SQL Server 的情况下按照此处的步骤操作吗?

如果没有的话,你可以玩启动选项。sql server 进程具有启动选项,用于指定备用主数据库位置。您还可以在此处更改注册表中的启动选项:(HKLM\Software\microsoft\microsoft sql server\MSSQL.1\mssqlserver\parameters 假设这是您安装的第一个或唯一的数据库实例)。

如果你备份了数据文件夹,那么你应该看看重建主数据库,这涉及使用原始安装的日志再次运行 SQL 服务器安装程序。

编辑:是否只是丢失硬盘上的临时数据库?如果是这样,您可能能够进入仅主恢复模式并移动临时数据库,如第一个链接在下面 ”故障恢复程序“步骤 1-2。然后按照底部如何移动 tempdb 的示例进行操作。

答案2

我认为您不能,除非有一个特殊的启动顺序,即 master-only。用户数据库未安装在此顺序中,并且我认为 TempDB 未创建在此顺序中。

是否可以临时提供一个具有适当权限的 M:驱动器....以便运行 SQL Server,然后将 TempDB 位置更改为可以永久工作的位置?

系统数据库 - 仅限主数据库。 http://msdn.microsoft.com/en-us/library/ms345408(v=SQL.100).aspx

相关内容