Отсоединение и присоединение базы данных используется для переноса базы данных между различными экземплярами SSMS. Например, разработанная под управлением сервера S1 база данных может быть отсоединена от этого сервера, скопирована на какой-нибудь магнитный носитель, восстановлена на магнитный диск другого компьютера и присоединена к серверу S2, функционирующему на втором компьютере.
Самый простой способ отсоединить и присоединить базу данных – это воспользоваться контекстными меню SSMS Задачи/Отсоединить…
Кроме того, отсоединение и присоединение базы данных может быть выполнено с помощью T-SQL. Отсоединение базы данных может быть выполнено с помощью системной процедуры sp_detach_db, а присоединение – двумя способами: с помощью системной процеду-
ры sp_attach_db и с помощью оператора CREATE DATABASE с опцией FOR ATTACH.
Построение схемы базы данных
Установив первичные ключи для всех таблиц, переходим к построению схемы базы. Для выполнения этого действия в контекстном меню в папке Databases выберете вашу базу данных. В развернувшемся списке нужно выбрать пункт Diagrams и выполнить команду New Table.
В следующем шаге мастера из общего списка, включающего в себя системные таблицы, выберем пользовательские таблицы.
В итоге откроется окно New Diagram, имеющее следующий вид:
Для определения связей следует "ухватиться" за одно поле и "перетащить" его на второе. При определении связи появляется окно "Create Relationship".
В окне "Create Relationship" можно задать название связи в поле "Relationship name", а также обеспечить каскадное обновление связанных полей, пометив галочку "Cascade Update Related Fields" и каскадное удаление связанных полей, пометив галочку "Cascade Delete Related Records".
|
После установления связей схема данных будет выглядеть следующим:
Линии, отображающие связи по умолчанию, не привязываются графически к первичным и вторичным полям. Однако при щелчке правой кнопкой на любой связи и последующем выборе пункта контекстного меню "Properties" открывается диалоговое окно, в котором сразу видны все отношения. На панели инструментов расположена кнопка "Show_" , при нажатии на которую появляется список режимов отображения таблиц. Выделив все таблицы и установив режим "Keys" (Ключи), можно отобразить только первичные и вторичные ключи.
Завершив работу со схемой данных, сохраните ее. В окне диаграмм появится только что созданная вами схема.
Отладка SQL Server
SQL Server, начиная с версии SQL Server 2008, оснащен встроенным отладчиком кода. Чтобы начать сеанс отладки, выберите в главном меню среды SQL Server Management Studio следующую последовательность команды Debug --> Start Debugging (Отладка --> Начать отладку). Мы рассмотрим работу отладчика на примере с использованием пакета команд. Пакетом называется последовательность инструкций SQL и процедурных расширений, составляющих логическое целое, отправляемая компоненту Database Engine для выполнения всех содержащихся в ней инструкций.
На рисунке ниже показан пакет, который подсчитывает количество сотрудников, работающих над проектом p1. Если это количество равно 4 или больше, то выводится соответствующее сообщение. В противном случае выводятся имена и фамилии сотрудников.
Чтобы остановить выполнение пакета на определенной инструкции, можно установить точки останова, как это показано на рисунке. Для этого нужно щелкнуть слева от строки, на которой нужно остановиться. В начале отладки выполнение останавливается на первой линии кода, которая отмечается желтой стрелкой. Чтобы продолжить выполнение и отладку, выполните команду меню Debug --> Continue (Отладка --> Продолжить). Выполнение инструкций пакета продолжится до первой точки останова, и желтая стрелка остановится на этой точке.
|
Информация, связанная с процессом отладки, отображается в двух панелях внизу окна редактора запросов. Информация о разных типах информации об отладке сгруппирована в этих панелях на нескольких вкладках. Левая панель содержит вкладку Autos (Автоматические), Locals (Локальные) и до пяти вкладок Watch (Видимые). Правая панель содержит вкладки Call Stack (Стек вызовов), Threads (Потоки), Breakpoints (Точки останова), Command Window (Окно команд), Immediate Window (Окно интерпретации) и Output (Вывод). На вкладке Locals отображаются значения переменных, на вкладке Call Stack - значения стека вызовов, а на вкладки Breakpoints - информация о точках останова.
Чтобы завершить процесс отладки, выполните последовательность команд из главного меню Debug --> Stop Debugging или нажмите синюю кнопку на панели инструментов отладчика.
В SQL Server 2012 функциональность встроенного в SQL Server Management Studio отладчика расширена несколькими новыми возможностями. Теперь в нем можно выполнять ряд следующих операций:
· Указывать условие точки останова. Условие точки останова - это SQL-выражение, вычисленное значение которого определяет, будет ли выполнение кода остановлено в данной точке или нет. Чтобы указать условие точки останова, щелкните правой кнопкой красный значок требуемой точки и в контекстном меню выберите пункт Condition (Условие). Откроется диалоговое окно Breakpoint Condition (Условие для точки останова), в котором нужно ввести необходимое логическое выражение. Кроме этого, если нужно остановить выполнение, в случае если выражение верно, то следует установить переключатель Is True. Если же выполнение нужно остановить, если выражение изменилось, то нужно установить переключатель When Changed (Изменилось).
|
· Указать число попаданий в точку останова. Число попаданий - это условие останова выполнения в данной точке в зависимости от количества раз, когда была достигнута эта точка останова в процессе выполнения. При достижении указанного числа прохождений и любого другого условия, указанного для данной точки останова, отладчик выполняет указанное действие. Условие прерывания выполнения на основе числа попаданий может быть одним из следующих:
1. безусловное (действие по умолчанию) (Break always);
2. если число попаданий равно указанному значению (Break when the his count equals a specified value);
3. если число попаданий кратно указанному значению (Break when the hit count equals a multiple of a specified value);
4. если число попаданий равно или больше указанного значения (Break when the his count is greater or equal to a specified value).
Чтобы задать число попаданий в процессе отладки, щелкните правой кнопкой значок требуемой точки останова на вкладке Breakpoints, в контекстном меню выберите пункт Hit Count (Число попаданий), затем в открывшемся диалоговом окне Breakpoint Hit Count (Число попаданий в точку останова) выберите одно из условий из приведенного ранее списка. Для опций, требующих значение, введите его в текстовое поле справа от раскрывающегося списка условий. Чтобы сохранить указанные условия, нажмите кнопку OK.
· Указывать фильтр точки останова. Фильтр точки останова ограничивает работу останова только на указанных компьютерах, процессах или потоках. Чтобы установить фильтр точки останова, щелкните правой кнопкой требуемую точку и в контекстном меню выберите пункт Filter. Затем в открывшемся диалоговом окне Breakpoint Filters (Фильтр точки останова) укажите ресурсы, которыми нужно ограничить выполнение данной точки останова. Чтобы сохранить указанные условия, нажмите кнопку ОК.
· Указывать действие в точке останова. Условие When Hit (При попадании) указывает действие, которое нужно выполнить, когда выполнение пакета попадает в данную точку останова. По умолчанию, когда удовлетворяются как условие количества попаданий, так и условие останова, тогда выполнение прерывается. Альтернативно можно вывести заранее указанное сообщение.
Чтобы указать действие при попадании в точку останова, щелкните правой кнопкой красный значок требуемой точки и выберите в контекстном меню пункт When Hit. В открывшемся диалоговом окне When Breakpoint is Hit (При попадании в точку останова) выберите требуемое действие. Чтобы сохранить указанные условия, нажмите кнопку OK.
· Использовать окно быстрой проверки Quick Watch. В окне QuickWatch (Быстрая проверка) можно просмотреть значение выражения Transact-SQL, а потом сохранить это выражение в окне просмотра значений Watch (Просмотр значений). Чтобы открыть окно Quick Watch, в меню Debug выберите пункт Quick Watch. Выражение в этом окне можно или выбрать из раскрывающегося списка Expression (Выражение), или ввести его в это поле.
· Использовать всплывающую подсказку Quick Info. При наведении указателя мыши на идентификатор кода средство Quick Info (Краткие сведения) отображает его объявление во всплывающем окне.