Azure SQL DB에 연결 실패 문제가 있을 때, 직접 트러블슈팅 해 볼 수 있는 방법이 아래 링크 10분짜리 동영상에 데모와 함께 소개되어 있습니다.
Azure Support Academy: How to troubleshoot connectivity issues in Azure SQL DB – Part 1
핵심만 요약하여 말씀드리자면,
Phase 1: DNS request
예를 들어, laigo.database.windows.net 서버에 연결할 때, dns 응답이 올바른지 체크해야 합니다.
ping 테스트를 통해 올바른 ip를 반환하는지를 확인해야 하며 대표적으로 DNS 서버를 찾지 못하거나 hosts 파일에 잘못된 IP 정보가 포함된 경우가 있을 수 있습니다.
Phase 2: Antivirus / Local firewall
Antivirus 혹은 방화벽 소프트웨어나 Windows 기본 방화벽에 의해 1433 outbound 가 차단되지 않았는지 확인이 필요합니다.
Phase 3: Corporate firewall
사내 네트워크 환경에서의 1433 포트를 차단한 방화벽이 있는지 확인해야 하며 문제가 발생할 경우 Network Monitor, PortQuery 툴을 사용하여 상태를 진단할 수 있습니다.
추가적으로 감사 기능을 사용한다면 Connection string의 FQDN을 아래와 같이 수정해야 합니다.
<서버 이름>.database.secure.windows.net
단, 해당 드라이버가 이 기능을 지원하는지 체크해야 합니다.
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-auditing-and-dynamic-data-masking-downlevel-clients
SQL Server Management Studio 에서 Azure SQL DB에 연결할 때, 연결 속성에서 TCP 프로토콜을 선택하여 불필요한 프로토콜를 사용하지 않도록 하여 연결 시간을 조금이라도 단축시킬 수 있으며, 연결 시간 초과는 인터넷 네트워크 환경을 고려해서 기본 15초에서 30초로 지정할 것을 권장합니다.
트러블슈팅을 위해 아래 링크도 참고하면 좋습니다.
Troubleshooting connectivity issues with Microsoft Azure SQL Database
https://support.microsoft.com/en-in/help/10085/troubleshooting-connectivity-issues-with-microsoft-azure-sql-database
작성자: Lai Go / 작성일자: 2016.12.20