MS SQL 2011 (Denali) — SSMS

Одна из наиболее интересных и захватывающих разработок от Майкрософт в технологическом плане была представлена 8 ноября 2010 года. В этот день состоялся релиз CTP 1 SQL Server 2011 (Codename Denali). CTP доступна как в х86, так и в х64.

Как и ожидалось, новый сервер принес много вкусненького для всех поклонников MS SQL будь то разработчик, администратор или же бизнес аналитик.

За последние несколько лет Майкрософт внедрила много интересных технологий, которые были приняты разработчиками. Самые значительные изменения были сделаны в 2005 SQL сервере и получили дополнительное развитие в 2008 выпуске.

В этой статье будут рассмотрены изменения и новые возможности которые произошли в новой версии SQL Server в языке TSQL, администрировании и анализа данных.

Если у вас возникнут проблемы при установке сервера, то рекомендую обратиться к этой статье.

Далее пойдет речь о новшествах в SQL Server Management Studio (SSMS)

Запуск

При запуске новой Management Studio вы увидете следующий сплэш-скрин.

После входа на сервер вашему взору предстанет новая оболочка, теперь полностью на WPF.

Перед созданием новой базы убедитесь, что совместимость выставлена на SQL Server “Denali” (110).

SSMS улучшения

SQL Server Management Studio, как я уже заметил ранее, теперь полностью на WPF и получила все плюсы и минусы от Visual Studio 2010.

Теперь можно более гибко настраивать расположение окон.

 

Поддерживается цикличный буфер обмена. Данная функциональность мигрировала прямиком из студии.

Появилась поддержка списка задач. Можно создавать задачи и назначать им приоритет. Дотянуться до них можно по меню View > Task List или по нажатию Ctrl+\,T. Список задач:

Назначение приоритета задаче

Закрытие задачи

В редакторе кода теперь можно использовать увеличение/уменьшение текста.

Включение «Sequence» в список в ObjectExplorer

В Oracle это уже очень старая концепция, в то время как в MS SQL она пришла только в новой редакции.

“Sequence” – это автоматически генерируемая последовательность чисел, сродни Identity, но с ключевым различием. Она может назначаться на несколько независимых таблиц.

Создать такую последовательность можно двумя путями: с использованиме TSQL и без него. Как неожиданно! =)

Создание Sequence с помощью мыши производится в обозревателе объектов, в узле Programmability.

Вызовите контекстное меню и выберите пункт New Sequence…

После чего появится новый экран настройки последовательностей.

Очень похоже на любой другой объект базы данных. Для последовательности можно задать уникальное имя (в данном случае MySequence) и назначить ее к схеме базы данных. При разворачивании списка с типом данных можно увидеть все поддерживаемые типы:

Start Value – значение первого элемента, с которого начнется вся последовательность.

Increment by – на сколько увеличивать значение последовательности. Может принимать как положительные, так и отрицательные значения.

Можно задавать границы последовательности в соответствующих полях. Если значения можно пустить по кругу, то отметьте галочной поле Cycle option. В противном случае сервер выдасть исключение при пересечении границы Sequence.

Создание с помощью TSQL

Скриптом создание последовательности будет примерно таким:

 

Общий же синтаксис создания Sequence следующий:

 

После создания последовательности, в обозревателе проектов можно наблюдать новый элемент.

После создание Sequence можно задействовать ее в заполнении значений для таблицы. При создании таблицы не надо указывать специальных ключей. Отличия только в заполнении.

Объект последовательности может быть использован так же с временными таблицами.

Из кода видно, что для того, чтобы получить следующее значение последовательности, необходимо использовать конструкцию next value for, если же надо получить границы последовательности, то поможет процедура sp_sequence_get_range.

Удаление sequence просиходит аналогично другим объектам базы.

 

Раскрытие нюансов и деталей использования последовательностей будет дальше.

Сниппеты

Наконец-то в студии появились сниппеты для заключения блока кода в различные управляющие последовательности: IF, WHILE, Begin … End.

Представьте, что у нас есть такой простой скрипт:

Теперь, если мы захотим использовать цикл, можно испльзовать сниппеты и избавиться от ручной работы. Profit!

1. Для начала надо выделить кусок кода, который собираемся обрамлять управляющей последовательностью

2. Далее можно вызвать контекстное меню Surrounded With или нажать Ctrl+K, Ctrl+S.


3. Последним шагом будет двойной клик по While и код будет сформирован!

Осталось только задать условия и запустить скрипт.

4. Profit!!!

Т.е. получаем почти что работу  ReSharper для базы данных. Дальше  больше!

IntelliSense

Таким же образом будут работать подсказки и возможности по автогенерации скриптов из шаблонов. Они могут вызваны из меню Edit > IntelliSense > Insert Snippet или же комбинацией Ctrl+K, Ctrl+X

Если надо будет вставить таблицу, просто сделайте двойной клик или нажмите Enter в нужном пункте.

Будет сформирован такой код:

Создание своего сниппета

Впрочем, если удобство использвание приближается к хорошему, то создание сниппетов по прежнему оставляет желать лучшего. По сравнению с таким же процессом в ReSharper.

Для примера, создадим сниппет к уже рассмотреному объекту Sequence.

Перво-наперво надо будет создать файл скодом сниппета и сохранить его в любом не случайном месте. Файл должен иметь расширение .snippet, следовать вполне определенной схеме XML.

Допустим вы сохранили файл в C:\CustomSequence\ CustomSequence.snippet. Теперь его надо будет зарегистрировать в менеджере сниппетов.

В SQL Server Management Studio выбираете меню Tools > Code Snippet Manager или же нажимаете Ctrl+K, Ctrl+B, после чего появится окно менеджера:

Жмите на Add… чтобы добавить наш файл. После чего он появится в узле CustomSequence. После этого можно закрывать окно.

Вызвать новый сниппет можно как уже описывалось с помощью Tools > Code Snippets Manager или с помощью комбинации Ctrl+K, Ctrl+B.

По двойному клику появится следующий код:

Более полезным может оказаться опция импорта сниппетов в Code Snippet Manager и использование дизайнера снипетов с Code Plex. Руками писать сниппеты не интересно совершенно.

Дополнительное чтиво

  1. SQL Server Denali – New Features
  2. First look at SQL Server Management Studio
  3. SQL Server v.Next (Denali) : The New SSMS

 

Дальше будет интереснее, так что оставайтесь на связи. Перевод.

Hard’n’heavy!

 

2 комментарий на “MS SQL 2011 (Denali) — SSMS

Оставить комментарий