SQL Server: учимся работать с SQLCMD

Sql server: учимся работать с sqlcmd

Содержание:

1.

Часть I

(Вы читаете данный раздел);

2.

Часть II

;

3.

Часть III

.


Постоянные читатели журнала, возможно, заметили, что я стал чаще писать о сценариях и некоторых развивающихся платформах и инструментах для взаимодействия с Microsoft SQL Server. Тому есть объяснение, но пока я не могу вдаваться в подробности. Достаточно сказать, что нас ждет дивный новый мир SQL Server на Linux, в котором взаимодействие с нашими экземплярами не ограничено средой Microsoft SQL Server Management Studio. В этой статье речь пойдет об SQLCMD — инструменте командной строки, который используется для взаимодействия с Microsoft SQL Server.

Это не новый инструмент, он появился несколько десятков лет назад. Вы можете запускать SQLCMD не только из приложения командной строки Command, встроенного в Windows, но и из среды SQL Server Management Studio (SSMS) – больше о ней вы сможете узнать в Интернете, для доступа к которому достаточно

скачать браузер от яндекса

.

Многие новые инструменты и методы взаимодействия с Microsoft SQL Server основаны на синтаксисе, используемом SQLCMD. Я взялся за эту ознакомительную статью, чтобы помочь вам разобраться в следующих вопросах:
1. Запуск SQLCMD из командной строки.
2. Основной синтаксис для подключения к Microsoft SQL Server с использованием SQLCMD.
3. Основной синтаксис для передачи запросов в экземпляр Microsoft SQL Server с помощью SQLCMD.
4. Выполнение запросов с использованием SQLCMD из среды SQL Server Management Studio.

Запуск SQLCMD из командной строки

Прежде чем подключиться к Microsoft SQL Server с помощью SQLCMD, необходимо запустить его. Конечно, сделать это очень просто, но, как вы знаете, мой подход заключается в том, чтобы провести вас по всем шагам от А до Я, не пропуская ни одного действия и не предполагая, что вам известны даже самые простые этапы процесса. Всегда досадно, когда не удается выполнить описанные в инструкции действия из-за отсутствия некоторых деталей. В своих статьях я стараюсь избежать таких упущений. В данном случае запустить SQLCMD настолько просто, что мне, вероятно, потребовалось в пять раз больше места, чтобы объяснить, почему я подробно разбираю столь элементарные вещи, чем на описание самого процесса.

Итак, нажмите комбинацию клавиш Windows R, чтобы открыть окно выполнения, введите cmd, чтобы запустить приложение Command, а затем введите sqlcmd в ответ на приглашение и следом одну из многочисленных возможных комбинаций строк подключения, которые описаны ниже. После успешного подключения вы получите приглашение вида «1>», чтобы начать взаимодействие с SQLCMD. При необходимости можно предоставить запрос как часть начального подключения для немедленной обработки, в соответствии с описанием, приведенным далее в статье.

:/>  Ключи активации Office 365

Working with the sql server command line (sqlcmd)

You can run sqlcmd as commands. You can run scripts in command mode.

  • How to run a T-SQL script and receive the output in a file in sqlcmd

    In the next example, we will show how to run a script using sqlcmd and show the results in another file.

    We will first create a script file named columns.sql with the following sentences:

    select * from adventureworks2021.information_schema.columns

    In the cmd, run the following command to invoke sqlcmd:

    sqlcmd -S DESKTOP-5K4TURFSQLEXPRESS -E -i c:sqlcolumns.sql -o c:sqlexit.txt

    -i is used to specify the input. You specify the script file with the queries.
    -o is used to show the results of the input in a file.

    The exit.txt file will be created:

    SQL Server: учимся работать с SQLCMD

    If we open the file, we will see the output results:

    SQL Server: учимся работать с SQLCMD

  • How to back up in sqlcmd

    We will first create a script to back up the database named backup.sql:

    In the cmd run the following command:

    sqlcmd -S DESKTOP-5K4TURFSQLEXPRESS -E -i c:sqlbackup.sql -o
    c:sqloutput.txt

    The output will be similar to this one:

    SQL Server: учимся работать с SQLCMD

    The commands will create a backup in a file named backup.sql in the c:sql folder:

    SQL Server: учимся работать с SQLCMD

  • How to work with variables in sqlcmd

    You can work with variables in sqlcmd. The following example will set the variable DATABASENAME with the value adventureworks2021 and then we change the context to the database specified:

    The result displayed is the following:

    SQL Server: учимся работать с SQLCMD

    As you can see, SETVAR is used to specify the value of the variable. Then you need to use $() for the variable.

    Another example is to set the variable CONTACTTYPEID to 3 and use it in the where clause to find a contact type ID according to the value of the variable:

    :/>  Microsoft Edge Update — что это за программа и нужна ли она Windows 10? (MicrosoftEdgeUpdate.exe) |

    The result displayed is the following:

    SQL Server: учимся работать с SQLCMD

  • How to list the table names of a database in sqlcmd

    You can list the tables of the database using the information_schema.tables view. We will first create a script named tables.sql. This script contains the tables and views:

    Next, we will invoke sqlcmd to execute the script.

    sqlcmd -E -i c:sqltables.sql -o c:sqloutput.txt -S DESKTOP-

    5K4TURFSQLEXPRESS

    The result displayed are the following in the output.txt file:

    SQL Server: учимся работать с SQLCMD

  • How to list the column names of a database in sqlcmd

    The following sentences will list the table names and the column names of a database in a script named columns.sql:

    In the cmd run this command:

    sqlcmd -E -i c:sqlcolumns.sql -o c:sqloutput.txt -S DESKTOP-

    5K4TURFSQLEXPRESS

    The result of the output.txt is the following:

    SQL Server: учимся работать с SQLCMD

  • How to check all the commands

    You can check all the sqlcmd commands using this command:

    Sqlcmd -?

    This command will list all the commands available:

    SQL Server: учимся работать с SQLCMD

  • How to exit if the command fails

    The following command will exit if it fails using the –b parameter:

    sqlcmd -E -q “create table adventureworks” –b -S DESKTOP-

    5K4TURFSQLEXPRESS

    The command will exit if there is an error:

    SQL Server: учимся работать с SQLCMD

  • How to display error messages according to the error level

    If there is an error, the error is displayed. However, according to the error level, you can stop this behavior by default using the -m option.

    Here it is an example about this:

    The following command shows an error message:

    SQL Server: учимся работать с SQLCMD

    However, if you add the –m 16, the error will no longer be displayed because the error has the level of 15:

    sqlcmd -E -q “create table adventureworks” -m 16 -S

    DESKTOP-5K4TURFSQLEXPRESS

    -m 16 will show only the errors higher than 16. As you can see the error message is no longer displayed

  • How to accept user input

    The following example will run a SQL script with one variable. The example will create a database specified by the user.

    We will first create a script named createdb.sql with the following content:

    :/>  Установка windows

    Next, in the cmd we will run the database specifying the database name:

    sqlcmd -E -v DATABASENAME=”Userinput” -i

    c:sqlcreatedb.sql

    The command will create a database named Userinput.

    In sqlcmd you can run the sp_databases stored procedure:

    And you will be able to see the database created:

    SQL Server: учимся работать с SQLCMD

  • Ввод запроса

    Начните вводить оператор SQL в приглашении 1>. Вы можете использовать столько строк, сколько хотите для своего запроса, нажимая клавишу Enter после каждой строки. SQL Server не выполняет ваш запрос, пока не получит явную инструкцию.

     SELECT * 
    FROM HumanResources.shift

    Выполнение запроса

    Когда вы будете готовы выполнить ваш запрос, введите команду GO в новой командной строке в SQLCMD и нажмите Enter . SQLCMD выполнит ваш запрос и отобразит результаты на экране.

    Выход из sqlcmd

    Когда вы будете готовы выйти из SQLCMD, введите команду EXIT в пустой командной строке, чтобы вернуться в командную строку Windows.

    Открытие командной строки

    Чтобы запустить SQLCMD, вы должны сначала открыть утилиту командной строки Windows. В Windows XP нажмите Пуск > Запустить , а затем введите CMD в текстовом поле, а затем нажмите ОК . В Windows Vista нажмите кнопку Windows , введите CMD в поле Поиск и нажмите Enter .


    Вы должны увидеть командную строку Windows.

    Подключение к базе данных

    Когда у вас откроется командная строка, используйте утилиту SQLCMD для подключения к базе данных. В этом примере мы подключаемся к базе данных AdventureWorks2021, поэтому используем команду:

     sqlcmd -d AdventureWorks2021 

    При этом используются учетные данные Windows по умолчанию для подключения к вашей базе данных. Вы также можете указать имя пользователя, используя флаг -U, и пароль, используя флаг -P. Например, вы можете подключиться к базе данных, используя имя пользователя «mike» и пароль «goirish», используя следующую командную строку:

     sqlcmd -U майк -P goirish -d AdventureWorks2021