Использование служебной программы sqlcmd (SQL Server Express)
Базами данных Microsoft SQL Server 2008 Express (SQL Server Express) можно управлять с помощью запускаемой из командной строки программы sqlcmd. Чтобы получить доступ к программе sqlcmd, нажмите кнопку Пуск, выберите Выполнить и введите sqlcmd.exe.
Синтаксис SQLCMD
При запуске программы sqlcmd доступны следующие аргументы. Дополнительные сведения о конкретных аргументах см. в разделах Программа sqlcmd и Учебник. Программа sqlcmd электронной документации по SQL Server.
Sqlcmd
[-U login id] [-P password] [-S server] [-H hostname]
[-E trusted connection] [-d use database name] [-l login timeout]
[-N encrypt connection] [-C trust the server certificate]
[-t query timeout] [-h headers] [-s colseparator] [-w screen width]
[-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
[-c cmdend] [-L[c] list servers[clean output]] [-q "cmdline query"]
[-Q "cmdline query" and exit] [-m errorlevel] [-V severitylevel]
[-W remove trailing spaces] [-u unicode output]
[-r[0|1] msgs to stderr] [-i inputfile] [-o outputfile]
[-f <codepage> | i:<codepage>[,o:<codepage>]]
[-k[1|2] remove[replace] control characters]
[-y variable length type display width]
[-Y fixed length type display width]
[-p[1] print statistics[colon format]]
[-R use client regional setting] [-b On error batch abort]
[-v var = "value"...]
[-X[1] disable commands[and exit with warning]]
[-? show syntax summary]
Команды SQLCMD
В следующей таблице представлен обзор команд, которые можно использовать в программе sqlcmd. Дополнительные сведения об этих командах см. в разделе Программа sqlcmd электронной документации по SQL Server 2008.
Команда |
Описание |
---|---|
go [count] |
Исполнение всех кэшированных инструкций Transact-SQL. Если для параметра count указано значение, кэшированные инструкции будут выполнены count раз как единый пакет. Например, следующая последовательность из двух инструкций исполняется дважды:
|
-Nencrypt connection |
С помощью этого переключателя клиент запрашивает шифрованное соединение. Этот параметр аналогичен параметру ADO.net ENCRYPT = true. |
-Ctrust the server certificate |
С помощью этого переключателя клиент настраивает неявное доверие к сертификату сервера без проверки. Этот параметр аналогичен параметру ADO.net TRUSTSERVERCERTIFICATE = true. |
reset |
Очистка кэша инструкций. |
ed |
Изменение текущего пакета инструкций или пакета, который исполнялся последним. Для изменения пакета, который исполнялся последним, эту команду следует ввести сразу по завершении последнего пакета. |
!! <команда> |
Исполнение команд операционной системы. Для исполнения команды операционной системы поставьте два восклицательных знака (!!) в начале строки, после чего введите команду операционной системы. Например, список каталогов текущего диска отображается так:
|
quit — или — exit |
Немедленный выход из sqlcmd. |
exit [(инструкция)] |
Использование результата инструкции SELECT в качестве значения, возвращенного от sqlcmd. Если в инструкции exit() в скобках ничего не указано, будут исполнены все предшествующие инструкции пакета и произведен выход без возврата значения. Кроме того, допускается включение параметра exit в состав инструкций пакетного файла. Например:
|
:r <имя_файла> |
Анализ инструкций Transact-SQL и команд sqlcmd из файла, указанного как filename, в кэш инструкций. Файл будет прочитан и исполнен после обработки команды завершения пакета (go). |
:serverlist |
Список локально настроенных серверов и имен серверов, выполняющих широковещательную рассылку в сети. |
:list |
Печать содержимого кэша инструкций. |
:listvar |
Список переменных сценария, заданных в настоящее время. |
:error <назначение>[ filename | STDERR | STDOUT] |
Перенаправление всех выходных данных об ошибках в файл, указанный как filename, либо в поток STDERR или STDOUT. По умолчанию выходные данные об ошибках направляются в STDERR. |
:out <назначение>[ filename | STDERR | STDOUT ] |
Перенаправление всех результатов запросов в файл, указанный как filename, либо в поток STDERR или STDOUT. По умолчанию выходные данные направляются в STDOUT. |
:perftrace <назначение>[ filename | STDERR | STDOUT ] |
Перенаправление всех данных об отслеживании производительности в файл, указанный как filename, либо в поток STDERR или STDOUT. По умолчанию выходные данные об отслеживании производительности направляются в STDOUT. |
:connect имя_сервера[\имя_экземпляра] [-t тайм-аут] [-U имя_пользователя [-P пароль] ] |
Соединение с экземпляром SQL Server и закрытие текущего соединения. |
:on error [ exit | ignore ] |
Установка действия, выполняемого при возникновении ошибки во время исполнения скрипта или пакета. Когда используется параметр exit, sqlcmd закрывается с указанием значения соответствующей ошибки. Когда используется параметр ignore, sqlcmd пропускает ошибку и продолжает исполнять пакет или скрипт. По умолчанию будет распечатано сообщение об ошибке. |
:help |
Список команд sqlcmd и краткое описание каждой команды. |
Соединение с SQL Server Express
При подключении к серверу SQL Server Express требуется указать имя сервера, а если SQL Server Express установлен как именованный экземпляр, то и имя экземпляра. По умолчанию sqlcmd использует проверку подлинности Windows. Если при подключении к серверу SQL Server Express используется проверка подлинности SQL Server, необходимо также указать сведения учетной записи для подключения к серверу SQL Server Express. Например, при подключении к стандартной версии SQL Server Express на сервере server1 можно использовать следующие аргументы:
sqlcmd -S server1\SQLExpress -U SqlUserAccount -P SqlPassword
Примечание |
---|
Если использовать аргумент -P, пароль появится в командной строке в виде простого текста. Если опустить аргумент -P, будет выдан запрос пароля. Вводимый текст останется скрытым. |
Если вход выполнен от имени учетной записи, которая является доверительной на сервере, где запускается SQL Server Express, аргументы -U и -P можно опустить.
sqlcmd -S server1\SQLExpress
Примечание |
---|
Аргумент -E указывает доверенное соединение. Это параметр по умолчанию для sqlcmd, поэтому аргумент -E можно опустить. |
Пример
В следующем примере показано использование программы sqlcmd для подключения к экземпляру SQL Server Express с именем SqlExpress на сервере SqlServer1.
Sqlcmd -S SqlServer1\SqlExpress
После подключения можно указать другие команды для управления экземпляром. Например, следующие команды отобразят все установленные в настоящее время базы данных. Это удобный способ поиска логического имени добавленной базы данных SQL Server Express.
SELECT name from sys.databases
Go
Системные хранимые процедуры sp_configure
Возможен контроль и оптимизация ресурсов SQL Server Express через задание параметров конфигурации в системной хранимой процедуре sp_configure system. Дополнительные сведения о процедуре sp_configure см. в разделе Установка параметров конфигурации сервера электронной документации по SQL Server.
В SQL Server Express не поддерживаются следующие параметры конфигурации sp_configure:
Agent XPs
Database Mail XPs
SQL Mail XPs
Web Assistant Procedures