지난 며칠간 문제가 발생한 Azure 웹 역할이 있습니다. 아무 것도 변경하지 않거나 역할이나 데이터베이스를 다시 배포하지 않으면 웹 역할이 데이터베이스에 연결하는 기능을 잃어 버리게됩니다.예외 장기간 Azure 웹 역할에서 "대상 주체 이름이 틀립니다"
System.Data.SqlClient.SqlException: A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The target principal name is incorrect.)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
...
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
...
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
웹 역할 또는 역할의 VM을 다시 시작하면 아무 효과가 없습니다. 변경하지 않고 Web Deploy를 통해 웹 역할을 다시 게시하면 한동안 문제가 발생하지 않게됩니다.
전체 패키지를 다시 배포하여 도움이되는지 확인합니다.
유일한 문제는 SQL 데이터베이스 서버에 DNS 별칭을 사용한다는 것입니다. 연결 문자열에 대해 "abcd4567.database.windows.net"대신 "our.fqdn.com"을 사용합니다.
그러나 웹 역할은 완벽하게 수행되며 모든 종류의 데이터베이스 연결이 중지 될 때까지 수행됩니다.
문제의 데이터베이스가 많이 사용되지 않았으므로 시간당 수십 개의 연결이 있기 때문에 스로틀을 두 드릴 필요가 없습니다.
진단 아이디어가 도움이 될 것입니다.
를 응용 프로그램을 변경하여 것을 테스트 할 수가 저절로 해결 된 것으로 보입니다. 그래서 Adam은 아마도 옳았을 것입니다 (DNS 항목 중복).하지만 Microsoft의 수정 된 DNS가있었습니다. –