Друзья, доброго времени суток!

Рады видеть вас на проекте SqlCom.ru о Microsoft SQL Server. У нас вы найдёте интересные статьи, видео материалы, новости, переводы статей на русский язык и многое другое. Публикуемая здесь информация будет полезна как разработчикам баз данных (SQL Database Developer), так и администраторам баз данных (SQL Database Administrator, DBA).

В нашей группе Телеграмм вы сможете получить компетентные советы от множества специалистов с большим опытом, все очень дружелюбные и общительные, присоединяйтесь. В основной группе мы обсуждаем только темы связанные с IT, для всего остального есть группа.

Цель проекта - сформировать активное сообщество, с которым будет приятно не только работать, но и отдыхать. Для продвижения идеи совместного отдыха иногда устраиваем мероприятия в Москве и Петербурге.

Накопительный пакет обновлений 5 для SQL Server 2016 SP1

Накопительный пакет обновлений 5 для SQL Server 2016 SP1

Вышел накопительный пакет обновлений 5 для SQL Server 2016 SP1. Список текущих и прошлых исправлений для SQL Server 2016 можно найти здесь.

Самые интересные исправления:

  1. FIX: Performance drop when using In-Memory OLTP with Always On availability groups in SQL Server 2016
  2. FIX: Incorrect behavior when you use memory-optimized tables with «where exists» statement in SQL Server 2016
  3. FIX: Memory use with many databases greater in SQL Server 2016 than earlier versions

Всего было сделано 49 исправлений, вот разбивка по компонентам SQL Server:

  1. BI\Analysis Services (4 шт)
  2. BI\Reporting Services (7 шт)
  3. Integration Services\Tools (1 шт)
  4. Master Data Services\Client (2 шт)
  5. Master Data Services\Server (2 шт)
  6. SQL Engine\Backup_Restore (4 шт)
  7. SQL Engine\Column Stores (4 шт)
  8. SQL Engine\Extensibility (2 шт)
  9. SQL Engine\Extreme OLTP (2 шт)
  10. SQL Engine\High Availability and Disaster Recovery (4 шт)
  11. SQL Engine\Management Services (2 шт)
  12. SQL Engine\Metadata_Infrastructure (1 шт)
  13. SQL Engine\Polybase (2 шт)
  14. SQL Engine\Programmability (2 шт)
  15. SQL Engine\Query Execution (1 шт)
  16. SQL Engine\Query Optimizer (1 шт)
  17. SQL Engine\Replication (3 шт)
  18. SQL Engine\Spatial (1 шт)
  19. SQL Engine\SQLOS (1 шт)
  20. SQL Engine\Storage Management (1 шт)
  21. SQL Engine\Transaction Services (2 шт)
Рубрика: Полезно и интересно | Метки: | Оставить комментарий

Это мое. Блокировки, Дедлоки и прочая чепуха (видео)

Это мое. Блокировки, Дедлоки и прочая чепуха (видео)

Описание

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

Докладчик

Дмитрий Короткевич работает с SQL Server более 14 лет и специализируется в архитектуре, дизайне, разработке и оптимизации OLTP систем, обрабатывающих тысячи транзакций в секунду. Дмитрий является SQL Server MVP, а также имеет сертификации Microsoft Certified Master и Microsoft Certified Professional Developer. Автор книги «Pro SQL Server Internals».

От SqlCom.ru

Один из лучших Русскоязычных докладчиков очень доходчиков расскажет о своей любимой теме — блокировки в SQL Server. Крайне рекомендую к просмотру.

Слайды и Скрипты

Мониторинг блокировок через Event Notifications

Блог Дмитрия

Рубрика: Оптимизация (видео) | Метки: | Оставить комментарий

Вебинар введение в язык программирования R (24.08.2017)

Вебинар введение в язык программирования R (24.08.2017)

Коллеги,

24.08 в 21:00 (Мск) состоится вебинар от нашего друга и соратника Константина Таранова @ktaranov (Телеграм) c большим MSSQL бэкграундом.

Сейчас определяется через какой именно сервис будет происходить трансляция. За 30-60 до начала вебинара просьба зайти в нашу группу Телеграм и получить подробности по трансляции.

Рубрика: События и мероприятия | Оставить комментарий

Сжатие данных в SQL Server (COMPRESSION)

Сжатие данных в SQL Server (COMPRESSION)

Перевод статьи: Table and Index Compression

Сжатие данных доступно только в SQL Server Enterprise Edition, но начиная с SQL Server 2016 SP1, его добавили во все редакции. Нет так просто ответить на вопрос «будет ли польза от использования сжатия данных в конкретном случае или нет». Предлагаю рассмотреть это более детально.

Плюсы

Сжатие данных позволяет хранить больше строк на одной странице, что в конечном счёте приводит к экономии места. Кроме экономии дискового пространства (не только для самой базы данных, но так же и для backup), мы получает экономию памяти, так как даже в памяти данные хранятся в сжатом виде.

Наиболее полезным будет использовать сжатие данных на так называемых «холодных данных», которые редко используются и, обычно, не хранятся в памяти, а читаются с диска.

Минусы

Сжаты могут быть только данные, которые хранятся в строках (in-row). Это означает, что длинные строки (более 8 Кб) и LOB данные (большие) не могут быть сжаты, так как они хранятся не в строках, а помещаются в специальное хранилище, а в строке остаётся ссылка на них.

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

Для каждого доступа к сжатым данным требуются дополнительные ресурсы CPU. Данные находятся в сжатом виде не только на диске, но и в памяти, по этой причине, при каждом обращении к ним, требуется распаковка. Не следует применять сжатие к очень горячим данным, так как обращение к ним будет замедляться из-за дополнительного этапа распаковки. Читать далее

Рубрика: В помощь администратору | Метки: | Оставить комментарий

Новая функция COMPRESS() в SQL Server 2016

Новая функция COMPRESS() в SQL Server 2016

Перевод статьи: The COMPRESS() TSQL Function in SQL Server 2016+

Ещё одно полезное нововведение в SQL Server 2016 — это функция COMPRESS(). Она доступна во всех редакциях и выполняет сжатие данных по средствам GZIP алгоритма (документация)

Что известно о COMPRESS()

  • Сжатые данные хранятся в VARBINARY(MAX)
  • Распаковка данных происходит с помощью функции DECOMPRESS(), которая так же получает данные в VARBINARY(MAX)
  • Вы не можете создавать индексы на колонке VARBINARY(MAX), но в некоторых случаях вы можете использовать эту колонку для фильтра в фильтрованных индексах

Давайте рассмотрим пример

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

Предположим что у нас есть таблица с полем «Заметки», поле позволяет использовать NULL, длина заметки может существенно отличается (от 0 до огромного количества символов).

Первым делом я создаю 2 таблицы, почти везде «Заметки» в значении NULL, но в 10 000 строк они имеют значение от 3 байт до 29 Кб. Читать далее

Рубрика: Полезно и интересно | Метки: , | Оставить комментарий

Базовая информация о сервере и БД

Базовая информация о сервере и БД

Бывают моменты когда вам необходимо начать работать с БД, о которой вы или ничего не знаете или знаете очень мало. Обычно у вас есть 2 варианта: или вы работаете очень давно и чётко понимаете что вам нужно и где это искать или начинаются поисики по интернету. Первый случай скорее всего является проверенным на множестве серверов и его можно считать более менее надёжным, а вот со вторым часто возникают вопросы. Кроме больших затратов времени, ваши поиски могут не дать полную картину и чтобы вы не тратили время в пустую, я решил помочь вам.

Олег написал интересную статью с названием «Исследуем базы данных с помощью T-SQL» (ссылка на статью). В статье вы узнаете как легко получить следующую информацию:

  1. Когда был последний backup всех БД
  2. Список всех Linked Servers
  3. Активные пользовательские соединения
  4. Где лежат файлы БД
  5. Количество записей в таблицах
  6. Активность таблиц
  7. Есть ли синонимы
  8. Какие check-ограничения, значения по-умолчанию и вычисляемые столбцы присутствуют
  9. Рекомендумые индексы для вашей системы
  10. Зависимости
  11. и т.д.

Читать далее

Рубрика: Полезно и интересно | Метки: | Оставить комментарий

Соревнование PGHACK от AvitoTech (07.08.2017-25.05.2017)

Соревнование PGHACK от AvitoTech (07.08.2017-25.05.2017)

Бесплатная регистрация

Приглашаем опытных разработчиков и администраторов баз данных принять участие в первом в России очном соревновании по восстановлению работоспособности PostgreSQL! Как это сделать? Зарегистрироваться и пройти отборочный тур. Это 5 вопросов в регистрационной форме мероприятия. Первые 50 участников, которые правильно ответят на них, получат приглашение на финальный раунд, который будет проведен в московском офисе Avito 2 сентября. Регистрируйтесь, отвечайте на вопросы, попадайте в финал! Получите возможность лично поучаствовать в этом уникальном событии и, конечно, шанс выиграть главный приз — квадрокоптер!

Важно

Это соревнование для профессионалов в работе с базами данных PostgreSQL. Для успешного прохождения этапов желательно знать:

  • что такое MVCC;
  • как работают триггеры;
  • как PostgreSQL обеспечивает валидность данных, которые хранятся в таблице;
  • как администрировать Linux (установка программы из исходного кода, ручная сборка).

Этапы PGHACK Читать далее

Рубрика: События и мероприятия | Метки: | Оставить комментарий

Обязанности Администратора Баз Данных в России

Обязанности Администратора Баз Данных в России

Обязанности Администратора Баз Данных в России

Если вы ещё не в курсе, то в Российской Федерации был принят документ «Профессиональный стандарт Администратор баз данных» от 17.09.2014 № 647н. 

После прочтения этого документа, на удивление, я обнаружил что составлен он достаточно хорошо и что у тех, кто его писал, есть отличное понимание обязанностей Администратора Баз Данных. Но, конечно, не обошлось и без забавных моментов. Например, «Группа занятия» Администратора Баз Данных выглядит вот так:

Не буду комментировать этот момент, пусть каждый оценит его сам.

Рекомендую всем ознакомиться с этим документом. Документ будет полезен и работодателю, он поможет понять обязанности Администратора Баз Данных.

Рубрика: Полезно и интересно | Метки: | Оставить комментарий

Конференция Agile,DevOps и ITIL 2017 – инструменты цифровизации (26.09.2017)

Конференция Agile,DevOps и ITIL 2017 – инструменты цифровизации

Agile,DevOps и ITIL 2017 – инструменты цифровизации

26 сентября 2017

Промокод (скидка 10%): SQLCOM

Обеспечение эффективного взаимодействия подразделений разработки и эксплуатации для поддержки непрерывного развертывания бизнес-систем и сервисов – обязательное условие существования компаний и предприятий в цифровой экономике. Абсолютно неприемлема ситуация, когда разработчики — выступают за перемены, в ответ на требования бизнеса оперативно создавая новые приложения и модернизуя существующие, а специалисты по операционной работе заинтересованы в сохранении стабильности инфраструктуры. Облака, большие данные, Интернет вещей и блокчейн потенциально способны предоставить цифровому бизнесу конкурентные преимущества, однако все эти технологии будут невостребованы без поддержки непрерывного развертывания ПО.

Сегодня требуются новые концепции взаимодействия всех участников жизненного цикла приложений цифровой экономики, призванные заставить работать вместе тех, кто привык к изоляции.

Какими должны быть инструменты поддержки этого жизненного цикла, позволяющие  выпускать в промышленную среду столько версий продуктов сколько требуется? Как создавать и эксплуатировать приложения, управляемые данными? Итеративность, обратная связь и гибкость Agile-методов обеспечивают непрерывность выпуска сервисов, а DevOps распространяет Agile на эксплуатацию. Минимизация издержек достигается средствами Lean, а с помощью ITIL строится платформа для гибких ИТ. Теоретически все это должно быть направлено на азрушение стены между бизнесом и ИТ, однако на практике возникает масса вопросов. Зачем и когда требуется DevOps и есть ли это замена ITIL, либо они работают вместе? Как успешно комбинировать практические представления ITIL с гибкостью DevOps? Станет ли DevOps ускорителем для организаций, уже инвестировавших ITIL? Какую роль в сообществе Agile, DevOps, Lean и ITIL играют специалисты по данным?

Конференция «Agile,DevOps и ITIL – инструменты цифровизации» посвящена поискам ответов на эти и многие другие вопросы, обсуждению особенностей создания платформ для гибких ИТ и анализу уже имеющегося опыта применения фреймворков, интегрирующих Agile, DevOps, Lean и ITIL.

Основные темы:

  • организация непрерывного развертывания ПО;
  • интеграция процессов проектирования, разработки и эксплуатации;
  • фреймворки: SAFe, LeSS – практический опыт;
  • Agile и управление сервисами, активами, изменениями;
  • ITIL и DevOps – вместе или врозь, контроль рисков или хаос?
  • чем чреваты ошибки Agile и DevOps?

Конференция предназначена для:

  • бизнес-руководителей и собственников предприятий;
  • аналитиков, консультантов и специалистов по данным;
  • архитекторов ИТ-систем и ИТ-директоров;
  • руководителей подразделений разработки, технических директоров и разработчиков;
  • руководителей подразделений поддержки и эксплуатации.

Участие в конференции позволит познакомиться с реальным опытом Agile-разработчиков и специалистов по данным, узнать какой должна быть архитектура ИТ, обеспечивающая сколь угодно частое изменение имеющихся приложений и выпуск новых без ущерба стабильности бизнеса; в кругу единомышленников обсудить преимущества и недостатки DevOps.

Место проведения

Отель Holiday Inn Tagansky
г. Москва, Симоновский Вал, 2

Промокод (скидка 10%): SQLCOM

Регистрация

Рубрика: События и мероприятия | Метки: | Оставить комментарий

Периодически долгое выполнение процедуры в SQL Server

Периодически долгое выполнение процедуры в SQL Server

Вопросы

Очень часто ко мне обращаются с вопросами типа:

  1. «Наша хранимая процедура работала хорошо, а сейчас работает плохо»
  2. «Иногда, наша хранимая процедура работает очень долго»
  3. «Скорость выполнения хранимой процедуры крайней сильно зависит от переданных в неё параметров»

Что делать

Можно использовать множество методик, чтобы понять и решить проблему:

  1. Иногда достаточно просто единоразово или на регулярной основе сбрасывать план определённый хранимой процедуры через

    Читать далее
Рубрика: Проблема-Решение | Метки: | Оставить комментарий