sa无法映射到数据

gootey 2010-05-17 05:28:35
原来用的是XP,刚才换了win7,安装SQL Server 2005过程中选择混合论证,安装完了以后,启用sa用户并更改密码后,可以登录,但是就是不能将sa映射到指定的数据库。提示如下:

我在给sql 2005中的用户"sa"映射到一个数据库的时候,报错:
创建 对于 用户"sa"失败
执行T-SQL语句或批处理时发生了异常。
无法使用特殊主体“sa”


为什么呢?


===================================

创建 对于 用户“sa”失败。 (Microsoft.SqlServer.Smo)

------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=创建+User&LinkId=20476

------------------------------
程序位置:

在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl()
在 Microsoft.SqlServer.Management.Smo.User.Create()
在 Microsoft.SqlServer.Management.SqlManagerUI.CreateLoginData.LoginPrototype.ApplyDatabaseRoleChanges(Server server)
在 Microsoft.SqlServer.Management.SqlManagerUI.CreateLoginDatabaseAccess.OnRunNow(Object sender)

===================================

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------
程序位置:

在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery(StringCollection queries, Boolean includeDbContext)
在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImplFinish(StringCollection createQuery, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl()

===================================

无法使用特殊主体 'sa'。 (.Net SqlClient Data Provider)

------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.3042&EvtSrc=MSSQLServer&EvtID=15405&LinkId=20476

------------------------------
服务器名称: GOOTEY-PC\SQLEXPRESS
错误号: 15405
严重性: 16
状态: 1
行号: 1


------------------------------
程序位置:

在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
...全文
1446 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhlantian 2012-12-26
  • 打赏
  • 举报
回复
为什么我这样操作后还是不行?各位大神指教啊
danelumax2 2012-04-22
  • 打赏
  • 举报
回复
遇到同样的问题 , 解决:WH--属性--文件--所用者设为Sa,回到用户映射查看,已勾选上,O(∩_∩)O~

绝对的正解!!!!!
qianqianshi5 2011-06-09
  • 打赏
  • 举报
回复
我也出现同样的问题,将sa映射一个数据库时,报错:创建 对于 用户 "sa"失败。。。。。。 错误:15405,
数据库的属性--文件--所用者设为Sa,确实解决了问题!!谢谢 lq470627063
RockFish0123 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lq470627063 的回复:]
遇到同样的问题 , 解决:WH--属性--文件--所用者设为Sa,回到用户映射查看,已勾选上,O(∩_∩)O~
[/Quote]

这个是正解!!
demon 2010-11-21
  • 打赏
  • 举报
回复
遇到同样的问题 , 解决:WH--属性--文件--所用者设为Sa,回到用户映射查看,已勾选上,O(∩_∩)O~
kirasr 2010-07-23
  • 打赏
  • 举报
回复
建议LZ吧原来的数据库备份 然后新建一个,在还原上去,就可以了,笨办法不过有效
gootey 2010-05-17
  • 打赏
  • 举报
回复
通过SQL Server Management Studio用sa登录找到数据库WH的,也可以进行管理。
我是用Windows论证模式下附加进去的。
gootey 2010-05-17
  • 打赏
  • 举报
回复
gootey 2010-05-17
  • 打赏
  • 举报
回复
[IMG]http://i43.tinypic.com/4hftx5.jpg[/IMG]
dawugui 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gootey 的回复:]
那么为什么会是这样呢?

HTML code

无法打开登录所请求的数据库 "WH"。登录失败。
用户 'sa' 登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 无法打开登录所请求的数据库 "WH"……
[/Quote]

你通过SQL Server Management Studio用sa登录也无法找到数据库WH吗?那就奇怪了?

你是怎么附加上去的?
gootey 2010-05-17
  • 打赏
  • 举报
回复
那么为什么会是这样呢?

无法打开登录所请求的数据库 "WH"。登录失败。
用户 'sa' 登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 无法打开登录所请求的数据库 "WH"。登录失败。
用户 'sa' 登录失败。
dawugui 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gootey 的回复:]
我后来附加了一个数据库。所以要映射过去。有什么办法吗?哥哥们
[/Quote]
不需要映射,可直接用sa登录后去管理这个库即可.
feixianxxx 2010-05-17
  • 打赏
  • 举报
回复
sa 超级用户
它是服务器角色SYSADMIN的拥有者
所以它拥有一切服务器的权利 当然你的数据库也不在话下。
所以你新添加的数据库不需要你 去映射了
gootey 2010-05-17
  • 打赏
  • 举报
回复
新附加的数据库是WH

现在映射不过去,就会提示这样的错误:


异常详细信息: System.Data.SqlClient.SqlException: 无法打开登录所请求的数据库 "WH"。登录失败。
用户 'sa' 登录失败。
gootey 2010-05-17
  • 打赏
  • 举报
回复
新附加的数据库是WH

现在映射不过去,就会提示这样的错误:


异常详细信息: System.Data.SqlClient.SqlException: 无法打开登录所请求的数据库 "WH"。登录失败。
用户 'sa' 登录失败。
gootey 2010-05-17
  • 打赏
  • 举报
回复
我后来附加了一个数据库。所以要映射过去。有什么办法吗?哥哥们
dawugui 2010-05-17
  • 打赏
  • 举报
回复
但是就是不能将sa映射到指定的数据库。提示如下:

我在给sql 2005中的用户"sa"映射到一个数据库的时候,报错:
创建 对于 用户"sa"失败
执行T-SQL语句或批处理时发生了异常。
无法使用特殊主体“sa”

-------------

sa 是sql server的管理员帐号,默认情况下可以使用所有的数据库.
不知道你映射到某个数据库的目的是什么?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧