Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server 2005 для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

3.4. SQLCmd

3.4.1. Применение SQLCmd

SQLCmd, запуск скриптов SQL из командной строки, применение, интерактивный и пакетный режимы работы, применение переменных окружения

SQLCmd — это еще одна новая (и очень важная) утилита, входящая в состав SQL Server 2005. Она предназначена для выполнения скриптов Transact-SQL из командной строки и призвана заменить использовавшиеся для этой цели в предыдущих версиях SQL Server утилиты osql и isql. При этом утилита isql (которая использовала для подключения устаревшую библиотеку DBLibrary) вообще удалена из поставки SQL Server 2005, а osql (которая работает по ODBC) пока сохранена, но рекомендуется по возможности всегда использовать только SQLCmd. Сама утилита SQLCmd работает по OLE DB без использования SQL Native Client.

SQLCmd используется всегда, когда нужно выполнить команду Transact-SQL, скрипт или набор скриптов из командной строки операционной системы. Ситуации, когда вам пригодится эта утилита, могут быть такими:

q      на SQL Server 2005 нужно создать и настроить базу данных. Произвести создание самой базы данных, объектов ней, а также выполнить первоначальную загрузку данных удобнее всего при помощи скриптов SQLCmd (если вы не используете для этой цели резервные копии базы данных);

q      необходимо внести обновления в существующую базу данных, например, изменить ее структуру. Если вы — разработчик, и вам нужно обеспечить единообразное внесение изменений, например, во всех филиалах, то применение SQLCmd может оказаться самым простым и надежным решением;

q      когда нужно, чтобы выполнение определенных команд Transact-SQL инициировала операционная система (например, если вы используете планировщик операционной системы для выполнения каких-то действий на SQL Server по расписанию).

SQLCmd может работать в двух режимах: интерактивном и пакетном. При работе в интерактивном режиме SQLCmd запускается, и затем в открывшемся приглашении SQLCmd вводятся команды. В пакетном режиме вы сразу передаете SQLCmd нужный запрос или файл скрипта.

Полный синтаксис команд SQLCmd приводиться здесь не будет: его всегда можно посмотреть в документации. Приведем только самый распространенный вариант применения SQLCmd. Предположим, что вам нужно выполнить скрипт из файла C:\SQLQuery.sql и записать результаты в файл C:\Results.txt. Скрипт нужно выполнить на сервере LONDON\SQL2005, подключившись от имени пользователя SA с паролем P@ssw0rd. Команда при этом может быть такой:

sqlcmd -S LONDON7\SQL2005 -Usa -PP@ssw0rd -i C:\SQLQuery.sql -o C:\Results.txt

Отметим некоторые моменты, связанные с применением SQLCmd:

q      скрипты для SQLCmd можно готовить и отлаживать в привычной графической среде SQL Server Management Studio (с поддержкой всех специальных команд и возможностей SQLCmd). Для этого достаточно перевести редактор кода в специальный режим написания скриптов SQLCmd. Эта операция производится из меню Query | SQLCmd Mode (Запрос | Режим SQLCmd). Правда, необходимо учитывать, что в этом режиме SQL Server Management Studio будет использовать для подключения SQL Native Client (в отличие от OLE DB, используемого SQLCmd): могут быть мелкие отличия в результатах выполнения скриптов;

q      SQLCmd умеет использовать переменные окружения операционной системы. Если вы заранее создали на компьютере нужные вам переменные окружения, можно не указывать в скрипте, например, логин, используемый для подключения, пароль, имя сервера, имя базы данных и т. п. — всю необходимую информацию SQLCmd "подхватит" автоматически. Можно даже определить специальную переменную окружения sqlcmdini. Скрипт, который вы укажете при помощи этой переменной окружения, будет выполнен автоматически:

set sqlcmdini=C:\SQLQuery.sql

sqlcmd

q      SQLCmd можно использовать для выгрузки данных с SQL Server в формате XML. (для выполнения команд SELECT с параметрами FOR XML и записи результатов в файл). Для этого необходимо перевести SQLCmd в специальный XML-режим с помощью команды :XML ON. Отключить этот режим можно командой :XML OFF.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru