У меня есть сценарий, который мне нужно выполнить с помощью пакетного файла. Я использую SQLCMD в пакетном файле для запуска скрипта? Кроме того, скрипт вставляет данные в таблицу в базе данных. Как мне отформатировать SQLCMD в пакетном файле, чтобы он знал, с какой базой данных он должен работать?Выполнение скрипта SQL Server из командного файла
ответ
Прежде всего сохраните свой запрос в текстовом файле sql (текстовый файл с расширением .sql). Обязательно добавьте инструкцию USE в начале, которая сообщает серверу, с какой базой данных вы хотите работать. Используя пример из MSDN:
USE AdventureWorks2008R2;
GO
SELECT p.FirstName + ' ' + p.LastName AS 'Employee Name',
a.AddressLine1, a.AddressLine2 , a.City, a.PostalCode
FROM Person.Person AS p
INNER JOIN HumanResources.Employee AS e
ON p.BusinessEntityID = e.BusinessEntityID
INNER JOIN Person.BusinessEntityAddress bea
ON bea.BusinessEntityID = e.BusinessEntityID
INNER JOIN Person.Address AS a
ON a.AddressID = bea.AddressID;
GO
Затем в пакетном файле, запустить SQLCMD и передать его в файл SQL (с пути) в качестве параметра.
SQLCMD -S MYSERVER \ имя_экземпляра -i C: \ myScript.sql
Если требуется аутентификация, а также, вам нужно добавить в -U и -P параметров вашего SQLCMD команда.
Настоящая статья MSDN, посвященная sqlcmd utility с более подробной информацией.
Используйте переключатель -S
, чтобы указать имена серверов и экземпляров, например. -S MyDbServer\Database1
SQLCMD
документация found here.
Если вы хотите, чтобы выполнить все .SQL файлы (несколько SQL скриптов в папке) для нескольких базы данных, то создайте пакетный файл «RunScript-All.bat» с содержанием ниже
echo "======Start - Running scripts for master database======="
Call RunScript-master.bat
echo "=======End - Running scripts for master database=========="
pause
echo "=====Start - Running scripts for model database========"
Call RunScript-model.bat
echo "=======End - Running scripts for master database=========="
pause
Определение для отдельной партии файл для конкретной базы данных, т.е. «RunScript-master.bat» может быть написано в соответствии с ниже
for %%G in (*.sql) do sqlcmd /S .\SQL2014 /U sa /P XXXXXXXXX /d master -i"%%G"
::pause
Создать много файлов для различных баз данных и вызывать их из «RunScript-All.bat».
Теперь вам будет нужно запустить все скрипты sql во многих базах данных, нажав на пакетный файл «RunScript-All.bat».
- 1. Выполнение грабли из командного файла
- 2. Выполнение хранимой процедуры из командного файла
- 3. Выполнение командного файла из Matlab
- 4. замазка из командного файла и скрипта?
- 5. Выполнение команд локального командного скрипта в свинге
- 6. Выйти из командного скрипта
- 7. Выполнение всех файлов .reg из командного файла
- 8. Выполнение командного файла из Java-кода
- 9. Выполнение команды в Plink из командного файла
- 10. Выполнение командного файла в R-скрипте
- 11. Выполнение командного файла в C#
- 12. Выполнение командного файла в WCF
- 13. вызывать .vbs из командного скрипта
- 14. Выполнение командного файла с использованием сценария Python
- 15. Настройка параметров запуска SQL Server из командного файла
- 16. Есть ли способ отслеживать выполнение командного файла?
- 17. Выполнение набора SQL-запросов с использованием командного файла?
- 18. OrientDB Выполнение скрипта из текстового файла (.osql)
- 19. Выполнение файла общей библиотеки из php-скрипта
- 20. Как выйти из .sql из командного файла
- 21. Закрытие командного окна при выполнении команды gradle из командного файла
- 22. Запуск командного файла из другого командного файла
- 23. SQL для запуска командного файла
- 24. Выполнение SQL-скрипта в Go непосредственно из файла или строки
- 25. Выполнение .bat-файла с использованием Java-скрипта
- 26. Остановить выполнение скрипта sql
- 27. проблема чтения аргументов из командного скрипта
- 28. Выполнение sql-файла из другого файла sql
- 29. Запустите файл .sql из командного файла
- 30. Выполнение скрипта Nodejs из html-файла