Неможливо змусити SQLCMD працювати незалежно від того, що я намагаюся


10

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

Я дотримувався утиліту sqlcmd від msdn.

Я намагався опонувати це через надійну команду SQLCMD -EI отримати:

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'..

Відповіді:


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 та вибравши "Запустити як інший користувач ..."


Це просто врятувало мені довгу ніч биття в Інтернеті. Дякую!
Rhys Johns

Провели віки, намагаючись це вирішити. Дякую!
Джоел Мерфі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.