读书人

sa无法映射到数据解决思路

发布时间: 2012-04-26 14:01:31 作者: rapoo

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

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


为什么呢?

SQL code
===================================创建 对于 用户“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)


[解决办法]
但是就是不能将sa映射到指定的数据库。提示如下:

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

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

sa 是sql server的管理员帐号,默认情况下可以使用所有的数据库.
不知道你映射到某个数据库的目的是什么?
[解决办法]
sa 超级用户
它是服务器角色SYSADMIN的拥有者
所以它拥有一切服务器的权利 当然你的数据库也不在话下。
所以你新添加的数据库不需要你 去映射了
[解决办法]
探讨
我后来附加了一个数据库。所以要映射过去。有什么办法吗?哥哥们

[解决办法]


探讨
那么为什么会是这样呢?

HTML code

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

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

读书人网 >SQL Server

热点推荐