Все потоки
Поиск
Написать публикацию
Обновить
1.4

Microsoft SQL Server *

Система управления реляционными базами данных

Сначала показывать
Порог рейтинга
Уровень сложности

Простой инструмент SQL Server Tool на C#

Время на прочтение14 мин
Количество просмотров25K
Публикуем перевод статьи, в которой рассматривается поэтапное создание простого инструмента SQL Server Tool.


Читать дальше →

Microsoft DevCon 2016 — компьютерное зрение, SQL Server 2016, Data Science и не только

Время на прочтение3 мин
Количество просмотров5.7K


Друзья, с удовольствием делюсь с вами анонсами сразу нескольких мастер-классов, которые ожидают участников в первый день конференции DevCon 2016!

Новый формат конференции предлагает вам окунуться не просто в атмосферу технологий Microsoft, а с помощью наших экспертов затронуть самые актуальные темы разработки под Windows, использования сервисов Azure, особенностей нового выпуска SQL Server 2016 и аналитики данных.

Мы рады представить вам темы мастер-классов и познакомить с экспертами:
Читать дальше →

24 Hours of PASS 2016

Время на прочтение6 мин
Количество просмотров6.6K
Март выдался на удивление богатым на события. Не успел выйти SQL Server 2016 RC0, как уже доступен для загрузки RC1. Нововведений в последнем не сильно много, поэтому интересного обзора увы не получится.

Тем не менее, чтобы с пользой скоротать время, в ожидании релиза SQL Server 2016, предлагаю ознакомиться с докладами 24 Hours of PASS, которая прошла 16-17 марта.

Для тех, кто слышит про 24 Hours of PASS впервые… это ежегодная онлайн-конференция, посвященная SQL Server и длящаяся 24 часа. Докладчики из разных частей света сменяют друг друга и рассказывают много интересного про SQL Server. Существует несколько версий 24HOP. Русскоязычная версия данного мероприятия уже не первый год проводится усилиями Андрея Коршикова.

Чтобы не томить в ожидании, список видео-докладов, которые доступны под катом:

  • SQL Server Transaction log. Внутреннее устройство и решение проблем (Андрей Завадский)
  • XML, XQuery и трюки с производительностью (Сергей Сыроватченко)
  • Azure ML. Определение наиболее эффективного классификационного алгоритма для выбранного источника данных (Константин Хомяков)
  • SQL Server In-Memory OLTP: Нестандартные сценарии использования (Дмитрий Короткевич)
  • SQL Server Extended Properties как простейший способ документирования баз данных (Вячеслав Миругин)
  • SQL Server 2016 Reporting Services. Быстрый старт (Андрей Коршиков)
  • Поддержка больших БД на MS SQL Server (Кирилл Панов)
  • SQL Server 2016. Temporal Tables (Алексей Князев)
  • 1+1=10. Использование битовых масок в базах данных (Елена Смоляк)
  • SSAS Tabular 2016 (Евгений Полоничко)
  • Внутри оптимизатора запросов: Query Store (в 2-х частях) (Дмитрий Пилюгин)
  • PowerBI: Визуализация данных в реальном времени (Сергей Лунякин)
  • Анализ производительности Windows приложений на примере SQL Server с использованием стандартного функционала операционной системы (Михаил Комаров)
Подробнее

Лучшие технологические видео Channel 9 этой недели, 18 марта

Время на прочтение2 мин
Количество просмотров5.2K

Всем привет!

Как известно, все технологические видео-материалы Microsoft вы можете найти на нашем официальном портале Channel 9. Это же касается многочисленных курсов виртуальной академии Microsoft (MVA) и всех записей с онлайн-трансляции наших мероприятий.

Мы запускаем серию регулярных еженедельных обзоров материалов с Channel 9, где с удовольствием будем делиться с вами подборкой инетерсных видео.

Начнем с самой громкой новости марта — презентация SQL Server 2016. Для, всех, кто не успел посмотреть мероприятие онлайн, у нас хорошие новости — записи уже доступны на Channel 9:
Читать дальше →

Веб-синхронизация слиянием на MS SQL

Время на прочтение10 мин
Количество просмотров15K


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

Информация по настройке в интернете имеется, но как мне показалось, что все очень разрознено и по большей части нет практической части в настройке. Возможно плохо искал.
Поехали!

SQL Server 2016 RC0

Время на прочтение9 мин
Количество просмотров53K


На глаза попалась уже вторая новость на Хабре о том, что скоро Microsoft «подружит» SQL Server и Linux. Но ни слова не сказано про SQL Server 2016 Release Candidate, который стал доступен для загрузки буквально на днях.

В следующем месяце планируется выпустить RTM, поэтому далее под катом разбор некоторых нововведений, которые будут доступны в рамках новой версии: отличия в установке, дефолтные трейс-флаги, новые функции и киллер-фича для анализа плана выполнения.
Подробнее

Не пропустите подробности о новом SQL Server 2016 и поддержке Linux, смотрите онлайн мероприятие 10 марта в 18:00 (MCK)

Время на прочтение1 мин
Количество просмотров4.2K
Подключайтесь к прямой трансляции из Нью-Йорка «Презентация платформы управления данными на базе SQL Server 2016»



Добавьте мероприятие в календарь.

По нашей ссылке на трансляцию будет доступен синхронный перевод на русский язык.

Когда: 10 марта 2016
Начало трансляции: 18:00 (МСК)
Немного подробностей

Microsoft портирует SQL Server на Linux

Время на прочтение2 мин
Количество просмотров4.3K
SQL Server, флагманский продукт компании Microsoft в области реляционных СУБД, теперь доступен для Linux в виде ранней приватной превью версии. Выпуск финальной версии намечен на середину 2017 г.
Читать дальше →

Microsoft анонсировала Linux версию SQL Server

Время на прочтение1 мин
Количество просмотров51K
image
Компания Microsoft анонсировала поддержку операционных систем семейства Linux в следующей версии SQL Server.

Это очередной шаг по выходу на рынок Linux систем после заключения партнерского соглашения с RedHat.

Также, анонс прокомментировал Марк Шаттлворт, основатель компании Canonical:
“Мы рады работать с Microsoft, когда они приносят SQL Server на Linux. Заказчики уже используют сервисы Azure Data Lake на Ubuntu, а теперь разработчики будут иметь возможность строить новые приложения со всеми возможностями промышленного SQL Server'а.”

На сайте SQL Server также уже появилась информация относительно новых возможностей СУБД.

Релиз версии ожидается в середине 2017 года.

История про хитрожо… индуса, encrypted procedures, DAC и «режим Бога»

Время на прочтение7 мин
Количество просмотров43K
На той неделе пришлось разбираться в логике работы одного бесплатного тула. Почти детективная история вышла с ее автором, который впоследствии оказался индусом канадского происхождения проживающим в Южной Америке.

Конечно же, практическая ценность была не в биографии автора, а в запросах, которые отправлялись приложением на сервер.

Установил. Запустил. Стал в стоечку и начал собирать профайлером все, чем приложение должно было «порадовать» сервер. Смею разочаровать – ничего радостного сервер в ближайшие два часа не увидел. В основном встречались разного рода перлы в запросах, которые явно не претендовали на комплименты:

SELECT
    LogTruncations = (
        SELECT TOP 1 SUM(cntr_value)
        FROM ##tbl_cnt
        WHERE counter_name = 'Log Truncations'
    ),
    LogShrinks = (
        SELECT TOP 1 SUM(cntr_value)
        FROM ##tbl_cnt
        WHERE counter_name = 'Log Shrinks'
    ),
    LogGrowths = (
        SELECT TOP 1 SUM(cntr_value)
        FROM ##tbl_cnt
        WHERE counter_name = 'Log Growths'
    ),
    ...

Поскольку их можно написать на порядок проще и сократить логические чтения из таблицы:

SELECT
    LogTruncations = SUM(CASE WHEN counter_name = 'Log Truncations' THEN cntr_value END),
    LogShrinks = SUM(CASE WHEN counter_name = 'Log Shrinks' THEN cntr_value END),
    LogGrowths = SUM(CASE WHEN counter_name = 'Log Growths' THEN cntr_value END),
    ...
FROM ##tbl_cnt

На этом можно было бы и закончить… Но практически под конец я увидел, что приложение вызывает пользовательские хранимые процедуры из tempdb. Поймал себя на мысли: «Когда приложение успело их создать… и главное зачем?»
Подробнее

Километры логов и восстановление баз данных на MS SQL

Время на прочтение6 мин
Количество просмотров34K

Или как без труда восстанавливать базы данных из длинной цепочки бэкапов



Читать дальше →

Что скрывает в себе DEFAULT TRACE?

Время на прочтение11 мин
Количество просмотров16K


Часто вспоминается первая работа… Средненький офис, моник 943N и обогреватель Pentium D под ногами. Как возникал из ниоткуда Борис (нет… не Борис «Бритва») с линейкой в руках и настойчиво просил не делать «больно» серверу.

Именно в те далекие времена я впервые познакомился с профайлером. Пользовательские трейсы оказались очень кстати при отладке приложений и поиске медленных запросов. Потом для себя я открыл DMV и XEvents… и профайлером стал пользоваться реже. Причина такого поступка проста – трейсы очень ресурсоемкие.

Однако, данную функциональность не стоит преждевременно придавать анафеме. Начиная с 2005 версии при установке SQL Server по умолчанию создается легковесный системный трейс, который хранит в себе много полезной информации.
Подробнее

Query Performance Insight: кто ест ресурсы вашей базы данных?

Время на прочтение2 мин
Количество просмотров5.1K
Мы рады поделиться с вами очередной статьей из серии статей о облачных сервисах Microsoft Azure. В этот раз Андрей Антюфеев — руководитель программ Microsoft из команды SQL Server и Azure SQL Database, продолжит свой рассказ о работе с инструментами оптимизации и мониторинга при работе с облачной БД Azure SQL Database. — Владимир Юнев
В этой заметке речь пойдёт о Query Performance Insight. Инструменте SQL Azure, который поможет вам идентифицировать наиболее ресурсоемкие запросы вашей базы данных,

Query Performance Insights анонсирован в начале октября и сегодня достиг отметки GA. Для того, чтобы понять, что это такое, давайте представим, что ваша база данных стала тормозить: как вы об этом узнаёте? Возможно, вас начали заваливать письмами клиенты, недельный отчёт стал выполняться час вместо привычных 3 минут, ваше приложение начало выкидывать исключения.

Начало пути – Новый портал Azure


Вы заходите на portal.azure.com и находите свою базу данных в списке ресурсов, разглядываете Monitoring chart:


Да, что-то случилось, DTU подскочил до 90%, что же дальше?

Чтобы заглянуть глубже и найти виновника, давайте загрузим Query Performance Insight.
Читать дальше →

Ближайшие события

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке

Время на прочтение3 мин
Количество просмотров29K
Всем привет, этот небольшой мануал будет полезен тем, кто хочет пользоваться SQL Database в облаке Azure, но по ряду причин еще это не делает. Как известно, Microsoft Azure — это облачный хостинг, который с недавнего времени является бесплатным для студентов. Сегодня я хочу рассказать про способ, схожий с тем, что был описан в статье моего коллеги MSP (но немного отличающийся), как пользоваться SQL Database в облаке абсолютно бесплатно.



В облаке Microsoft Azure уже давно есть возможность размещать бесплатные Azure Web Sites. Отдельно скажу, что студенты в рамках программы DreamSpark могут получить доступ к Azure Web Sites, MySQL Database (до 32 мб) и некоторые другие возможности облака Azure. С недавнего времени, по подписке DreamSpark для студентов доступна Azure SQL Database, но только объемом до 32 мб. Но, если нельзя бесплатно получить большее, но очень хочется, — то можно.
На помощь нам в деле создания проекта с бесплатной SQL Database в облаке придет SQL Server Compact, но обо всем по порядку.
Читать дальше →

Как использовать БД SQL в студенческом Microsoft AZURE от Dreamspark

Время на прочтение4 мин
Количество просмотров8.7K


Привет хаброжители!
Многие из вас слышали или читали что в Dreamspark для студентов специально добавили Microsoft Azure, чтобы у студентов появился бесплатный хостинг для их учебных проектов. Небольшой спойлер: бесплатно и без рекламы!
Читать дальше →

AUTO_CLOSE

Время на прочтение5 мин
Количество просмотров20K
Если бы SQL Server существовал во времена Инквизиции, то за включение некоторых опций на продакшен серверах нужно было бы наказывать калёным железом. Но если отбросить лирику, то далее на рассмотрим почему не нужно включать AUTO_CLOSE и к чему может привести использование этой опции.

Собственно, как и любая интересная истории из жизни, все начиналось с рутиной задачи.

На днях пришлось заглянуть в Error Log на тестовом сервере. На второй минуте ожидания, SSMS изрядно поплохело от обилия сообщений, которые хранил журнал, и я решил посмотреть сколько же весят логи с помощью xp_enumerrorlogs:

DECLARE @t TABLE (lod_id INT PRIMARY KEY, last_log SMALLDATETIME, size INT)
INSERT INTO @t
EXEC sys.xp_enumerrorlogs

SELECT lod_id, last_log, size_mb = size / 1048576.
FROM @t

lod_id   last_log              size_mb
-------- --------------------- ---------------
0        2016-01-05 08:46:00   567.05288505
1        2015-12-31 12:53:00   1370.39249420
2        2015-12-18 11:32:00   768.46394729
3        2015-12-02 13:54:00   220.20050621
4        2015-12-02 13:16:00   24.04152870
5        2015-11-16 13:37:00   80.07946205
6        2015-10-22 12:13:00   109.33527946
Подробнее

Эффективное управление индексами в Azure SQL Database с помощью Index Advisor

Время на прочтение4 мин
Количество просмотров3.5K
Мы рады поделиться с вами очередной статьей из серии статей о облачных сервисах Microsoft Azure. В этот раз Андрей Антюфеев — руководитель программ Microsoft из команды SQL Server и Azure SQL Database, продолжит свой рассказ о работе с индексами в облачной БД Azure SQL Database. — Владимир Юнев
Всем привет, эта заметка будет полезна всем, кто пользуется Azure SQL Database.


В прошлой раз, мы обозревали первую версию Index Advisor. C тех пор помощник успел дорасти до GA, повысив стабильность, и обзавестись новым возможностями:

  • возможность автоматически применять рекомендации помощника
  • новые рекомендации (Drop Index)
  • визуализация нагрузки после создания индекса
  • другие улучшения

Забудьте об управлении индексами


Процесс создания новых индексов происходит в несколько этапов:
Читать дальше →

Revolution R переименован в Microsoft R и доступен бесплатно для разработчиков и студентов

Время на прочтение2 мин
Количество просмотров24K

За девять месяцев, с тех пор как Microsoft приобрела Revolution Analytics, компанией было выпущено много обновлений для Revolution R Open и Revolution R Enterprise, не говоря уже об интеграции R с SQL Server, PowerBI, Azure и Cortana Analytics.
Читать дальше →

Что быстрее: 0 или NULL?

Время на прочтение4 мин
Количество просмотров32K
Есть три агрегатные функции, которые чаще всего используются на практике: COUNT, SUM и AVG.

И если первая уже обсуждалась ранее, то с остальными есть интересные нюансы с производительностью. Но давайте обо всем по порядку…

При использовании агрегатных функций на плане выполнения, в зависимости от входного потока, может встречаться два оператора: Stream Aggregate и Hash Match.

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

В свою очередь, Hash Match является блокирующим оператором (за редким исключением) и не требует сортировки входного потока. Для работы Hash Match используется хеш-таблица, которая создается в памяти и в случае неправильной оценки ожидаемого количества строк, оператор может сливать результаты в tempdb.
Подробнее

История про msdb размером в 42 Гб

Время на прочтение5 мин
Количество просмотров59K
Недавно выдалась минутка посмотреть почему старый тестовый сервер безбожно тормозил… К нему я не имел никакого отношения, но меня одолевал спортивный интерес разобраться, что с ним не так.

Первым делом открыл Resource Monitor и взглянул на общую нагрузку. Процесс sqlserv.exe нагружал ЦП под 100% и формировал большую дисковую очередь, которая была за 300… при том, что значение выше единицы уже считается проблемным.

При анализе дисковой активности заметил непрерывные IO операции в msdb:

D:\SQL_2012\SYSTEM\MSDBData.mdf
D:\SQL_2012\SYSTEM\MSDBLog.ldf

Посмотрел на размер msdb:

SELECT name, size = size * 8. / 1024, space_used = FILEPROPERTY(name, 'SpaceUsed') * 8. / 1024
FROM sys.database_files

и включил режим «рука-лицо»:

name         size           space_used
------------ -------------- ---------------
MSDBData     42626.000000   42410.374395
MSDBLog      459.125000     6.859375

Файл данных занимал 42 Гб… Взяв небольшую паузу я начал разбираться в чем причина такого нездорового объема msdb и как побороть проблемы с производительностью сервера.
Подробнее