SQL2000数据库msdb质疑怎么

说白了,当SQL2 000数据库的MSDB出现“可疑”状态时,恢复过程其实很简单,但关键是要注意几个步骤。
我们先来说说最重要的事情。
您需要一台正常运行的服务器B。
确保其具有与目标服务器A相同的SQLSERVER2 000数据库软件。
去年我们处理的一个项目中,就是通过这种方法解决问题的。

还有一点,需要停止B服务器上的SQLServer服务,然后将MSDB数据库的数据文件和日志文件复制到A服务器上。
这个过程涉及到大约3 000个数据文件和日志文件的复制。
记得先备份,以防万一。

一开始我以为只要替换数据文件就可以了,后来发现不对。
我还需要停止A服务器上的SQLServer服务,然后用备份的数据文件覆盖A服务器上原来的MSDB数据库的数据文件和日志文件。

等等,还有一件事。
替换完成后,重新启动SQLServer服务并检查MSDB数据库的状态。
如果问题仍然存在,则需要执行进一步的SQL操作。
首先可以使用SQL命令修改配置,比如将数据库设置为单用户模式,这样会方便后续操作。
然后,使用DBCCCHECKDB命令检查并修复MSDB数据库。
最后更新数据库状态,将MSDB数据库的状态更新为正常,取消单用户模式,恢复原来的配置。

很多人没有注意到这一点。
我认为值得尝试。
尤其是在进行这些操作时,一定要做好数据的完整备份。
说实话,这是相当棘手的。
一旦数据丢失,修复起来就很麻烦。

怎样让数据库处于单用户模式下

说实话,说到SQL单用户模式,我帮哥哥单位调整过好几次。
有两种方法,各有其优点。

第一种方法是直接使用命令行。
你必须先停止 SQL 服务,对吗? 我记得最后一个操作是右键单击“SQL Server(MSSQLSERVER)”,选择“停止”。
不要跳过这一步,否则命令运行时会报错。
停止后,打开命令提示符,首先切换到SQL安装目录。
当我使用2 008 R2 时,路径是这样的格式:cd C:\Program Files\Microsoft SQL Server\MSSQL1 0.MSSQLSERVER\MSSQL\Binn\。
注意,每个版本的路径可能不同,特别是安装在中文系统上,盘符和路径分隔符一定要正确。
传输后命令为:sqlservr.exe -m -c。
我对这两个参数的理解是:-m直接导致SQL以单用户模式启动,-c可能是强制模式之类的。
请查看 MS 文档了解详细信息。
我记得执行这两条命令后,SQL就会进入单用户模式。
这时可以使用Enterprise Manager进行连接,或者直接在运行中输入sqlcmd.exe,就可以执行T-SQL了。
但如果使用命令行调整的话,必须要注意,其他客户端肯定无法以单用户模式连接,而且数据备份一定要特别小心。

有趣的是第二种方法,即使用配置管理器。
这种方法的优点是不需要停止服务。
你打开“SQL Server 配置管理器”,找到你的实例,例如“SQL Server (MSSQLSERVER)”,右键单击并选择“属性”。
在“高级”页面中,找到“启动参数”条目,添加-m; 在它的前面。
之前操作的时候记得参数之间是用分号分隔的。
不要使用逗号或空格,因为很容易出错。
添加此参数后,记得勾选“应用”,然后点击“确定”。
最关键的一步不是直接重启SQL服务,而是重启整个计算机。
为什么? 我当时不太明白,不过我哥单位的老王是这么说的。
重启并连接SQL后,单用户模式生效。
使用这种方法,可以在不停止服务的情况下将SQL更改为单用户模式,比第一种方法稳定很多。

这两种方法都有各自的优点和缺点。
第一种方法适合数据库的临时紧急修复。
例如,数据库被删除或者系统崩溃,必须快速进入单用户模式进行操作。
第二种适合计划性维护,例如重置管理员密码或执行某些脚本。
但说到数据安全,第二种方法肯定更可靠。
想想看,如果在不停止服务的情况下改成单用户模式,至少备份可以正常进行。
与第一种方法不同,如果服务停止了,又出问题了,那就真的很麻烦了。
我建议你根据实际情况来选择,除非你真的走投无路,否则不要急于第一个选择。

sql server 链接报错,单用户模式

哦,我们公司服务器上的SQL Server突然错误地说“适用于单用户模式”。
我当时很困惑。
这一切都始于一年中的某一天。
那天我在服务器上安装了一个新组件。
结果,SQL Server 很快就只允许一个用户连接。

我赶紧查看了错误日志,它在SQL Server安装目录下的LOG文件夹中。
乍一看,在安装新组件时,发现出了问题,数据库进入了单用户模式。
该怎么办?您可以再次执行安装步骤以确保没有遗漏任何内容。

然后我重新启动了SQLServer数据库引擎,以为没有问题了。
没想到问题还是没有解决。
我仔细想了想。
我过去是否手动将数据库引擎设置为单用户模式以进行维护操作?于是我又完成了维护任务并重新启动了SQL Server。

现在我已经可靠地连接到数据库了,但结果仍然是错误。
我很生气,不知道该怎么办。
后来我灵机一动,停止了SQLServerManagementStudio(SSMS)并重新启动了SQLServer。
然后,我小心翼翼地重新启动SSMS;这次我并不急于打开 ObjectExplorer,而是犹豫了一下。
我尝试使用管理连接连接到数据库,但是嘿。
它起作用了。

这个案例给我敲响了警钟。
在以后运行数据库之前。
我必须先备份重要数据。
这个问题我已经解决了,但是万一出事还是很头疼。
所以,如果你遇到类似的问题,可以尝试一下我提到的方法。
不过,您仍然需要寻找专业的数据库管理员或咨询微软官方支持。
最后,这个很专业。