В версии SQL Server 2012 добавлен новый параметр сортировки — SC (дополнительные символы), который определяет, учитывают ли параметры сортировки символы UTF-16. Дополнительные сведения см. в разделе Поддержка параметров сортировки и Юникода. SQL Server 2012 также поддерживает данный параметр сортировки в XML-схеме типов SQL и вообще везде, где SQL Server обеспечивает доступ или использование этих сведений в XML-контексте. Это следующие области.
· Схема XML типов SQL. Текущая версия схемы: 1.2. Схема обеспечивает обратную совместимость; целевое пространство имен изменилось. Теперь схема предоставляет глобальный атрибут supplementaryCharacters.
· Директива XMLDATA для FOR XML. Новый глобальный атрибут доступен во встроенных схемах и аннотациях экземпляров, формируемых директивой XMLSCHEMA, параллельно со схожими атрибутами, например localeId и sqlCompareOptions. Эта директива поддерживается для FOR XML в режимах RAW и AUTO, но не в режимах EXPLICIT или PATH.
· Коллекция схем XML sys.sys. Новый глобальный атрибут заранее заполняется во встроенной коллекции схем XML sys.sys и неявно доступен всем другим коллекциям XML-схем, импортирующих XML-схему типов SQL.
· Представления каталога. Новый глобальный атрибут теперь перечисляется в следующих представлениях каталога:
o sys.xml_schema_components
o sys.xml_schema_attributes
o sys.xml_schema_component_placements
· Обновленные коллекции схем XML. После перехода с предыдущей версии SQL Server новый глобальный атрибут предоставляется во всех коллекциях схем XML, импортирующих схему XML типов SQL.
· Наборы XML-столбцов. Новый глобальный атрибут добавляется в значения набора XML-столбцов, представляющие строки sql_variant, в которых используются новые параметры сортировки UTF-16. Он также может применяться во время вставки и обновления для установки строковых значений типа sql_variant в разреженных столбцах для использования параметров сортировки, учитывающих символы UTF-16.
Реализация разбиения на страницы при нерегламентированном запросе
Можно указать диапазон строк, возвращаемых инструкцией SELECT на основе заданных значений смещения строк и количества строк. Это удобно, если нужно управлять количеством строк, отправляемых клиентскому приложению в ответ на определенный запрос.
Объекты последовательности
Объект последовательности представляет собой определяемый пользователем объект, привязанный к схеме, который формирует последовательность числовых значений в соответствии со спецификацией, с которой эта последовательность создавалась. Он работает сходным образом со столбцом идентификаторов, но использование порядковых номеров не ограничено одной таблицей.
Инструкция THROW
С помощью инструкции THROW можно вызывать и передавать исключение блоку CATCH конструкции TRY…CATCH.
14 новых функций и 1 измененная
В SQL Server 2012 добавлено 14 встроенных функций. Эти функции облегчают информационным работникам процедуру миграции, эмулируя функциональные возможности, доступные во многих языках выражений в приложениях для настольных компьютеров. Но эти функции также могут пригодиться и более опытным пользователям SQL Server.
Новые функции:
Функции преобразования
· PARSE (Transact-SQL)
· TRY_CONVERT (Transact-SQL)
· TRY_PARSE (Transact-SQL)
Функции даты и времени
· DATEFROMPARTS (Transact-SQL)
· DATETIME2FROMPARTS (Transact-SQL)
· DATETIMEFROMPARTS (Transact-SQL)
· DATETIMEOFFSETFROMPARTS (Transact-SQL)
· EOMONTH (Transact-SQL)
· SMALLDATETIMEFROMPARTS (Transact-SQL)
· TIMEFROMPARTS (Transact-SQL)
Логические функции
· CHOOSE (Transact-SQL)
· Предложение IIF (Transact-SQL)
Строковые функции
· CONCAT (Transact-SQL)
· FORMAT (Transact-SQL)
Помимо появления 14 новых функций, изменилась одна из существующих. Существующая функция LOG (Transact-SQL) теперь имеет необязательный второй параметр base.
SQL Server Express LocalDB
SQL Server Express LocalDB — это облегченная версия Express, которая имеет все программные функции, запускается в пользовательском режиме, быстро устанавливается, не требует настройки и имеет низкие системные требования. Выпуск LocalDB SQL Server предназначен для разработчиков программ. При установке LocalDB выполняется копирование минимального набора файлов, необходимых для запуска компонента Компонент SQL Server Database Engine. После установки LocalDB разработчики могут установить соединение с помощью специальной строки подключения. При соединении необходимая инфраструктура SQL Server создается и запускается автоматически, что позволяет приложению использовать базу данных без выполнения сложной настройки, занимающей много времени. Средства разработчика позволяют использовать Компонент SQL Server Database Engine для написания и проверки кода Transact-SQL без необходимости управления полным экземпляром сервера SQL Server. Управление экземпляром SQL Server Express LocalDB можно осуществлять с помощью служебной программы SqlLocalDB.exe. SQL Server Express LocalDB следует использовать вместо устаревшего компонента пользовательского экземпляра SQL Server Express.
Новые и улучшенные указания оптимизатора запросов
Синтаксис табличной подсказки FORCESEEK был изменен. Теперь можно более точно управлять доступом к индексам путем задания метода доступа к индексам и их столбцам. Существующий синтаксис FORCESEEK остался без изменений и может использоваться как и прежде. Если вы не планируете пользоваться новыми функциями, то никакие изменения в приложения вносить не потребуется.
Добавлена табличная подсказка FORCESCAN. Она дополняет указание FORCESEEK, указывая, что оптимизатор запросов должен использовать в качестве пути доступа к таблице или представлению, на которые ссылается запрос, только операцию просмотра индекса. Указание FORCESCAN может оказаться полезным в тех запросах, где оптимизатор недооценивает число затрагиваемых строк и выбирает операцию поиска, а не просмотра. Указание FORCESCAN может быть указано с указанием INDEX или без него.
Улучшения расширенных событий
Имеются следующие улучшения в области расширенных событий.
В предложение OVER была добавлена поддержка оконных функций. Оконные функции выполняют вычисления, охватывающие набор строк, которые имеют определенную связь с текущей строкой. Например, можно использовать предложение ROWS или RANGE в наборе строк для вычисления скользящего среднего или совокупного значения. Дополнительные сведения см. в разделе Предложение OVER (Transact-SQL).
Кроме того, в агрегатных функциях, допускающих задание предложения OVER, теперь допускается упорядочивание строк в секциях.
Аналитические функции
Были добавлены следующие аналитические функции.
CUME_DIST (Transact-SQL)
LAST_VALUE (Transact-SQL)
PERCENTILE_DISC (Transact-SQL)
FIRST_VALUE (Transact-SQL)
Предложение LEAD (Transact-SQL)
PERCENT_RANK (Transact-SQL)
Предложение LAG (Transact-SQL)
PERCENTILE_CONT (Transact-SQL)
В функциях XQuery учитываются суррогаты
Рекомендация W3C для функций и операторов XQuery требует, чтобы в них суррогатная пара, представляющая символ Юникода из старших диапазонов, считалась единым глифом в кодировке UTF-16. Однако в версиях SQL Server до SQL Server 2012 строковые функции не определяли суррогатные пары как один символ. Некоторые строковые операторы, например для вычисления длины строк и извлечения подстрок, возвращали неправильные результаты. Теперь SQL Server 2012 полностью поддерживает UTF-16 и правильную обработку суррогатных пар. «Функции XQuery учитывают суррогаты» раздела Критические изменения в функциях компонента Database Engine в SQL Server 2012.