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

Microsoft SQL Server *

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

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

Релиз DataGrip (экс-0xDBE) 1.0 — новой IDE для SQL

Время на прочтение3 мин
Количество просмотров39K
Привет! Мы выпустили IDE для работы с базами данных.

Полтора года мы делали 0xDBE по программе раннего доступа (EAP). Пора подвести черту под нашей работой. Мы благодарим всех, кто пробовал 0xDBE на своих проектах и писал нам — вы очень помогли. По этому названию мы тоже будем скучать.

Теперь IDE называется DataGrip.



Поддерживаемые СУБД

DataGrip это универсальная IDE для работы с MySQL, PostgreSQL, Oracle, SQL Server, Sybase, DB2, SQLite, HyperSQL, Apache Derby и H2.

Работа с объектами БД и генерация кода

DataGrip предоставляет инструменты для работы с объектами базы данных. Если вы создаёте или изменяете таблицу, добавляете или изменяете колонку, индекс, ключ в уже существующей, используйте графический интерфейс. Подобные изменения сопровождаются генерацией соответствующего скрипта — вы можете сразу выполнить сделанные изменения в базе или скопировать сгенерированный DDL-запрос в редактор и работать уже непосредственно с кодом.


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

XML, XQuery и тройная печаль с производительностью

Время на прочтение6 мин
Количество просмотров25K
Поездка в Днепропетровск на встречу Dnepr SQL User Group, хронический недосып последние пару дней, но приятный бонус по приезду в Харьков… Зимняя погодка, которая мотивирует на написание чего-то интересного…

Уже давно в планах было рассказать про «подводные камни» при работе с XML и XQuery, которые могут приводить к каверзным проблемам с производительностью.

Для тех кто часто использует SQL Server, XQuery и любит парсить значения из XML рекомендуется ознакомиться с нижеследующим материалом…
Подробнее

Бесплатные инструменты для разработчиков баз данных

Время на прочтение6 мин
Количество просмотров33K
После прочтения статьи о полезных и бесплатных плагинах для SSMS — TOP (10) бесплатных плагинов для SSMS, я решил поделиться своим списком бесплатных инструментов, которые могут быть очень полезны разработчикам баз данных, и не только. Инструменты ориентированны на разработку под Microsoft SQL Server. Некоторые инструменты, платные, однако содержат достаточно полнофункциональные бесплатные редакции, которых с головой хватает для небольших проектов.
Читать дальше →

TOP (10) бесплатных плагинов для SSMS

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


До того, как начать работать с SQL Server я толком то и баз данных в лицо не видел… Помню, что мне установили SQL Server Management Studio 2005 и дали задание активно «крутить педали». По прошествии пары недель, как бы так сказать, моя производительность по написанию запросов была явно в районе плинтуса…

Более опытный коллега с недоумением на меня посмотрел и посоветовал поставить пару плагинов для SSMS… после этого работать стало явно веселее.

В данном посте я хочу поделиться моим топ списком бесплатных плагинов для SSMS, которыми чаще всего пользовался.
Подробнее

Dynamic T-SQL и как он может быть полезен

Время на прочтение6 мин
Количество просмотров64K
В наших проектах нам приходится решать различные задачи. Для решения некоторых из них мы используем dynamic T-Sql (далее по тексту dynamic sql).

Для чего нужен dynamic sql? Каждый решает для себя. В одном из проектов с помощью dynamic sql мы решили задачи построения динамичных отчетов, в других — миграцию данных. Также dynamic sql незаменим в случаях, когда требуется создать/изменить/получить данные или объекты, но значения/названия приходят в качестве параметров. Да, это может показаться абсурдом, но есть и такие задачи.


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

Используем TSQL для игры в «Судоку»

Время на прочтение6 мин
Количество просмотров9.5K
После того как при помощи TSQL была успешна решена «Балда» (статья) я решил попробовать решить на нем «Судоку» (спасибо за идею shavluk).

Решение судоку получилось на удивление достаточно простым.

Базовая схема имеет следующий вид:

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

SQL Server 2016 CTP3.1 — что нового для разработчика?

Время на прочтение9 мин
Количество просмотров25K
Еще недавно в моей памяти отложился анонс SQL Server 2016, которую лично презентовал Сатья Наделла. И вдруг, как снег на голову, стали одна за одной выходить свежие Community Technology Preview (на данный момент самая свежая версия – CTP3.1). По мере знакомства с новой версией, все больше хотелось поделиться впечатлениями…

Далее обзор новых синтаксических фишек SQL Server 2016: JSON, GZIP, DROP IF EXISTS, TRUNCATE TABLE по секциям, новые функции…

#1 – DROP IF EXISTS


CREATE TABLE dbo.tbl (
    a INT, b INT,
    CONSTRAINT ck CHECK (a > 1),
    INDEX ix CLUSTERED (a)
)

Если раньше перед удалением объекта приходилось делать проверку:

IF OBJECT_ID(N'dbo.tbl', 'U') IS NOT NULL
    DROP TABLE dbo.tbl

То сейчас появился более компактный синтаксис:

DROP TABLE IF EXISTS dbo.tbl
Подробнее

COUNT(*)

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


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

Давайте начнем с простого… Эти запросы отличаются чем-то друг от друга с точки зрения конечного результата?

SELECT COUNT(*) FROM Sales.SalesOrderDetail
SELECT COUNT_BIG(*) FROM Sales.SalesOrderDetail
Подробнее

Используем TSQL для игры в «Балду»

Время на прочтение12 мин
Количество просмотров9.5K
Недавно я вспомнил об замечательной интеллектуальной игре «Балда», с которой я познакомился еще в школьные годы.

На днях я задался вопросом – насколько сложно будет реализовать алгоритм этой игры для компьютерного соперника?

Так как мне больше всего нравится работать с реляционными данными и моим любимым языком является SQL, то я решил совместить приятное с полезным и попробовать написать этот алгоритм используя только TSQL. Это моя первая попытка написать ИИ используя только возможности SQL.

Архив с файлами можно скачать по следующей ссылке – скрипты.
Все слова в словаре в верхнем регистре, а также в нем буквы «Е» и «Ё» считаются за одну (как «Е»).

В результате была создана следующая схема:

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

Инструмент для построения условий

Время на прочтение5 мин
Количество просмотров6.4K
В прошлой статье «Игра со списками условий» я показал, как строить запросы. В качестве примера я взял несколько условий, написанных на SQL, и использовал их в запросе.

Но пользователь не умеет писать на SQL, пользователя нельзя подпускать к написанию запросов. Но как же быть, если очень надо? Я предлагаю дать пользователю простой инструмент, результаты которого уже трансформировать в SQL.

Накидаем список вопросов:

1. Что нужно пользователю?
2. Какими понятиями может оперировать пользователь?
3. Как нам преобразовать эти понятия в запрос?
4. Как нам проверить, что условие составленное пользователем охватывает все множество записей?
5. Как нам сделать не одноразовый инструмент?
Читать дальше →

Instant File Initialization

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

Возможность резервирования места на диске без инициализации называется Instant File Initialization (мгновенная инициализация файлов).

Фича эта не сильно известна, хотя ее использование стало возможным начиная с SQL Server 2005.

Какие преимущества можно получить от Instant File Initialization:

1. Ускорить создание новой базы данных
2. Сократить задержки и уменьшить время необходимое для увеличения файлов данных
3. Сократить время старта SQL Server, поскольку инициализация tempdb будет более быстрой
4. Сократить время при восстановлении из резервной копии, поскольку перед восстановлением SQL Server резервирует место под файлы, а потом переносит в них информацию из бекапа.
Подробнее

Игра со списком условий

Время на прочтение4 мин
Количество просмотров6.2K
В этой статье я покажу, что и как можно сделать со списком условий. Я сформулирую небольшую тестовую задачу на основе базы AdventureWorks2008R2 и один из вариантов ее решения.

Пример задачи:

Рассчитать стоимость доставки по факту по следующим условиям (обычная задача для логистических компаний).

Список условий:

  • Доставка в Берлин и Бонн байков
  • Доставка в Берлин и Бонн других товаров
  • Доставка в другие города
Читать дальше →

План обслуживания «на каждый день» – Часть 3: Автоматическое создание бекапов

Время на прочтение8 мин
Количество просмотров33K
Существует великое количество постов, в которых настойчиво призывают к одной простой истине – нужно делать бекапы на постоянной основе. Но люди всегда будут делиться на две категории: кто еще не делает бэкапы, и кто их уже делает. Первая категория, которая пренебрегает такими советами, часто можно встретить на профильных форумах с примерно одинаковыми вопросами:

– у меня полетели диски/кто-то удалил мою базу… как мне восстановить мои данные?
– у вас есть свежий бекап?
– нет

Чтобы не стать героем такой ситуации, нужно потратить минимум усилий. Во-первых, выделить дисковый массив, на который складывать резервные копии. Поскольку, хранить бекапы вместе с файлами БД – явно не наш выбор. Второе… это создать план обслуживания по резервному копированию баз данных.

Что мы и сделаем далее, а после обсудим некоторые тонкости связанные с бекапами.
Подробнее

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

Microsoft поднимает цены на свое программное обеспечение в РФ

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


В феврале 2015 года произошло повышение цен у корпорации Microsoft на 15-30%. И вот снова прогнозируется новое подорожание с 1 января 2016 года на продукцию и сервисы всеми известной компании. Цены на продукты Microsoft изменятся как для частных, так и для корпоративных пользователей на 19-25%. Подорожают офисные продукты Microsoft Office и Office 365, софт для серверов, облачные сервисы на базе Microsoft Azure, линейка для разработчиков Microsoft Visual Studio и другие продукты. Для частных пользователей цены будут подняты на 19%, для бизнеса — на 19-25%, в зависимости от программы лицензирования. Корпоративные заказчики и частные пользователи еще могут приобрести продукты Microsoft и обновить лицензионные соглашения по текущим ценам до их корректировки.
Подробности

Передача параметров в динамический запрос в T-SQL

Время на прочтение2 мин
Количество просмотров43K
Я не раз сталкивался с необходимостью построения динамического запроса и здесь есть ряд подводных камней о которых я расскажу ниже. Пример динамического запроса:

declare @sql varchar(100) = 'select 1+1'
execute( @sql)

1. Запуск строки через Execute создает отдельный блок кода, в котором текущие переменные будут не видны, но видны все временные таблицы.

2. Обратите внимание на передачу переменных со значением NULL. Любое слияние с NULL в результате даст NULL, следовательно, вместо запроса, вы можете получить пустую строку.

declare @i int
declare @sql varchar(100) = 'select ' + cstr(@i)
execute( @sql ) -- Ошибка

3. Передачу дат и времени. Даты лучше передавать в формате ГГГГММДД. При передаче параметров со временем следует обратить внимание на потерю точности. Для сохранения точности значения лучше передавать через временную таблицу.
Читать дальше →

17 октября с 10:00 (МСК) смотрите онлайн-трансляцию SQLSaturday

Время на прочтение2 мин
Количество просмотров3.4K
Завтра состоится технологическая конференция SQLSaturday, которая пройдет в Москве с 10.00 до 18.00 в гостинице “Золотое Кольцо” по адресу Смоленская ул., д.5. Если вы не успели зарегистрироваться на конференцию, мы организуем онлайн-трансляцию открытия конференции и всех треков мероприятия. Трансляция будет доступна на сайте конференции. Присоединяйтесь, регистрация не требуется!


У Вас будет уникальный шанс прослушать почти два десятка докладов по ключевым темам платформы управления данными от признанных экспертов индустрии, включая:
• Особенности практического применения In-Memory OLTP в SQL Server 2014.
• Примеры использования AlwaysOn для обеспечения катастрофоустойчивости приложениий MS.
• Принципы и методика консолидации серверов БД MS SQL Server на предприятии.
• Анализ производительности Windows приложений на примере SQL Server.

Отдельный блок докладов будет посвящен классической и продвинутой бизнес-аналитике, включая:

• Мобильную бизнес-аналитику: Datazen и Power BI.
• Обзор сценариев использования продвинутой аналитики (Azure ML).
• Профилирование SSAS с помощью расширенных событий (XEvents).

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

Первичный ключ – GUID или автоинкремент? Часть вторая

Время на прочтение4 мин
Количество просмотров32K
В предыдущей статье были рассмотрены критерии выбора между GUID и автоинкрементом в качестве первичного ключа. Основная мысль была в том, что если по каким-то базовым критериям (наличие репликации, требования к уникальности и т.д.) есть необходимость использовать GUID, то нужно учесть нюансы, связанные с его производительностью. Тесты вставки записей показали, что наиболее быстрым вариантом являются последовательные GUID, генерируемые на клиенте, причем вставка в этом случае работает даже быстрее, чем при использовании автоинкремента. Но в статье не был рассмотрен проигрыш в производительности выборки при использовании GUID в качестве ключа. В этой статье я попробую закрыть этот пробел.
Читать дальше →

12 типичных ошибок при бэкапе баз данных

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

Изначально эта статья задумывалась только для разработчиков и администраторов СУБД Firebird, но после общения с администраторами других БД выяснилось, что большинство ошибок общие, и на очень похожие грабли наступают буквально все. Если Вы можете что-то добавить к этому списку (пусть даже специфическое для конкретной СУБД), пишите в личную почту или в комментариях.
In English: 12 Common Mistakes while Backing Up Databases

Наша компания занимается инструментами восстановления, резервного копирования, оптимизации и поддержкой СУБД (в основном Firebird, но есть и MSSQL, PostgreSQL, InterBase и др.) и, как результат многочисленных аудитов и ремонтов, накопила коллекцию ошибок, связанных с резервным копированием. Все пункты ниже изложены по мотивам реальных случаев с повреждением баз, потерей и повреждением бэкапов, дисков, сбоями серверов, и прочих «радостей» администраторов БД.

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

Итак, приступим.
Читать дальше →

Регистрация на конференцию SQLSaturday 17 октября открыта

Время на прочтение2 мин
Количество просмотров3.3K
Сообщество PASS и компания Microsoft рады пригласить Вас на технологическую конференцию SQLSaturday, которая пройдет в Москве в субботу, 17 октября 2015 г. с 10.00 до 18.00 в гостинице “Золотое Кольцо” по адресу Смоленская ул., д.5.

image

Зачем?

У Вас будет уникальный шанс прослушать почти два десятка докладов по ключевым темам платформы управления данными от признанных экспертов индустрии, включая:
  • Особенности практического применения In-Memory OLTP в SQL Server 2014.
  • Примеры использования AlwaysOn для обеспечения катастрофоустойчивости приложений MS.
  • Принципы и методика консолидации серверов БД MS SQL Server на предприятии.
  • Анализ производительности Windows приложений на примере SQL Server.

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

Основы NHibernate (легкий туториал)

Время на прочтение5 мин
Количество просмотров56K
Перевод статьи «NHibernate Basics» с сайта codeproject.com.

Ведение


Nhibernate это решение для Объектно Реалицонного мапинга для платформы .NET. Этот фреймворк позволяет делать мапинг Объектно ориентированных моделей к традиционным БД. Его основное преимущество маппирование классов .Net к таблицам БД и от типов данных CLR в типы SQL.

Как указано в заголовке нашей статьи, мы посмотрим: Как загружать бизнес объекты из БД и сохранять измененные объекты обратно в БД.
Читать дальше →