SQL Server 2014

by Alexey Knyazev 1. апреля 2014 14:08

Ссылка на скачивание: http://technet.microsoft.com/ru-ru/evalcenter/dn205290.aspx

Подробности выхода: http://blogs.technet.com/b/dataplatforminsider/archive/2014/04/01/sql-server-2014-now-generally-available.aspx
Что нового: http://msdn.microsoft.com/en-us/library/bb500435(v=sql.120).aspx
Список фич, которые будут доступны в разных редакциях: http://msdn.microsoft.com/en-us/library/cc645993(v=sql.120).aspx

Обсуждение на форуме SQL.RU: http://www.sql.ru/forum/1083532/sql-server-2014-releases-april-1

[Ещё]

Tags:

SQL Server

T-SQL - язык года (2013)

by Alexey Knyazev 30. января 2014 01:38

По итогам 2013-ого года T-SQL был признан языком года (по результатам исследований "TIOBE Software"). При этом за прошедший год популярность языка выросла более чем на 12 пунктов и Transact-SQL вошёл в десятку самых популярных языков в мире. По итогам 2012-ого года он находился всего лишь на 22 месте.

Что касаемо PL/SQL, то он тоже имеет положительный тренд по итогам года и его популярность увеличилась с 21 места до 17-ого, но при этом он всё-таки значительно уступает T-SQL.

Общий результат TOP20 популярности языков программирования на январь 2014 года ниже:

[Ещё]

Tags:

SQL Server

eBooks: бесплатные книги по SQL Server

by Alexey Knyazev 18. января 2014 21:54

Большая коллекция бесплатных книг по SQL Server от лучших экспертов по базам данных. Коллекция постоянно пополняется и эта страница будет периодически обновляться.




[Ещё]

Tags:

SQL Server

SQL Server 2014: Защита от администратора

by Alexey Knyazev 11. июля 2013 00:53

SQL Server 2014

Такая странная тема для очередной заметки про SQL Server 2014 CTP1 выбрана не случайно. С завидным постоянством на форумах по MS SQL Server появляются вопросы из разряда:

"Как мне защитить мои данные от администратора БД?".

До недавнего времени эта задача была нерешаемой, но, благодаря появлению в SQL Server 2014 трёх новых разрешений уровня сервера (CONNECT ANY DATABASE, IMPERSONATE ANY LOGIN, и SELECT ALL USER SECURABLES), у нас появилась возможность более гибко управлять серверными ролями. В том числе мы можем создать администраторскую серверную роль с полным запретом на доступ к пользовательским данным.

Напомню, что возможность создавать серверные роли появилась впервые в SQL Server 2012 (CREATE SERVER ROLE), а в версии SQL Server 2014 разработчики пошли чуть дальше.

[Ещё]

Tags: ,

SQL Server

SQL Server 2014: ONLINE операции над отдельными секциями секционированных объектов

by Alexey Knyazev 10. июля 2013 00:03

SQL Server 2014

Продолжу серию заметок о новых возможностях SQL Server 2014. И сегодня поговорим об ещё одной приятной конструкции - ONLINE перестроение отдельных секций секционированных объектов (таблиц или индексов).

Напомню, что некоторые редакции SQL Server (Enterprise, Evaluation, Developer) позволяют выполнять ряд операций в режиме ONLINE. Основное преимущество этого режима - это то, что в момент создания/изменения индекса мы можем продолжать работать с данными, в том числе вносить изменения в эти данные. Происходит это за счёт того, что блокировка схемы (Sch-M) не удерживается на всём этапе создания/изменения. С более полным списком возможностей, поддерживаемых различными выпусками, можно ознакомиться по ссылке: http://msdn.microsoft.com/ru-ru/library/cc645993.aspx


Действительно, возможность очень полезная, особенно, если у вас доступность данных - это одно из ключевых требований к системе. Но до версии SQL Server 2014 у нас возникает ряд ограничений, если мы работаем с секционированными объектами. Основное ограничение в том, что мы не можем проводить ONLINE операции над отдельно взятой секцией, а только над всем объектом целиком.

При попытке выполнить инструкцию:

alter table [MyTable] rebuild partition = 1 with (online = on)

мы получим исключение:

'online' is not a recognized ALTER INDEX REBUILD PARTITION option


Без указания режима ONLINE для секции мы получаем блокировку Sch-M на всю таблицу, что, согласитесь не приятно. При этом мы можем изменить режим эскалации (LOCK_ESCALATION) для нашей таблицы в надежде избавиться от укрупнения блокировки до уровня таблицы, т.к. в BOL сказано, что по умолчанию укрупнение стоит = TABLE, а для секционированной таблицы мы можем задать режим AUTO:


В секционированных таблицах допускается укрупнение блокировки до секций. После укрупнения блокировки до уровня секции дальнейшее укрупнение до гранулярности TABLE выполняться не будет.


Но для операций REBUILD это правило не действует и мы все-равно получаем блокировку уровня таблицы. И в том же BOL есть об этом упоминание:

Перестроение секционированного индекса нельзя выполнять в режиме в сети(ONLINE). Во время этой операции вся таблица блокируется.


А теперь представьте, что нам необходимо провести сжатие данных (data_compression) лишь в одной из секций, а при этой операции мы заблокируем всю таблицу. На эту тему даже есть фидбэк на официальном сайте: http://connect.microsoft.com/SQLServer/feedback/details/709976/table-lock-during-partition-compression.


И выдержка из ответа:

We are currently working on supporting Online Index Rebuild for a single partition and hopefully this will be available in our next release.


И это случилось! Поддержка ONLINE операций на уровне одной секции появилась в SQL Server 2014.

[Ещё]

Tags: ,

SQL Server

SQL Server 2014 CTP1: новые системные объекты

by Alexey Knyazev 9. июля 2013 02:04

SQL Server 2014

На данный момент не так много информации в сети о всем изменениях, которые нас ждут в SQL Server 2014. При этом не стоит забывать, что это всего лишь первая публичная версия СТР (Community Technology Preview), а это значит, что до RTM (Release To Manufacturing) нас ещё ждёт очень много сюрпризов.

Но прежде, чем мы увидим публичное описание новых объектов, мы можем уже сейчас сравнить список системных объектов в SQL Server 2014 CTP1 со списком системных объектов в SQL Server 2014 SP1.

Для этого я прилинкую к экземпляру SQL Server 2014 экземпляр с SQL Server 2012 SP1. В моём случаи это именованный экземпляр: [ALOHAPC\SQL2012].


Теперь мы можем сравнить какие объекты появились в системном представлении sys.all_objects, а какие исчезли.

[Ещё]

Tags: ,

SQL Server

SQL Server 2014: Параллельная операция SELECT INTO

by Alexey Knyazev 30. июня 2013 01:07

SQL Server 2014Совсем недавно в общем доступе появилась версия SQL Server 2014 CTP1 - http://technet.microsoft.com/ru-ru/evalcenter/dn205290.aspx.

Microsoft SQL Server 2014 представляет на рынке новые возможности памяти, встроенные в основную базу данных, включая встроенную в память оперативную обработку транзакций (OLTP), дополняющую существующие возможности бизнес-аналитики и хранения данных в памяти, для создания самого многофункционального решения хранящейся в памяти базы данных. SQL Server 2014 также предлагает новые облачные возможности, позволяющие упростить перемещение существующих баз данных SQL в облако и открыть для себя новые сценарии гибридного развертывания.

Поэтому пора начать смотреть, что нового, что интересного нас ждёт в новой версии самой популярной промышленной СУБД.
Говоря о новинках стоит обратиться к ряду документов, которые так же появились в общем доступе:

Но обо всём по порядку, и начнём с одной очень интересной возможности, которая появилась в SQL Server 2014 - это параллельное выполнение операции SELECT...INTO.

[Ещё]

Tags: ,

SQL Server

SQL Server 2012 System Views Map

by Alexey Knyazev 31. мая 2013 23:59

Долгожданная схема связей системных объектов SQL Server 2012:



Прямая ссылка на www.microsoft.com/downloads

Для SQL Server 2008R2, 2008, 2005 и 2000 System Views Map можно найти в одном из моих прошлых постов: http://t-sql.ru/post/SystemViewsMap2008R2.aspx

[Ещё]

Tags: ,

SQL Server

xp_readerrorlog

by Alexey Knyazev 18. апреля 2013 23:12
Сегодня я расскажу про недокументированные расширенные хранимые процедуры (Extended Stored Procedures) для работы с журналом ошибок SQL Server и SQL Server Agent.
На самом деле при просмотре журнала SQL Server Logs через SSMS (SQL Server Management Studio) идёт обращение именно к этим двум основным процедурам (xp_readerrorlog и xp_enumerrorlogs), хоть и не на прямую, а через системные интерфейсные процедуры.
Особое внимание я уделю описанию входных параметрам этих недокументированных процедур.

[Ещё]

Tags:

SQL Server

Аудит в SQL Server 2012. Что нового!?

by Alexey Knyazev 23. марта 2013 19:40

21 марта 2013 года прошла вторая онлайн конференция "24 Hours of PASS. Russian Edition". Это крупнейшая русскоязычная конференция, посвященная SQL Server. Доклад, который читал я, был как раз про аудит. В рамках своего блога я решил осветить, что нового появилось в SQL Server 2012 касаемо аудита. Так же в конце этой статьи я выложу презентацию и скрипты из своего доклада, а чуть позже должна будет появиться запись.

Эту статью я хочу начать с перечисления всех инструментов, которые позволяют отслеживать события, происходящие на вашем сервере баз данных. У вас, как всегда, есть возможность использовать, как конкретную возможность для "слежки", так и комбинировать решения. Но в основном в этой заметке я буду повествовать про подсистему аудита (SQL Server Audit), которая появилась в SQL Server 2008 и дополнилась рядом интересных возможностей в SQL Server 2012.

Но обо всём по порядку…

[Ещё]

Tags: , ,

SQL Server