Sqlcmd: ошибка: собственный клиент Microsoft SQL Server 10.0: сбой канала связи

Ниже вы увидите некоторые команды командной строки Windows, которые я пытаюсь вызвать из папки 64-битных Program Files для Microsoft SQL Server 2008.

C:\Program Files\Microsoft SQL Server\100\Tools\Binn>SQLCMD -S "SQLI2B2" -d
 "I2B2_CRC-DEV" -i "C:\SVN\ONT\SQL SERVER\DX_SQLSERVER.sql" -E

HResult 0x2746, уровень 16, состояние 1 Поставщик TCP: существующее соединение было принудительно закрыто удаленным узлом.

Sqlcmd: Ошибка: собственный клиент Microsoft SQL Server 10.0: сбой канала связи.

c:\Program Files\Microsoft SQL Server\100\Tools\Binn>

Теперь база данных (сервер), к которой я подключаюсь, — это SQL Server 2008. У меня было несколько каталогов в папке «Microsoft SQL Server». 90, 100, 110 и 120. Только 100 и 110 имели файл .\Tools\Binn\SQLCMD.EXE. Я заметил следующие драйверы в \\Control Panel\All Control Panel Items\Administrative Tools\Data Sources (ODBC)\Drivers\, поэтому не знаю, подходит ли драйвер клиента для моей версии сервера.

Name                            Version
SQL Server                      6.01.7601.17514
SQL Server Native Client 10.0   2009.100.1600.01
SQL Server Native Client 11.0   2011.110.3000.00

-E в команде подразумевает использование проверки подлинности Windows вместо проверки подлинности SQL Server (с фактическим пользователем и паролем).

Что может быть причиной этой ошибки и что можно исправить?

Примечания:

Это было обнаружено в Windows 7. Следующее разрешение применимо только к более ранним операционным системам.

https://msdn.microsoft.com/en-us/library/ms187005.aspx


person MacGyver    schedule 17.03.2017    source источник


Ответы (1)


Первая ошибка:

Поставщик TCP: существующее соединение было принудительно закрыто удаленным хостом.

Сбой канала связи

Файлы меньшего размера будут запускаться, но если файл слишком большой, вы все равно получите это исключение. Единственное решение, которое я смог найти, — это разбить файл, содержащий команды T-SQL, на несколько файлов меньшего размера.

Вторая ошибка:

Sqlcmd: Ошибка: собственный клиент Microsoft SQL Server 10.0: сбой канала связи.

В папке «Binn» должны быть другие файлы, необходимые для запуска SQLCMD.EXE, помимо самого исполняемого файла. Либо добавьте к существующей переменной среды SYSTEM "PATH", либо добавьте новую переменную среды USER "PATH" в \\Control Panel\All Control Panel Items\System\Advanced system settings\Environment Variables\.

Variable name: PATH
Variable value: C:\Program Files\Microsoft SQL Server\100\Tools\Binn\
person MacGyver    schedule 17.03.2017