2014-02-16 3 views
0

지난 며칠간 문제가 발생한 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"을 사용합니다.

그러나 웹 역할은 완벽하게 수행되며 모든 종류의 데이터베이스 연결이 중지 될 때까지 수행됩니다.

문제의 데이터베이스가 많이 사용되지 않았으므로 시간당 수십 개의 연결이 있기 때문에 스로틀을 두 드릴 필요가 없습니다.

진단 아이디어가 도움이 될 것입니다.

+0

를 응용 프로그램을 변경하여 것을 테스트 할 수가 저절로 해결 된 것으로 보입니다. 그래서 Adam은 아마도 옳았을 것입니다 (DNS 항목 중복).하지만 Microsoft의 수정 된 DNS가있었습니다. –

답변

0

이 오류는 DNS 항목이 중복되어 발생하는 경우가 있습니다. 최근에 도메인에 동일한 DNS 항목을 추가 했습니까?

당신이 그 원인이 문제 "abcd4567.database.windows.net"를 사용하는

+0

우리는 그걸 살펴볼 수 있지만 도메인은 Azure 디렉토리입니다. 이것은 Azure 데이터베이스와 대화하는 Azure 웹 역할입니다. 계속되면 Azure FQDN으로 돌아갈 수 있습니다. –

관련 문제