Невозможно заставить работать SQLCMD независимо от того, что я пытаюсь

10

Независимо от того, что я делаю, я не могу заставить работать SQLCMD. Я пытаюсь запустить сценарий размером более 200 МБ и не может быть запущен из приложения сервера SQL, поэтому мне нужно сделать это через SQLCMD, однако всякий раз, когда я пытаюсь войти в систему или запустить сценарий, он немедленно закрывается.

Я следовал за утилитой sqlcmd от msdn.

Я пытался открыть его с помощью доверенной команды SQLCMD -EI get:

Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Named Pipes Provider: Could not open a connection to SQL Server [2]. .
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login timeout expired.
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : 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..

Я пробовал через явный сервер, объявление имени пользователя и пароля:

C:\Users\MyUserName\Documents>SQLCMD -S DESKTOP-1N3OD6V\SQLEXPRESS -U DESKTOP-1N3OD6V\MyUserName-P MyPassword
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login failed for user 'DESKTOP-1N3OD6V\MyUserName'..
TheAkhemist
источник

Ответы:

23

SQLCMD, когда вызывается без указания имени сервера, пытается подключиться к экземпляру по умолчанию на локальном компьютере. Если у вас его нет, отображается первая ошибка, которую вы получаете. Используйте -Sпараметр, чтобы указать имя сервера.

Чтобы использовать проверку подлинности Windows, используйте -Eфлаг, и вам не нужно указывать имя пользователя или пароль.
Пример: SQLCMD -Smyserver\myinstance -E

Чтобы использовать проверку подлинности SQL Server, используйте -Uи -Pпараметры учетных поставок.
Пример: SQLCMD -Smyserver\myinstance -UsomeUser -PhisPassword

Если вы укажете, -Uвы не можете использовать имя пользователя Windows: это для входа в SQL Server. Если вы хотите выдать себя за другого пользователя Windows, сначала запустите командную строку, выдав себя за этого пользователя.

Пример:

  1. Открыть командную строку
  2. Тип runas /USER:domain\username cmd
  3. Введите пароль для вашего пользователя
  4. Пробег SQLCMD

Вы можете достичь того же результата, щелкнув ссылку на cmd и выбрав «Запуск от имени другого пользователя ...»

spaghettidba
источник
Это просто спасло меня от долгой ночи в интернете. Спасибо!
Рис Джонс
Потратил целую вечность, пытаясь решить это. Спасибо!
Джоэл Мерфи