sqlserver2000还原数据库出现单用户模式问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver2000还原数据库出现单用户模式问题相关的知识,希望对你有一定的参考价值。

想从企业管理器中还原在E盘下的一个数据库文件,但是出现问题如下图:然后我在命令行下输入sqlservr.exe -c -m -f,之后进入查询分析器输入RESTORE DATABASE master from disk='e:\pf110\tspf120-20100207' 却出现如下图不知道是我的操作有误,还是怎么回事,总之弄不出来。谁可以 帮帮我看一下,请留下联系方式,谢谢

数据库"置疑"了应该是文件损坏了,例如你把数据库分离后,用记事本打开他会看到很多乱码,强行改动里边的那些乱码,保存后附加数据库,由于里边格式乱了,数据库就"置疑"了。你首先要进入“单用户模式”,让你可以重新操作数据库,然后用SELECT 命令可以看出什么表出错了(上帝保佑你只是某个表出错了),如果只是某个表出错,而又只是数据错误,不是结构错误,还可以通过运行带WHERE子句的SQL看看数据是到哪里出错,把,错误点以后的数据都删除掉,那至少数据库还可以用。如果你的数据不是真的都那么要紧的话,用还原功能是最方便可行的办法。当然备份档之后的数据是没有了。 参考技术A 试试用相对路径

还原SQLServer2008数据库报用户无法登录 .

在一台新的服务器上还原mssql2008r2数据库后,原来数据库中的账户无法用来打开这台新还原的数据库,
报错:登录失败 错误代码:4064。


分析原因
在备份数据库的时候,服务器引擎中的安全->登录 中的用户在还原的时候并没有跟过来,导致登录设置降级,图1
技术分享

解决的方法

步骤1 将原来数据库中的那个用户换个名字(随便什么,只要没有与其他名字冲突即可),图2

技术分享

步骤2 在数据库引擎的安全->登录 中创建一个新用户,图3

技术分享

步骤3 在UserMapping中, 映射该用户到指定的数据库中,图4

技术分享

步骤4 此时,在还原数据库中,系统将自动创建一个用户,图5
技术分享


出现这个错误的的一般原因:
1、误删除了默认的数据库。
2、该默认的数据库在还原数据库时,使用了另外物理路径来备份的数据库进行还原,可能会出现上面的错误。



网上的一个解决方案,还没有经过测试证伪:
SQL Server 2008用户打开CMD命令提示符,
其中,sqlcmd位于C:\Program Files\Microsoft SQL Server\100\Tools\Binn
使用以下命令:
    
    SQL帐户登录方式: >sqlcmd -U"密码" -P"jtydl" -d"master" -Q"exec sp_defaultdb N‘sa‘, N‘master‘"
    Windows验证登录方式: >sqlcmd -E -d"master" -Q"exec sp_defaultdb N‘BUILTIN/Administrators‘, N‘master‘"

以上是关于sqlserver2000还原数据库出现单用户模式问题的主要内容,如果未能解决你的问题,请参考以下文章

SQLServer2008数据库怎样备份还原和数据恢复

SQL2008还原数据库出错误:执行Transact-SQL语句或批处理时发生异常(MicrosoftSqlServer.ConnectionInfo

SQLServer2000中 如何用sql脚本还原数据库

SQLServer2000中 如何用sql脚本还原数据库

sql server2008备份出来的数据库如何在在sql server 2005或2000中还原

在 SQL Server 2012 上还原 SQL Server 2000 备份