Pull to refresh

MS SQL 2011 — новое в SSMS

Reading time 4 min
Views 4.2K
Original author: Niladri Biswas
Одна из наиболее интересных и захватывающих разработок от Майкрософт в технологическом плане была представлена 8 ноября 2010 года. В этот день состоялся релиз CTP 1 SQL Server 2011 (Codename Denali). CTP доступна как в х86, так и в х64. Как и ожидалось, новый сервер принес много вкусненького для всех поклонников MS SQL будь то разработчик, администратор или бизнес аналитик.

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

Если у вас возникнут проблемы при установке сервера, то рекомендую обратиться к этой статье.
Далее пойдет речь о новшествах в SQL Server Management Studio (SSMS).

Запуск


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


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


SSMS улучшения


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




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


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


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


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


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



Сниппеты


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


Представьте, что у нас есть такой простой скрипт:
Declare @i int
set @i = 0
print @i
set @i += 1

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

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


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



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


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

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

IntelliSense


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


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


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


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


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

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

Перво-наперво надо будет создать файл скодом сниппета и сохранить его в любом не случайном месте. Файл должен иметь расширение .snippet, следовать вполне определенной схеме XML.
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>Sequence</Title>
      <Author>Niladri Biswas</Author>
      <Description>Code snippet for Sequence Creation</Description>
      <HelpUrl>http://msdn.microsoft.com/en-us/library/ff878091(v=sql.110).aspx</HelpUrl>
      <Shortcut></Shortcut>
    </Header>

    <Snippet>
      <Code Language="sql">
                       <![CDATA[
                 CREATE SEQUENCE Sample_Sequence          
                 START WITH 1
                 INCREMENT BY 1
                 MINVALUE -2147483648
                 MAXVALUE 2147483647              
                 ]]>
    </Code>
    </Snippet> 

  </CodeSnippet>
</CodeSnippets>

Допустим вы сохранили файл в 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.


По двойному клику появится следующий код:
CREATE SEQUENCE Sample_Sequence
 START WITH 1
 INCREMENT BY 1
 MINVALUE -2147483648
 MAXVALUE 2147483647

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

Дополнительно по теме


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


На данный момент это всё по функционалу SSMS и нововведениям TSQL. У автора можно посмотреть статью немалых размеров про улучшения в SSIS, очень много картинок, к сожалению не самого лучшего качества. Почти как для этой статьи.

Переводы из цикла:
MS SQL Server 2011: Автономные базы данных, новый объект Sequence, оператор Offset, обработка ошибок, конструкция With Result Set.
Tags:
Hubs:
+22
Comments 12
Comments Comments 12

Articles