Это немного странно. Я установил два экземпляра SQL Server 2016. Один находится на моем ноутбуке (Windows 10), а другой - на VPS (Windows Server 2012), на моем сервере разработки в соседней комнате. На том же сервере есть другой VPS с Centos 7 с odbc, который пытается подключиться к обоим экземплярам SQL.

Соединение с моим ноутбуком успешно выполнено с помощью 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..

Когда я пытаюсь подключиться к серверу Windows с помощью клиента SQL моего ноутбука, все происходит гладко, без тайм-аутов и без ничего.

Я отключил все брандмауэры (обе машины Windows / VPS и ноутбук /). Мне просто интересно, что из Windows Server 2012 может блокировать соединения linux, делая их тайм-аут и тем временем допускать соединения Windows ..?

1 ответ1

0

Мне кажется, что у вас не включены TCP-соединения с вашим сервером SQL:https://technet.microsoft.com/en-us/library/hh231672(v=sql.110).aspx Конфигурация по умолчанию не разрешить TCP соединения IIRC.

Если это SQL Express, вам также может потребоваться включить удаленные подключения:http://blog.citrix24.com/configure-sql-express-to-accept-remote-connections/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .