sql - 在Microsoft应用程序中,拒绝对 SQL Server的访问

  显示原文与译文双语对照的内容
0 0

我有一个发布到微软Azure的web应用。 有两个数据库,都托管在Azure的SQL Server 上。 一个数据库处理身份认证,工作正常,我可以登录/查看不关于它的他数据库的页面。 当我尝试执行访问它的他数据库的操作时,我得到了这里文章底部的错误。

它一定是在Azure中。 虽然我在本地运行应用程序,但它仍然运行良好,即使它仍然访问同一个。 下面是我使用的连接字符串( 我改变了一些敏感信息),同样地,它们在本地工作良好:


<connectionStrings>
<add name="IdentityConnection" connectionString="Server=tcp:{server}.database.windows.net,1433;Database=identity; ID={User};Password={pw};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
 providerName="System.Data.SqlClient"/>
<add name="DataConnection" connectionString="Server=tcp:{server}.database.windows.net,1433;Database=Data;User ID={User};Password={pw};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"/>

拒绝访问

描述:在当前web请求执行过程中发生未处理的异常。 请检查堆栈跟踪有关错误和其原始代码中的位置的详细信息。

异常详细信息:System.ComponentModel.Win32Exception: 访问被拒绝

源错误:

被 不 处理 的 例外 在 现在 网 请求 的 实行 期间 被 产生. 异常的信息来源和位置可在下面用异常堆栈跟踪信息确认。

堆栈跟踪:

[ is ( 0 x80004005 ): 访问被拒绝]

[ ( 0 x80131904 ): 在建立连接时发生网络相关或者实例特定错误。 找不到服务器或者无法访问。 验证实例名是否正确并且 SQL Server 配置为允许远程连接。 提供程序( 命名管道(Named Pipes) 提供程序) 无法打开与 SQL Server的连接) ] System.Data. SQL client 。SqlInternalConnection 。onerror ( SQL exception异常,布尔 breakConnection,操作,操作 1 wrapCloseInAction) +5341687 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +546 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) +5353471 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +145 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +923 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +311 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData) +646 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +278 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +38 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +732 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +85 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1057 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource 1 DbConnectionOptions userOptions,dbconnectioninternal&连接) +78 System.Data. ProviderBase 。DbConnectionFactory 。TryGetConnection ( DbConnection owningConnection,TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +196 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1重试,DbConnectionOptions userOptions ) +146 System.Data. ProviderBase 。DbConnectionClosed 。TryOpenConnection ( DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource 1 retry, DbConnectionOptions userOptions) +16 System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource 1重试) +94 System.Data. SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +110 System.Data. SqlClient.SqlConnection.Open() +96 License_Project_Web.View_Licenses.Page_Load(Object sender, EventArgs e) +43 System.Web. Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51 System.Web. UI.Control.OnLoad(EventArgs e) +92 System.Web. UI.Control.LoadRecursive() +54

时间: 原作者:

0 0

在管理门户中,你是否为Azure服务启用了SQL服务器防火墙? http://azure.microsoft.com/en-us/documentation/articles/sql-database-get-started/#ConfigFirewall

0 0

事实上,从 Visual Studio 发布更改到 Web.Config 实际上是一个问题。 尽管整个项目发布了几个整体,单独发布到 Web.Config,Azure的版本仍然保持不变,在连接字符串中仍然引用了本地数据库。 通过服务器资源管理器中的网站文件直接编辑 Web.Config 允许我修复这个问题,尽管 anticlimactically 。

原作者:
...