使用aspnet.regsql.exe创建具有角色的成员资格时出错

时间:2012-03-04 02:33:03

标签: asp.net visual-studio-2010 sql-server-2008

我有一个asp.net应用程序,我正在使用vs 2010,我使用Windows身份验证连接到sql server express 2008 r2。我可以连接到我的数据库并通过我的应用程序来判断我的数据。

我正在尝试在我的网站上实现角色成员资格

当我运行aspnet.regsql.exe实用程序时,收到以下错误消息: 安装失败。

例外: 无法连接到SQL Server数据库。


失败的细节

System.Web.HttpException(0x80004005):无法连接到SQL Server数据库。 ---> System.Data.SqlClient.SqlException(0x80131904):建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)    在System.Data.SqlClient.SqlInternalConnection.OnError(SqlException异常,布尔breakConnection)    在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()    在System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo,SqlInternalConnectionTds connHandler,Boolean ignoreSniOpenTimeout,Int64 timerExpire,Boolean encrypt,Boolean trustServerCert,Boolean integratedSecurity)    在System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo,String newPassword,Boolean ignoreSniOpenTimeout,TimeoutTimer timeout,SqlConnection owningObject)    在System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo,String newPassword,Boolean redirectedUserInstance,SqlConnection owningObject,SqlConnectionString connectionOptions,TimeoutTimer timeout)    at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject,TimeoutTimer timeout,SqlConnectionString connectionOptions,String newPassword,Boolean redirectedUserInstance)    在System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity标识,SqlConnectionString connectionOptions,Object providerInfo,String newPassword,SqlConnection owningObject,Boolean redirectedUserInstance)    在System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions选项,Object poolGroupProviderInfo,DbConnectionPool池,DbConnection owningConnection)    在System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection,DbConnectionPool池,DbConnectionOptions选项)    在System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)    在System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)    在System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)    在System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)    在System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)    在System.Data.SqlClient.SqlConnection.Open()    at System.Web.Management.SqlServices.GetSqlConnection(String server,String user,String password,Boolean trusted,String connectionString)    at System.Web.Management.SqlServices.GetSqlConnection(String server,String user,String password,Boolean trusted,String connectionString)    at System.Web.Management.SqlServices.SetupApplicationServices(String server,String user,String password,Boolean trusted,String connectionString,String database,String dbFileName,SqlFeatures features,Boolean install)    在System.Web.Management.ConfirmPanel.Execute()

另外,我无法使用ASP.NET网站管理工具。当我单击“安全”选项卡时,收到以下错误:

您选择的数据存储存在问题。这可能是由无效的服务器名称或凭据或权限不足引起的。它也可能是由未启用角色管理器功能引起的。单击下面的按钮可重定向到可以选择新数据存储的页面。

以下消息可能有助于诊断问题:找不到存储过程'dbo.aspnet_CheckSchemaVersion'。

因此,我按照指示点击“选择数据存储”按钮,这样我就可以选择一个提供商。提供程序名为“AspNetSqlProvider”,旁边有一个Test链接。我点击测试并收到以下消息: 已成功建立与数据库的连接。

成功建立了与数据库的连接。这是有效的,但问题仍然存在,当我重复我已经讨论过的步骤时,会发生先前的错误。

有人知道造成这种情况的原因,以及如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果您无法连接到SQL Server,则表明您的连接字符串有错误,或者您没有为混合模式身份验证启用SQL Server。