Новость из категории: Информация

SQL Server. Истории о данных: случай с фантомным дубликатом

Содержание:
1. Часть I (Вы читаете данный раздел);
2. Часть II;
3. Часть III.
SQL Server. Истории о данных: случай с фантомным дубликатом

Прежде чем приступить непосредственно к теме нашего сегодняшнего разговора, немного истории: в SQL Server 2005 разработчики внедрили такое средство командной строки, как SQLCMD, которое пришло на замену OSQL. Базой для SQLCMD послужил всем известный интерфейс OLE-DB, а не ODBC, который предоставлял менее широкие возможности. Для примера скажу, что OLE-DB позволяет задействовать команды ОС прямо внутри сценария. Выполнять запросы SQLCMD операторы смогли благодаря выходу среды под названием SQL Server Management Studio. Что в итоге им это дало? Встраивать команды совершенно других типов в имеющиеся сценарии SQL. Для примера приведу сценарий, который можно задействовать в стандартном окне запросов:
SELECT TOP(2) * FROM sys.tables;

!!DIR

SQL Server. Истории о данных: случай с фантомным дубликатом
Запуск режима SQLCMD

При этом у оператора есть выбор: он может работать как с режимом запросов, так и посредством режа SQLCMD (см. скриншот выше).

SQL Server. Истории о данных: случай с фантомным дубликатом
Команда !!DIR подсвечивается

SQL Server. Истории о данных: случай с фантомным дубликатом
Сценарий выполняется

Теперь команда !!DIR подсвечивается, и сценарий выполняется (см. скриншоты выше).

В режиме SQLCMD пользователю доступно достаточное количество полезных команд:
[!!:]GO[count]
!! <command>
:exit(statement)
:Quit
:r <filename>
:setvar <var> <value>
:connect server[instance] [-l login_timeout] [-U user [-P password]]
:on error [ignore|exit]
:error <filename>|stderr|stdout
:out <filename>|stderr|stdout

За годы работы с продуктом я выбрал для себя самую полезную команду. Она указывает, на какой сервер будут пересылаться команды. Так, если в данный момент я подключен к серверу SERVER 1, я могу выполнить следующий сценарий:
:CONNECT ProdServer
SELECT @@SERVERNAME;

Этот сценарий обеспечит подключение к серверу ProdServer и выполнение команд на указанном сервере. Именем сервера также может быть псевдоним SQL Server. Использование псевдонимов поможет уменьшить зависимость сценариев от имен серверов. Для выполнения процедуры аутентификации (если вы можете ограничиться аутентификацией Windows) от вас не потребуется никаких дополнительных сведений. В иных случаях для выполнения аутентификации SQL Server вы можете предоставить имя пользователя и пароль.

SQL Server. Истории о данных: случай с фантомным дубликатом

Теперь пора приступать к рассмотрению примера, приведенного в начале статьи. Итак, наш неустрашимый администратор (пусть это будет девушка по имени Мэри) работает с базой данных ReferenceData. Компания располагает четырьмя версиями этой базы данных, и они выполняются в различных средах: Development, Staging, UAC и Production.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх