MS SQL Server- по простому.

Фильтр по тегу: общее


In-Memory tables. Таблицы в памяти - просто.


Начиная с MS SQL Server 2014 Microsoft предоставила к использованию технологию таблиц In-Memory, в 2016 данная технология получила продолжения и улучшения. Технология подразумевает, что определяется таблица, которая оптимизирована для нахождения в памяти сервера, что позволяет повысить производительность обработки данных в данной таблице, за счет быстроты работы данных в памяти и исключения задержек, связанные с вводом\выводом (хотя здесь есть свои нюансы). Постараюсь описать все нюансы и возможности в одной статье, чтобы не искать по разным страницам msdn, немного много, но зато все в одном.


Итак, требования
Чтобы вы могли в MS SQL Server использовать In-Memory таблицы, то должны проверить следующие требования:
-  64 – разрядный MS SQL Server 2014и выше редакции Enterprise, Developer или Evaluation
- достаточное объем самой оперативной памяти для данных и версионности строк, так же это зависит о нагрузки на использования таблиц в памяти
- Необходимо включить быструю инициализацию файлов, т.е предоставить учетной записи MS SQL Server право на «Perform volume maintenance tasks» в локальных политиках сервера. Это требования желательное, в противном случае может сыграть отрицательно на производительность.

Немного теории.

Основным хранилищем для таблиц In-Memory является основная память, т.е вся память находится в памяти. Строки записываются и считываются только из памяти. Для отказоустойчивости данный таблиц дублируются на диск, но можно настроить, чтобы таблица была только в пам...
читать дальше...
добавлено: 05 дек 16 просмотры: 1552, комментарии: 0



DBCC CLONEDATABASE


В MS SQL Server2014 после выхода SP2 появилась новая команда DBCC, команда

DBCC CLONEDATABASE

Данная команда создает новую базу данных с содержанием схему всех объектов и статистики исходной базы данных.
Более подробно это описано в kb 3177838.
Там же описано более подробное назначение данной команды:
«Команда поддержки Майкрософт может вас попросить создать клон вашей базы данных данной команды для исследования проблемы производительности связанная с оптимизатором запросов.»
И там же примечание: что созданную данной командой базу данных не использовать как продукционную базу данных, а использовать для диагностических целей.

Что делает данная команда по шагам:


- создает новую базу данных согласно базе данных model(размер файлов и их приращение)
- создает внутренний моментальный снимок исходной базы данных
- копируется системные и пользовательские объекты из исходной базы данных в новую базу данных
- Копирует данные статистики из исходной базы данных без самих данных в базе (в документации указана статистика индексов, но на самом деле всю статистику в базе).

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

Вообще, я думаю, причиной создания данной команды, наверно, стало много обращений в поддержку Майкрософт, почему запрос выполнялся хорошо, а потом плохо, а для объяснения и проверки поведения оптимизатора запросов не хватало информации по с...
читать дальше...
добавлено: 26 июл 16 просмотры: 1555, комментарии: 0



MS SQL Server и MS SharePoint 2013. Сообщение «Using 'dbghelp.dll' version '4.0.5'»


После развертывания баз данных MS SharePoint 2013 на сервере MS SQL Server 2008R2 в логах СУБД появилось несметное количество однородных сообщений малоинформативного содержания:

Message
Using 'dbghelp.dll' version '4.0.5'

Все бы ничего, но их количество – 10-12 сообщений в минуту:



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

http://connect.microsoft.com/SQLServer/feedback/details/781950/turn-off-using-dbghelp-dll-version-4-0-5-messages-trace-flag
http://blogs.msdn.com/b/chaun/archive/2013/08/01/sp2013-sql2012-database-performance-metric-provider-timer-job-using-dbghelp-dll-version-4-0-5.aspx

Сообщение это возникает и в MS SQL Server2012, рекомендации Майкрософт – ожидать пакет исправлений.
В итоге решил избавиться от данного сообщения.
Из выше указанных источников, выяснено, что Sharepoint создает расширенные события, их имена получаем следующим запросом:

select event_session_id,name from sys.server_event_sessions

Результат:

name
-------------------------------------------------------------------------------------------------
system_health
SharePoint_Diagnostics_e4299af2cd984988a6bc5bdcc784b139_0
SharePoint_Diagnostics_e4299af2cd984988a6bc5bdcc784b139_1

Далее их просто удаляем:

DROP EVENT SESSIONSharePoint_Di...
читать дальше...
добавлено: 15 сен 15 просмотры: 770, комментарии: 0



Создание базы данных на сетевом ресурсе.

Если по каким-то причинам Вам  необходимо разместить базу данных на сетевом ресурсе, а по умолчанию данная возможность закрыта, то можно воспользоваться ниже указанным способом:


База дынных на сетевом ресурсе создается через скрипт T-sql, в графическом режиме не получится.
Итак, перед создание необходимо активировать флаг 1807:
DBCC TRACEON(1807, -1)
go
После этого выполнить скрипт создания базы данных:

CREATE DATABASE [db1]
ON PRIMARY
( NAME = N'db1', FILENAME = N'\\sql-test-2\data\db1_idera.mdf' , SIZE = 5120KB , FILEGROWTH = 10024KB )
LOG ON
( NAME = N'db1_log', FILENAME = N'\\sql-test-2\data\db1__ideralog.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)



GO
База данных успешно создана:

Таким способом мы создаем  базы данных на сетевых ресурсах.
Единственно нужно учитывать:
- при создании базы данных нужно учесть права на сетевом ресурсе для учетной записи MS SQL Server
- т.к скорость доступа через Lan и надежность такового соединения меньше стандартного расположения баз данных, то таким способом рекомендуется создавать тестовые базы данных либо не критичных систем

Данные возможность проверялась в MS SQL Server 2008R2 и в 2012.
Небольшое замечание,  на других ресурсах описывается возможность присоединения баз данных с сетевых каталог, у меня по каким -то причинам такое не получилось: лог подключения к каталогу учетной записи MS SQL Server-а был, но откуда-то бралась учетная запись ANONYMOUS LOGON, у которой не проходила команда SeBackupPrivilige.
 
Решить да...
читать дальше...
добавлено: 10 авг 15 просмотры: 931, комментарии: 0



Разграничение ресурсов сервера между компонентами MS SQL Server


Довольно часто бывает, что для каждой службы не всегда можно выделить отдельные сервера, поэтому на один сервер ставят несколько компонентов MS SQL Server, такие как  MS SQL Server, MS SQL Server Analysis Services, MS SQL Server Reporting Services. Если компонентами активно пользуются, то это приводит к конкуренции ресурсов сервера, и в итоге отрицательное влияние друг на друга.

В текущей статье опишем, как можно разделить ресурсы между компонентами MS SQL Server, установленные на один сервер.

Разделить можно следующие ресурсы: память и процессора. Диски, к сожалению, пока нельзя, я бы рекомендовал просто разнести на различные физические носители (это базы данных MS SQL Server и базы данных MS SQL Server Analysis ), сгруппировать базы данных с низкой активностью  и т.д. .

Дано сервер с установленным MS SQL Server 2012 и компоненты Analysis, Reporting. На сервере 32 Гб памяти сервера и 8 процессоров, технологии NUMA нет.

Итак, начнем с самого простого, ограничение ресурсов MS SQL Server:
Память :
Графически
Выбираем свойства сервера, вкладка “Memory”, в поле «Maximum server memory» устанавливаем необходимое значение памяти , которые выделяем  MS SQL Server-у:

 

Либо через инструкции T-SQl:
EXECsys.sp_configure N'max server memory (MB)',N'9000'
GO
RECONFIGURE WITHOVERRIDE

Процессор:
Вкладка Processors, снимаем галочку у параметра «Automatically set processor affinity for all processors”, отмечаем необходимые процессоры:

Через код T-SQL:
ALTERSERVER CONFIGURATIONSE...
читать дальше...
добавлено: 02 май 15 просмотры: 1895, комментарии: 3



Настройка параметров приращения баз данных MS SQL Server


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

Цель статьи объяснить
- в мегабайтах или процентах указывать размер приращения?!
- размер самого приращения - 1, 30, или 500 мб?!

Немного теории.
При создании базы данных, как мы знаем, создается база, с параметрами базы данных model, а именно:
Размер файла данных 5 мб,
Размер приращения файла данных 1 мб,
Размер файла логов(транзакций) 1 мб,
Размер приращения файла логов(транзакций)  10 %
Рост файлов неограничен
Модель восстановления Full.

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

Итак, по вопросам:
Указывать приращение в процентах или в мегабайтах?!

Ответ – можно так и так, в зависимости от размера базы данных.
Если размер файла базы &nbs...
читать дальше...
добавлено: 09 апр 15 просмотры: 1622, комментарии: 0