
- •Основные функции администратора баз данных
- •Основные сведения о sql 2000 Server. Ключевые характеристики и назначение Microsoft sql Server 2005. Основные компоненты.
- •Создание пользовательских баз данных. Создание базы данных из sql server management studio. Создание базы данных при помощи команды create daabase.
- •Системные базы данных.
- •Файлы база данных и журналы транзакций. Применение файловых групп. Режимы работы базы данных. Расширенные свойства баз данных
- •Выполнение служебных операций с базами данных: увеличение размера базы данных, уменьшение размера базы данных, перенос файлов баз данных, переименование, удаление базы.
- •7 Терминология и основы системы безопасности sql Server 2005
- •8 Логины sql Server 2005 Выбор типа логина
- •Создание логинов в sql Server 2005, create login, парольные политики, свойства логинов
- •Логины, создаваемые по умолчанию
- •9 Серверные роли. Разрешения на уровне сервера
- •10 Пользователь и схема
- •11 Создание, изменение и удаление пользователей базы данных
- •Встроенные пользователи базы данных
- •12 Предоставление прав на объекты в базе данных
- •13.Роли приложений. Изменение контекста выполнения. Выражение execute as.
- •14.Основы резервного копирования sql server 2005. Типы резервного копирования.
- •15.Основы восстановления баз данных. Проведение восстановления
- •16. Режимы восстановления баз данных. Оперативный режим восстановления. Восстановление отдельных страниц. Восстановление системных баз данных.
- •Восстановление базы данных в оперативном режиме
- •Восстановление отдельных страниц базы данных
- •Восстановление системных баз данных
- •17 Автоматическая доставка журналов
- •18. Зеркальное отображение баз данных.
- •19 Управление транзакциями (не совсем!!!!!)
- •21. Репликация баз данных. Планирование, реализация, мониторинг и управление репликацией. Типы репликации.(неполное)
- •22 Средства администрирования
- •23. Применение sqlcmd.
- •24 Мониторинг производительности sql Server 2005
- •Средства для мониторинга и анализа производительности
21. Репликация баз данных. Планирование, реализация, мониторинг и управление репликацией. Типы репликации.(неполное)
Репликация представляет собой набор технологий копирования и распространения данных и объектов баз данных между базами данных, а также синхронизации баз данных для поддержания согласованности. Используя репликацию, можно распространять данные в различные расположения, а также удаленным или мобильным пользователям по локальным или глобальным сетям, посредством удаленного доступа, по беспроводным соединениям и через Интернет.
Репликация транзакций обычно используется в сценариях «сервер-сервер», для которых необходима высокая пропускная способность, в том числе улучшение масштабируемости и доступности, хранение и протоколирование данных, интеграция данных с нескольких сайтов, объединение разнородных данных, автономная обработка пакетов. Репликация слиянием разработана в основном для мобильных приложений или распределенных серверных приложений, в которых возможно возникновение конфликтов данных. Обычные сценарии включают в себя обмен данными с мобильными пользователями, клиентские приложения точки продажи (POS) и интеграцию данных с нескольких сайтов. Репликация моментальных снимков используется для обеспечения начального набора данных для репликации транзакций и репликации слиянием; она также может применяться при необходимости выполнения полного обновления данных. Располагая этими тремя типами репликации, SQL Server представляет собой мощную и гибкую систему для синхронизации данных уровня предприятия.
Помимо репликации, можно синхронизировать базы данных с помощью служб Microsoft Sync Framework и Sync Services for ADO.NET. Службы Sync Services for ADO.NET предоставляют интуитивно понятный, гибкий API, который можно использовать для построения приложений, предназначенных для сценариев вне сети и совместных сценариев.
Перед настройкой репликации очень важно правильно выбрать ее тип. В SQL Server 2005 предусмотрено три главных типа: репликация моментальных снимков, репликация транзакций и репликация слиянием. У этих главных типов есть подтипы.
Репликация моментальных снимков (snapshot replication) — это тип репликации, когда информация на подписчике через определенные интервалы времени просто перезаписывается информацией с издателя. Никакого отслеживания происходящих изменений при этом не происходит. Такой тип репликации является самым простым и надежным, но не всегда эффективным. Конечно, его нельзя использовать, если в подписку попадает значительный объем данных: нагрузка на сеть будет очень большой. Этот тип репликации обычно используется в случае, когда нужно передавать небольшой объем данных, и эти данные изменяются достаточно сильно. Например, репликацию моментальных снимков можно использовать для распространения в филиалах прайс-листов или курсов валют.
Репликация транзакций (transactional replication) — это самый распространенный тип репликации. Под репликацией, в первую очередь, понимают схему работы именно этого типа репликации. При использовании репликации транзакций вначале к подписчику применяется моментальный снимок исходных данных с издателя (подписчик "инициализируется"), а потом через определенные интервалы подписчику передается и применяется информация о произошедших на издателе изменениях — транзакциях. Этот тип репликации сложнее, чем репликация моментальных снимков, но он больше подходит в ситуациях, когда набор данных в подписке достаточно большой. Как уже говорилось, этот тип репликации является наиболее распространенным и поэтому применяется во многих случаях. Вот несколько наиболее типичных примеров использования репликации транзакций:
- для получения отчетов о произведенных операциях с филиалов. При этом у вас будет множество издателей (серверы в филиалах) и один подписчик (сервер в центральном офисе);
- для создания запасного сервера для повышения отказоустойчивости или снятия нагрузки с основного сервера;
- для настройки одноранговой системы репликации, когда информация в одном наборе таблиц может изменяться на любом сервере из нескольких, а затем синхронизироваться;
- в качестве замены пакетов SSIS при сборе данных с разных серверов в базе данных на одном сервере (т. е. для организации хранилища данных).
Для репликации транзакций предусмотрены специальные подтипы, которые позволяют настроить режимы репликации, отличные от стандартного.
Первый подтип — репликация транзакций с возможностью внесения изменений на подписчиках (transactional replication with updatable subscriptions). По умолчанию в репликации транзакций разрешается внесение изменений только на издателе, но иногда возникают ситуации, когда нужно разрешить внесение изменений и на подписчиках. Заметим, что если на подписчиках изменения нужно вносить постоянно, то, возможно, в этой ситуации лучше подойдет репликация слиянием.
При настройке репликации транзакций с возможностью внесения изменений на подписчиках вам нужно будет выбрать один из двух режимов предупреждения издателя о таких изменениях:
- немедленное извещение об изменениях (immediate updating). При выборе этого режима должно существовать постоянно доступное сетевое соединение между издателем и подписчиком. Как только на подписчике вносятся изменения, он немедленно уведомляет о них издателя. Тот, в свою очередь, получив информацию об этих изменениях, уведомляет о них других подписчиков;
- извещение об изменениях с использованием очередей (queued updating). Постоянно доступное сетевое соединение при этом не нужно. Информация о внесенных на подписчиках изменениях помещается в очередь и по определенному расписанию передается издателю, который уведомляет о них остальных подписчиков.
Еще один подтип репликации транзакций (он появился только в SQL Server 2005) — это одноранговая репликация (peer replication), в которой изменения можно вносить на любой из серверов, участвующих в репликации. Вся информация будет автоматически синхронизирована между ними.
Третий главный тип репликации — это репликация слиянием (merge replication). Это самый сложный тип репликации, и используется он очень редко. При репликации слиянием изменения можно вносить как на издателе, так и на подписчиках. Все изменения сводятся воедино на издателе, который разрешает конфликты в случае их возникновения. Для разрешения конфликтов репликации можно определить свою собственную программную логику. После этого итоговый вариант данных передается подписчикам.
В качестве классического примера такой репликации приводится несколько равноправных магазинов, которые имеют право работать с общим складом. Изменять информацию (забирать товар со склада) имеет право каждый магазин, и каждый магазин должен получить после этого итоговую информацию о состоянии склада. Но, конечно, это скорее теоретический пример. В большинстве реальных ситуаций во избежание конфликтов эта задача будет решаться по-другому.
Еще одна ситуация, для которой предназначена репликация слиянием, — репликация центральной базы данных SQL Server 2005 с базами данныхSQL Server Mobile на наладонных компьютерах (например, торговых представителей). Фактически это вариант предыдущего примера, но более приближенный к реальной жизни.