Я прочитал множество постов и статей об ошибке:
Поставщик общей памяти: на другом конце канала нет процесса.Ошибка канала связи.
... в том числе:
Сообщение об ошибке: (поставщик: поставщик общей памяти, ошибка: 0 - на другом конце процесса нет процесса)труба.)
https://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/
Я могу легко и всегда подключаться из SSMS, как из смешанного режима, так и из проверки подлинности Windows.Но всякий раз, когда я пытаюсь запустить сценарий sql через sqlcmd.exe
, я получаю сообщение об ошибке, показанное выше.
Вот что я запускаю из командной оболочки Windows:
"C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -S localhost -U sa -P myPassword -i "F:\<mypath>\<myfile>.sql"
Вот чтоЯ попытался / подтвердил:
- Я работаю
SQL Server version 14.0
в Windows 10. - Включена аутентификация в смешанном режиме, и я могу подключиться из SSMS.
- Я попытался указать
127.0.0.1
вместо localhost
в моей cmd-строке. - Протокол общей памяти включен.
- Протокол именованных каналов включен.
- TCP /IP включен.
- Моя служба SQL Server работает - я могу подключиться из SSMS.
- Я открыл входящий и исходящий порт 1433 в брандмауэре Windows и SQL Server (как приложение)разрешено моим брандмауэром.(Даже когда я выключаю брандмауэр, я все равно получаю ту же ошибку.)
- Удаленные подключения включены.
- Служба браузера SQL Server включена и работает.
- SQL ServerАгент включен и работает (хотя я не думаю, что это необходимо).
- Я перезапустил службу SQL Server и несколько раз перезагрузился.
НАИБОЛЕЕ ВАЖНО: Этодолжен иметь отношение к моему входному файлу, размер которого превышает 200 Мб.Когда я запускаю тот же оператор cmd-line, что и выше, но вместо этого указываю на test.sql
, который содержит не более чем select getdate()
, он отлично работает.Нет ошибок, нет проблем с подключением.
После всего, что я пробовал, я всегда получаю ту же ошибку.Что еще я могу попробовать?