SQL Server Denali: FILETABLE

2. September 2011 08:05 by Denis Reznik in FILESTREAM, FileTable, SQL Server, SQL Server Denali  //  Tags:   //   Comments
FileTable основывается на функционале FILESTREAM, появившемся в 2008-й версии. Давайте быстро вспомним что он из себя представляет. FILESTREAM позволяет хранить файлы в базе данных, при этом сохраняя возможность потоковой работы с файлами. Таким образом мы поддерживаем ссылочную целостность базы данных и файловой системы. Более подробно можно прочитать здесь - Введение в FILESTREAM. На презентациях и в теории всё выглядит очень красиво, но на самом деле, если попробовать использовать FILESTREAM сталкиваешься со множеством ограничений, да и сам код работы с подобными файлами красотой не блещет (открываем транзакцию в БД, получаем дескриптор файла и т.д.). Одним из ограничений FILESTREAM была синхронизация БД и файловой системы. Удаление записи в базе приводило к удалению файла (тут всё ок), а вот удаление файла не приводило к удалению записи и приводило к ошибке при обращении к этой записи. Кроме этого недостатка, файлы на файловой системе получали совершенно нечитаемые имена и находились в папке, указанной при создании базы данных. На самом деле FileTable не устраняет эти недостатки FILESTREAM, но успешно позволяет абстрагироваться от них. Суммируя всё вышесказанное, FileTable это не замена, а скорее надстройка над FILESTREAM. Впрочем вы это и сами увидите по ходу изложения. [More]

SQL Server Denali – Paging

30. July 2011 08:51 by Denis Reznik in FETCH, OFFSET, Paging, SQL Server, SQL Server 2011, SQL Server Denali  //  Tags:   //   Comments
Постраничный вывод данных – это тот функционал, который встречается чуть-ли не на каждом информационном сайте, и реализация подобной выборки зачастую не так сложна. Но всё же в SQL Server, до версии Denali, не было нормальной поддержки таких сценариев. Стандартным подходом реализации постраничной выборки в SQL Server был запрос с функцией ROW_NUMBER. Суть этого подхода в том, что запрос пробегает по всем строкам набора и нумерует их от единицы до номера конечного элемента. Потом по этим номерам и делается выборка по диапазону, например мы получаем вторые 10 записей набора (2-я страница). Но у этого подхода есть один существенный минус – каждый раз, даже если вам нужно выбрать 10 первых записей из таблицы в миллион записей, запрос будет пробегать миллион записей. Чем больше данных, тем ниже перфоманс. Те кто уже боролся с подобными проблемами меня поймут. Бороться можно и нужно, но это сложно. В SQL Server Denali появляется поддержка таких выборок на уровне обработчика запросов, но всё далеко не так хорошо, как может показаться на первый взгляд. Впрочем, обо всём по-порядку. [More]

SQL Server Denali. Встречаем CTP 3

12. July 2011 06:08 by Denis Reznik in SQL Server, SQL Server Denali  //  Tags: ,   //   Comments
Итак, не буду писать много слов. Стал доступен 3-й CTP всеми нами любимого сиквела - SQL Server Code Name "Denali" CTP3. Ставим, Пробуем, Смотрим! [More]

SQL Server Denali. Следующий публичный CTP будет доступен летом

Буквально только-что прочитал твит команды SQL server о том, что следующий публичный CTP SQL Server Denali будет доступен этим летом. Для того, чтобы получить его одним из первых необходимо зарегистрироваться на сайте - http://www.microsoft.com/sqlserver/en/us/product-info/future-editions.aspx. [More]

Бизнес-аналитика Microsoft 2011. Россия, ЮФО. Материалы доклада “Обзор SQL Server Denali”

25 Апреля в солнечном городе Краснодаре прошла конференция, посвящённая продуктам и решениям для бизнес-аналитики от Microsoft. В докладах мероприятия были рассмотрены не только существующие решения и продукты, но и продукты, которые ещё только готовятся к запуску. Были затронуты вопросы лицензирования продуктов и разобраны реальные примеры внедрения BI решений. Мероприятие прошло очень живо и динамично. И, судя по анкетам, которые участники заполнили после мероприятия, всем было интересно :) [More]

SQL Server Denali: Contained Databases

Возобновляя серию статей, посвящённую новым возможностям SQL Server Denali, я хочу рассказать о Contained Databases. Смысл их довольно прост. Contained Database – база данных, которая не зависит ни от каких серверных объектов. Это гарантирует нам то, что перенеся базу данных на другой сервер, база данных и приложения, работающие с ней, будут продолжать работать точно также, как и на предыдущем сервере. [More]

Your feedback is important for us!

You may heared this phrase many times. But this time it sounds really interesting (and it sounds in my blog also :))! This time your feedback can be delivered directly to product team and help Microsoft to create better product! Better SQL Server! [More]

Материалы доклада "SQL Server 2011– Что нового?"

Выкладываю материалы моего доклада с последней встречи UNETA, которая проходила 23 декабря. Рассказывал я о новинках SQL Server, которые появились в первом CTP. По мере выхода новых CTP буду готовить новые доклады :) жду вас на встречах UNETA. [More]

SQL Server "Denali": Отладчик

Здравствуйте, друзья! Давненько не писал в свой блог, и это было тяжело :) Первый CTP SQL Server 2011 (кодовое имя "Denali") вышел уже месяц назад, а у меня всё никак небыло времени рассказать о нём. В этом и в следующих постах этой серии я планирую рассказать о тех возможностях которые появились в SQL Server "Denali" CTP1 и будут появляться в следущих CTP. И первый в очереди на описание – отладчик T-SQL кода.

Возможность отладки кода появилась ещё в SQL Server 2008, в 2008 R2 здесь ничего не поменялось, а вот в "Denali" да! [More]

Обо мне

MVP

Data Architect at Intapp, Inc.

PASS Regional Mentor, CEE

MCT, MCITP, MCPD, MCTS


Microsoft MVP

Month List