Подтвердить что ты не робот

Выполнение набора SQL-запросов с использованием пакетного файла?

Я использую базу данных SQL Server. У меня есть эти SQL-запросы:

Delete from TableA;
Delete from TableB;
Delete from TableC;
Delete from TableD;
Delete from TableE;

Можно ли запускать эти скрипты с помощью командного файла? База данных - это удаленная база данных.

Спасибо!

4b9b3361

Ответ 1

Сохраните команды в файле .SQL, например: ClearTables.sql, скажем в вашей папке C:\temp.

Содержание C:\Temp\ClearTables.sql

Delete from TableA;
Delete from TableB;
Delete from TableC;
Delete from TableD;
Delete from TableE;

Затем используйте sqlcmd, чтобы выполнить его следующим образом. Поскольку вы сказали, что база данных удаленная, используйте следующий синтаксис (после обновления для имени сервера и имени базы данных).

sqlcmd -S <ComputerName>\<InstanceName> -i C:\Temp\ClearTables.sql

Например, если ваше имя удаленного компьютера - SQLSVRBOSTON1, а имя экземпляра базы данных - MyDB1, тогда команда будет.

sqlcmd -E -S SQLSVRBOSTON1\MyDB1 -i C:\Temp\ClearTables.sql

Также обратите внимание, что -E указывает аутентификацию по умолчанию. Если у вас есть имя пользователя и пароль для подключения, используйте переключатели -U и -P.

Вы выполните все это, открыв окно CMD.

Использование пакетного файла.

Если вы хотите сохранить его в пакетном файле и дважды щелкните, чтобы запустить его, сделайте это следующим образом.

Создайте и сохраните ClearTables.bat так.

echo off
sqlcmd -E -S SQLSVRBOSTON1\MyDB1 -i C:\Temp\ClearTables.sql
set /p delExit=Press the ENTER key to exit...:

Затем дважды щелкните его, чтобы запустить его. Он выполнит команды и дождитесь, пока вы нажмете клавишу для выхода, чтобы вы могли видеть выход команды.

Ответ 3

Используйте утилиту SQLCMD.

http://technet.microsoft.com/en-us/library/ms162773.aspx

Существует инструкция connect, которая позволяет вам переключаться с сервера базы данных A на сервер B в той же партии.

: Подключить имя_сервера [\ имя_экземпляра] [-l таймаут] [-U имя_пользователя [-P пароль]] Подключается к экземпляру SQL Server. Также закрывает текущее соединение.

С другой стороны, если вы знакомы с PowerShell, вы можете программным образом сделать то же самое.

http://technet.microsoft.com/en-us/library/cc281954(v=sql.105).aspx

Ответ 4

Различные способы:

  • Использование агента SQL Server (если локальный экземпляр)
    запланировать работу в агенте sql server с новым шагом, имеющим тип "T-SQL", а затем запустить задание.

  • Использование SQLCMD
    Для использования SQLCMD обратитесь http://technet.microsoft.com/en-us/library/ms162773.aspx

  • Использование SQLPS
    Чтобы использовать SQLPS, обратитесь http://technet.microsoft.com/en-us/library/cc280450.aspx