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还原数据库出现单用户模式问题的主要内容,如果未能解决你的问题,请参考以下文章
SQL2008还原数据库出错误:执行Transact-SQL语句或批处理时发生异常(MicrosoftSqlServer.ConnectionInfo