Системное администрирование SQL Server

Подкатегории

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

В этом разделе описываются некоторые возможности Database Engine, которые относятся к системному окружению. Во-первых, в главе дается подробное описание системных баз данных, которые инсталлируются при установке всей системы. Другой темой, связанной с системой, является хранение данных. В этом разделе рассматриваются некоторые типы дисковых страниц, также как и способы сохранения на диске различных типов данных. Под конец объясняется использование системных утилит bср и sqicmd, а также системной команды DBCC.

Просмотреть материалы...

Управление экземплярами сервера и поддержка баз данных

В этом разделе описываются средства для управления экземплярами Database Engine (Declarative Management Framework) и мастер для создания планов поддержки базы данных (Maintenance Plan Wizard). Declarative Management Framework (DMF) является новым средством в SQL Server 2008, которое используется для управления всеми экземплярами его баз данных. Maintenance Plan Wizard обеспечивает некоторое количество задач, которые, помимо всего другого, проверяют, правильно ли выполняется ваша база данных и находятся ли ваши таблицы и индексы в согласованном состоянии.

Просмотреть материалы...

Резервное копирование и восстановление БД

В этом разделе рассматриваются две из наиболее важных задач, связанные с системой администрирования: резервное копирование и восстановление. Резервное копирование (backup) означает процесс создания копии базы данных (баз данных) и/или протоколов транзакций для разделения устройств, которые в дальнейшем при необходимости могут быть использованы для восстановления данных. Восстановление (recovery) - это процесс использования устройства резервной копии для замены неподтвержденных, несогласованных или потерянных данных.

Просмотреть материалы...

Система автоматизации задач администрирования

Одним из наиболее важных преимуществ Database Engine по сравнению с другими реляционными СУБД является его автоматическое администрирование задач, а это снижает затраты. Вы можете автоматизировать все эти задачи, так что они появятся в регулярном расписании. Например, вы можете установить, что задача резервного копирования базы данных появляется каждую пятницу в 20:00, а задача резервного копирования протокола транзакций - ежедневно в полночь.

Просмотреть материалы...

Репликация данных

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

Просмотреть материалы...

Оптимизатор запросов

Вопросом, который обычно возникает, когда Database Engine (или любая другая система реляционной базы данных) выполняет запрос, является вопрос, как доступ к необходимым данным и обработка этих данных в запросе может быть выполнена с максимальной эффективностью. Компонент системы базы данных, ответственный за такую деятельность, называется оптимизатором запросов. Задачей оптимизатора запросов (или просто оптимизатора) является рассмотрение множества возможных стратегий выполнения поиска требуемых в запросе данных и выбор наиболее эффективной стратегии. Выбранная стратегия называется планом выполнения запроса. Оптимизатор принимает свои решения с учетом таких факторов, как: насколько велики по размерам таблицы, вовлеченные в запрос, какие существуют индексы и какие логические операции (and, or, not) используются в предложении where. Обычно такие факторы называются статистическими данными.

Просмотреть материалы...

Настройка производительности

Улучшение производительности системы базы данных требует принятия множества решений, таких как: где хранить данные и как осуществлять доступ к данным. Эта задача отличается от других административных задач, потому что содержит несколько иные шаги, которые связаны со всеми аспектами программного обеспечения и оборудования. Если система базы данных не работает оптимально, то системный администратор должен проверить множество факторов и по возможности настроить программное обеспечение (операционную систему, систему базы данных, приложения базы данных) так же, как и оборудование.

Просмотреть материалы...

Оценить
(0 голоса)
В большинстве случаев оптимизатор запросов выбирает самый быстрый план выполнения. Однако существует несколько особых ситуаций, при которых оптимизатор, по ряду различных причин, не может найти оптимальное решение. В подобных случаях вы должны применять подсказки (hint) оптимизатора, чтобы заставить его использовать конкретный план выполнения, который должен работать лучше. Подсказки оптимизатора являются необязательной частью в операторе select, которые указывают оптимизатору запросов, что нужно применять один из специфических вариантов поведения. Другими словами, при использовании подсказок оптимизатора вы не позволяете оптимизатору запросов искать и находить способ выполнения запроса, потому что вы точно говорите ему, что он должен делать.
Оценить
(0 голоса)
Вы должны использовать подсказки оптимизатора только временно и только для тестирования. Другими словами, исключите их использование в качестве постоянной части любого запроса. Существуют две причины этого высказывания. Во-первых, если вы заставляете оптимизатор использовать конкретный индекс, а несколько позже определяете другой индекс, который даст лучшие результаты производительности при выполнении запроса; здесь запрос и приложение, которому принадлежит этот запрос, не смогут использовать преимущества нового индекса. Во-вторых, Microsoft постоянно прилагает усилия, чтобы сделать оптимизатор запросов лучше. Если вы свяжете запрос с конкретным планом выполнения, то оптимизатор не сможет реализовать преимущества от новых и улучшенных возможностей в последующих версиях SQL Server. Существуют две причины,…
Оценить
(0 голоса)
Database Engine поддерживает следующие типы подсказок оптимизации: ♦ подсказки таблицы; ♦ подсказки соединения; ♦ подсказки запроса; ♦ структуры планов.
Оценить
(0 голоса)
Вы можете применить подсказки таблицы к одной таблице. Поддерживаются следующие подсказки таблицы: ♦ index; ♦ noexpand; ♦ forceseek (новое в SQL Server 2008). Подсказка index служит для указания одного или более индексов, которые затем будут использованы в запросе. Эта подсказка задается в предложении from в запросе. Вы можете использовать эту подсказку, чтобы осуществить доступ к индексу, если оптимизатор по различным причинам выбрал последовательное сканирование таблицы для данного запроса. (Подсказка index также может быть полезной для того, чтобы не позволить оптимизатору использовать другой конкретный индекс.) В примерах 20.15 и 20.16 показано использование подсказки index.   Пример 20.15 идентичен примеру 20.8, однако…
Оценить
(0 голоса)
Подсказки соединения дают указания оптимизатору запросов, как должны выполняться операции соединения в запросе. Они заставляют оптимизатор либо соединять таблицы в том порядке, в каком они указаны в предложении from оператора select, либо использовать техники выполнения соединения, явно указанные в операторе. Database Engine поддерживает несколько подсказок соединения: ♦ force order; ♦ loop; ♦ hash; ♦ merge. Подсказка force order заставляет оптимизатор выполнять соединение таблиц в том порядке, в котором они указаны в запросе. В примере 20.17 показано использование этой подсказки соединения.       Как вы можете видеть, оптимизатор выполняет операцию соединения в том порядке, в котором таблицы появляются в запросе.…
Оценить
(0 голоса)
Существует несколько подсказок запроса, которые используются для различных целей. В этом разделе рассматриваются следующие две подсказки запроса: ♦ fast; ♦ optimize for. Список всех других подсказок запроса вы можете найти в документации Books Online. Подсказка fast л указывает, что запрос оптимизируется для быстрого поиска первых л строк. После того как первые л строк будут получены, запрос продолжит свое выполнение и создаст полный набор результата. Подсказка optimize for заставляет оптимизатор запросов использовать конкретное значение для локальной переменной, когда запрос компилируется и оптимизируется. Это значение используется только в процессе оптимизации запроса, но не в процессе его выполнения. Эта подсказка запроса может быть…
Оценить
(0 голоса)
Как вы уже знаете из предыдущего раздела, подсказки явно задаются в операторе select для оказания влияния на работу оптимизатора запросов. Иногда вы не можете или у вас просто нет желания изменять текст в операторе select напрямую. В этом случае все равно можно повлиять на выполнение запросов, используя структуры планов. Другими словами, структуры планов дают вам возможность использовать отдельную подсказку оптимизации каждый раз, когда выполняются ее условия, без изменения синтаксиса оператора. Структуры планов создаются при помощи системной процедуры sp_create_ pianguide. Эта процедура создает структуру плана для ассоциированных подсказок запроса или для фактических планов запросов для запросов к базе данных. Другая системная…
Оценить
(0 голоса)
Оптимизатор запросов является частью Database Engine, которая принимает решение, как лучше выполнить запрос. Он генерирует несколько планов выполнения запроса для заданного запроса и выбирает план с наименьшей стоимостью. Фаза оптимизации запроса может быть разделена на следующие фазы: анализ запроса, выбор индекса и выбор порядка выполнения соединения. В процессе выполнения фазы анализа запроса оптимизатор просматривает запрос с целью определения аргументов поиска, наличия операторов or и существования критериев соединения - в указанном порядке. Идентификация аргументов поиска позволяет оптимизатору принять решение, будут ли использоваться один или более существующих индексов. Порядок, в котором две или более соединяемых таблиц записаны в предложении from оператора select,…
Оценить
(0 голоса)
Факторы, влияющие на производительность, разделяются на три общие категории: ♦ приложения базы данных; ♦ система базы данных; ♦ системные ресурсы. Эти факторы могут оказывать влияние на некоторые другие факторы, которые обсуждаются в следующих разделах.
Оценить
(0 голоса)
Следующие факторы могут влиять на производительность приложений базы данных: ♦ эффективность кода приложения; ♦ физическое проектирование.
© 2018 serversql.ru. Все права защищены.