Pull to refresh

DataLine запускает кластер для нагруженных баз данных Microsoft SQL в облаке

Reading time 1 min
Views 1.6K
DataLine corporate blog IT Infrastructure *Data storage *Data storages *Cloud services *
Новый кластер с Intel Optane, NVMe и процессорами 3.3 ГГц появится в сервисе DBaaS Microsoft SQL.

В рамках услуги "DBaaS:Microsoft SQL как сервис" клиентам DataLine стала доступна версия для работы с высоконагруженными базами данных. В основе сервиса лежит гиперконвергентная платформа: работу баз данных обеспечивает новый кластер серверов без использования традиционных СХД.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 0

Вебинар DataLine «Работа с DBaaS: инструкция по применению» 28 октября

Reading time 1 min
Views 299
DataLine corporate blog PostgreSQL *SQL *MongoDB *Database Administration *

На вебинаре мы поговорим о самых важных аспектах в работе с базами данных и расскажем, что в этой связи могут предложить управляемые базы данных (DBaaS). Будем говорить о разных базах данных — PostgreSQL, MySQL, MS SQL, MongoDB и Redis.

Подробности и регистрация
Total votes 10: ↑10 and ↓0 +10
Comments 0

MS SQL: hierarchyid — иерархия по-новому

Reading time 4 min
Views 47K
SQL *
В наше время среди СУБД самую большую распространенность получили реляционные базы данных, в которых основными объектами являются таблицы и отношения между ними. Таблицы — это очень хорошо, они позволяют решить большинство задач по хранению данных и манипуляции с ними. Но в реальном мире сущности требующие хранения не всегда представлены в табличном виде. Одним из таких очень распространенных видов структуры данных отличных от таблицы является древовидная структура, когда каждый элемент данных имеет предка и потомков. Примером такой структуры может быть структура штата предприятия, в котором во главе стоит директор (корень дерева), его заместители, отделы с начальниками, которые подчиняются определенным заместителям, сотрудники отделов, которые подчиняются начальникам.

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

Однако, разработчики СУБД MS SQL предлагают в своей новой версии MS SQL 2008 для реализации древовидной иерархии новый тип хранения данных hierarchyid.
Читать дальше →
Total votes 35: ↑31 and ↓4 +27
Comments 35

Что стало с SQL Turbo (Imceda Software )

Reading time 1 min
Views 651
SQL *
Наша компания использовала долгое время продукт Imceda — SQL Turbo

Скорость поиска просто поражает. нет аналогов.
В один момент, взяли и закрыли продукт.
Писал в суппорт, никто не знает в чем проблема.
Есть предположения что Майкрософт выкупила технологию и включила в новый Search Engine Server

Просто альтернатив очень мало… и обидно

Есть ли живая душа которая использовала данный продукт и нашли ли альтернативу?

P.S.:
Яндекс сервер не канает (так как есть только бесплатная версия, ищет только по файлам)
Total votes 2: ↑1 and ↓1 0
Comments 6

Корпоративная CMS на .NET — какие варианты?

Reading time 2 min
Views 3.4K
CMS *
Есть идея переделать наш корпоративный сайт, чтобы он шёл в ногу со временем. Основная идея — что-то вроде внутреннего блога, который можно редактировать только из нашей внутренней сети, но доступного в read-only из интернета.

В связи с этим, доступ пользователей должен контролироваться Active Directory, и быть незаметным для пользователей — так что использовать придётся Mixed Mode Windows Authentication; в Интернет должна идти версия в которой вообще нет проверки или возможности залогиниться, и в которой не отображаются комментарии, только топики. Такой вот корпоративный Хабр.

Главная проблема...
Total votes 9: ↑5 and ↓4 +1
Comments 12

MS SQL база на сетевой шаре

Reading time 2 min
Views 3.5K
Lumber room
Предупреждение: Автор не несет никакой ответственности за проблемы которые могут возникнуть при использовании данного метода подключения баз.

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

DBCC TraceOn(1807)
GO
CREATE DATABASE MYDB
ON
(NAME = MYDB,
FILENAME = '\\server\share\MYDB.mdf' )
GO
DBCC TraceOff(1807)

Читать дальше →
Total votes 8: ↑4 and ↓4 0
Comments 7

Создание документации для базы данных MS SQL

Reading time 2 min
Views 26K
SQL *
Предлагаю вашему вниманию небольшой проект для разработчика баз данных. Начиналось это как изучение возможностей построения отчетов для SQL Server Management Studio, а закончилось как:
Database Documentation Reports, адрес проекта: http://DbDocReports.CodePlex.com.

Database Objects Report
Это набор отчетов для MS SQL Management Studio и MS SQL Reporting Services для создания документации базы данных с использованием описаний из Extended Properties. Отчеты содержат детальную информацию об объектах базы данных, таких как таблицы, представления и хранимые процедуры.

Поддерживается SQL Server Management Studio 2005/2008 и SQL Server Reporting Services 2005/2008. Использование движка отчетов позволяет с легкостью экспортировать полученные отчеты в Excel, Word, PDF и др. форматы.
Читать дальше →
Total votes 42: ↑33 and ↓9 +24
Comments 10

Знаете ли вы как работает этот код?

Reading time 3 min
Views 843
Lumber room
Вчера, в очередной раз столкнувшись с интересным поведением кода, я решил привести пару примеров из C# и MS SQL, которые в свое время меня удивили.

Пример 1. Меняем местами значения переменных (C#)


С этим поведением я встретился несколько лет назад, когда только начал изучать C#. Применив знакомый метод, чтобы поменять значения 2-х переменных местами, я с удивлением обнаружил, что он не работает.
//Задаем 2 переменные
int x = 1, y = 2;

//Меняем их значения при помощи xor
x ^= y;
y ^= x;
x ^= y;

//Выводим результат [x=2;y=1]
Console.WriteLine("x = {0};y = {1}", x, y);

//Снова меняем их значения, но только пишем все в одну строчку
x ^= y ^= x ^= y;

//Выводим результат [x=0;y=2]
Console.WriteLine("x = {0};y = {1}", x, y);


* This source code was highlighted with Source Code Highlighter.

В итоге, в первый раз все проходит нормально и значения переменных меняются, а во второй раз, вопреки ожиданиям, у нас обнуляется переменная x.
Читать дальше
Total votes 31: ↑16 and ↓15 +1
Comments 35

Определяем логин пользователя по его SID средствами MS SQL

Reading time 2 min
Views 9.2K
SQL *
Здравствуйте. Будучи администратором БД (Microsoft Dynamics NAV), возникла задача выдавать/проверять наличие роли SQL db_datareader для некоторых работников. Но в таблице список пользователей хранился в виде SID windows: S-1-5-21-3879… и записи постоянно добавлялись. Другими словами необходимо было конвертировать из S-1-5-21-38… → aapetrov.

Серверов было около 70-ти и хотелось все сделать стандартными средствами (не использовать, например psgetsid.exe).

Как и положено начал с гугла — ничего полезного не нашел. Пришлось обратиться за помощью на многоуважаемый форум. Было предложено множество вариантов, за что огромное спасибо добрым людям, но увы, решение так и не было найдено.
«Если даже ребята с sql.ru не смогли подсказать — подумал я — значит все, это конец».

Читать дальше →
Total votes 32: ↑22 and ↓10 +12
Comments 9

MS SQL 2011 – новый оператор Offset

Reading time 9 min
Views 75K
SQL *
Translation
В новом SQL Server 2011 (Denali) расширяются возможности команды Order By с помощью двух долгожданных дополнительных команд:
  • Offset (смещение)
  • Fetch First или Fetch Next (взять первые… или взять следующие…)


Offset


Использование данной команды позволяет пропустить указанное количество строк перед тем как выводить результаты запроса. Что под этим подразумевается: Допустим, у нас есть 100 записей в таблице и нужно пропустить первые 10 строк и вывести строки с 11 по 100. Теперь это легко решается следующим запросом:
Select *
From  <SomeTable>
Order by  <SomeColumn>
Offset 10 Rows

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

Читать дальше →
Total votes 47: ↑34 and ↓13 +21
Comments 23

MS SQL 2011 — Обработка ошибок

Reading time 11 min
Views 55K
SQL *
Translation
Новое полезное дополнение для SQL Server 2011 (Denali) ­– выражение Throw. Разработчики на .Net уже догадались наверно, где и как оно будет использоваться.

Это слово может использоваться в сочетании с управляющей конструкцией Try…Catch и позволяет послать уведомление о возникновении ошибки времени исполнения. Когда возникает исключение, программа ищет ближайший по иерархии вверх блок Catch который может обработать исключение. Используя это выражение внутри блока Catch можно изменить вывод ошибки. Более того, теперь вызывать исключение можно произвольно в любом месте скрипта.

Далее рассмотрим различные способы поимки исключении, которые предоставляет SQL Server начиная с версии 2000 и до версии 2011, с указанием плюсов и минусов.

Читать дальше →
Total votes 43: ↑32 and ↓11 +21
Comments 2

MS SQL 2011 – Модификация возвращаемого набора данных

Reading time 5 min
Views 10K
SQL *
Translation
В оригинальном звучании и в жизни эта возможность звучит как With Result Set. Эта штука позволяет менять имена и типы данных в возвращаемом хранимой процедурой наборе данных.

Перед тем, как мы углубимся в детали использования данной возможности, рассмотрим, как предыдущие версии SQL серверов обходились с данными, которые возвращает хранимая процедура. Какие возможности они предоставляли для работы с результатом.

Для демонстрации работы будем использовать в качестве примера таблицу tbl_Test состоящую из 3 колонок.


Читать дальше →
Total votes 29: ↑25 and ↓4 +21
Comments 3

Учим MS SQL Server Reporting Services 2008 R2 показывать HTML в отчетах

Reading time 4 min
Views 30K
JavaScript *Microsoft SQL Server *
Sandbox


Проблема


Недавно столкнулся с необходимостью показать в отчете SSRS 2008 R2 HTML-таблицы, хранящиеся в базе данных.
И здесь на сцену статисты выносят заботливо подготовленные «грабли». Все дело в том, что Report Manager в SSRS 2008 R2 поддерживает только ограниченное количество тегов HTML, и табличные в их число не входят.
Согласно...
Total votes 12: ↑9 and ↓3 +6
Comments 7

Тесты и БД. Как откатить изменения, сделанные тестом?

Reading time 4 min
Views 4.9K
.NET *
Sandbox

Формулировка задачи


Если юнит-тесты работают с базой и меняют её — что сделать, чтобы результаты прогона были повторимы?
Ответ — чистить базу перед тестом. Но хочется иметь какой то набор данных в базе, чтобы каждый раз его туда не записывать из тестов (будем называть такие данные “базовым набором”). Таким образом мы упростим сами тесты и их setup во много раз.
Читать дальше →
Total votes 16: ↑8 and ↓8 0
Comments 25

In-memory key-value кэш для MS SQL

Reading time 3 min
Views 5.4K
Programming *.NET *Microsoft SQL Server *

Для чего надо.
Кэширование часто используемых нестатических данных, для генерации которых требуется некое неудовлетворительное время, например – ответ от некоего сервиса в сети. Родилось ввиду того, что очень удобно использовать single-value функции в запросах, но нет возможности записи из них в таблицу по понятным причинам.
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Comments 7

Построение цепочки восстановлений баз данных MS SQL

Reading time 3 min
Views 10K
SQL *Microsoft SQL Server *
Sandbox
Часто возникает задача восстановить базу по цепочке бэкапов на резервном/тестовом сервере, на котором непосредственный бэкап базы не проводился, отсутствуют записи в msdb, но есть сами бэкапы, снятые с продуктивного сервера. Вариант с восстановлением копии базы msdb может не подойти если должны существовать разные наборы джобов для основного сервера и того, на котором мы планируем восстановление. Если файлов с бэкапами немного, то восстановить логический порядок следования файлов нетрудно, особенно если бэкапы принадлежат логшиппингу. В этом случае все тривиально — в имени файла хранятся и время, и дата (стоит только помнить, что время в именах файлов хранится в UTC). Но что делать, если в бэкапах нет структуры или файлов очень много, и организовать их простым способом не представляется возможным или как можно просто определить начиная с какого файла логшипинга начинать донакатку?
Читать дальше →
Total votes 8: ↑5 and ↓3 +2
Comments 0

Дефрагментация индексов со сбором статистики MS SQL 2008 R2

Reading time 5 min
Views 45K
SQL *Microsoft SQL Server *
Sandbox
Одна из первых задач, которая возникает перед DBA после развертывания новой БД — это настройка планов по ее обслуживанию. Зачастую, в план обслуживания включается задача по дефрагментации индексов. Мне нравится, когда я знаю не только то, что дефрагментация выполнилась ночью с воскресенья на понедельник, но и то, как она прошла, сколько выполнялась, какие индексы были перестроены и в каком состоянии они остались после дефрагментации.

Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Comments 10

Создание и хранение резервных копий баз данных в MS SQL. Практические советы

Reading time 3 min
Views 20K
Microsoft SQL Server *
Sandbox
По роду деятельности я немного администратор баз данных. Так или иначе мне приходится обслуживать несколько десятков БД.
Наткнувшись на статью, опубликованную недавно, посчитал нужным дополнить ее некоторыми практическими рекомендациями. То что затрагивалось в прошлой статье, в этой опускалось.

1. Размер резервной копии


Оценить размер резервной копии можно с помощью хранимой процедуры sp_spaceused

К примеру вот такой запрос:

USE your_database;
GO
EXEC sp_spaceused @updateusage = N'TRUE';
GO

выполняется намного быстрей резервного копирования, и позволяет более-менее точно оценить будущий размер бэкапа без сжатия.
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 16

StackOverflow: 560 млн показов в месяц, 25 серверов

Reading time 1 min
Views 19K
High performance *
StackOverflow опубликовал статистику посещаемости по всем сайтам StackExchange. На данный момент StackExchange занимает 54-е место в интернете по аудитории. На сайте зарегистрировано 4 млн пользователей, опубликовано 8 млн вопросов и 40 млн ответов. Посещаемость составляет 560 млн просмотров в месяц.

Что удивительно, для работы StackOverflow хватает всего 25 серверов. Но поскольку нагрузка на ЦП составляет около 10-15%, то всю работу могли бы выполнять и 5 серверов.
Читать дальше →
Total votes 40: ↑32 and ↓8 +24
Comments 42

Windows 2012 R2 + IIS + MS SQL + PHP установка, настройка, подводные камни

Reading time 4 min
Views 56K
PHP *Microsoft SQL Server *IIS *
Tutorial
Sandbox
Спешу поделиться опытом установки и настройки указанных в названии монстров!



К сожалению, такая связка не столь популярна, чтобы найти что-то стоящее по этой теме в поисковиках. Но мне удалось отрывками и кусками все-же поймать свой Дзен.
Читать дальше →
Total votes 12: ↑7 and ↓5 +2
Comments 22