이건 좀 이상해요. SQL Server 2016 인스턴스 두 개를 설치했습니다. 하나는 내 노트북(Windows 10)에 있고 다른 하나는 옆방에 있는 개발 서버에 있는 VPS(Windows Server 2012)에 있습니다. 동일한 서버에는 두 SQL 인스턴스 모두에 연결을 시도하는 odbc가 포함된 Centos 7이 포함된 또 다른 VPS가 있습니다.
내 노트북에 연결하면 성공했지만 sqlcmd -S .. -P -Q "query"
Windows 서버에 연결하면 오류가 반환됩니다.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : TCP Provider: Error code 0x102.
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
랩톱의 SQL 클라이언트를 사용하여 Windows 서버에 연결하려고 하면 모든 것이 원활하고 시간 초과도 발생하지 않습니다.
모든 방화벽을 비활성화했습니다(Windows 시스템/vps 및 laptop/ 모두). Windows Server 2012의 무엇이 Linux 연결을 차단하여 시간 초과가 발생하고 동시에 Windows 연결을 허용할 수 있는지 궁금합니다..?
답변1
SQL 서버에 TCP 연결이 활성화되어 있지 않은 것 같습니다. https://technet.microsoft.com/en-us/library/hh231672(v=sql.110).aspx 기본 구성은 IIRC TCP 연결을 허용하지 않는 것입니다.
SQL Express인 경우 원격 연결을 활성화해야 할 수도 있습니다. http://blog.citrix24.com/configure-sql-express-to-accept-remote-connections/