Главная » Microsoft SQL Server, Базы данных » Создание публикаций репликации снимков базы данных – ЧАСТЬ 1

0

Для создания публикаций репликации снимков баз данных подключитесь к своему серверу SDQL Server в Management Studio, разверните папку публикаций, щелкните правой кнопкой мыши на папке Local Publications и выберите в контекстном меню пункт New Publication. В открывшемся мастере новых публикаций щелкните на кнопке Next. Выберите базу данных, которую хотите реплицировать, и снова щелкните на кнопке Next. Выберите установленный по умолчанию тип публикации — Snapshot Publication — и щелкните на кнопке Next. В открывшемся диалоговом окне выберите типы объектов, щелкая на них. При желании вы можете разворачивать папки типов объектов и выбирать отдельные объекты (например, щелкнуть на типе Tables и выбрать для репликации отдельные таблицы).

Если вы углубились до уровня отдельных столбцов, как на рис. 39.4, можете снять выделение с них.

Рис. 39.4. У вас всегда есть возможность выбрать статью и помещаемые в нее столбцы

Вы можете определить, какие столбцы не должны реплицироваться подписчикам, снимая с них выделение. Этот процесс называют вертикальной фильтрацией или вертикальным разделением. На рис. 39.4 выделены все столбцы — эта установка используется по умолчанию.

Щелкнув на кнопке Article Properties, вы можете изменить параметры статьи (например, имя владельца и даже имя статьи, какой она будет представлена подписчику).

После выбора реплицируемых объектов щелкните на кнопке Next.

Может открыться диалоговое окно Article Issues с предупреждениями о проблемах, которые могут возникнуть при развертывании подписки. Например, если вы публикуете представления или хранимые процедуры, то можете получить предупреждение о том, что следует создать для них базовые объекты в базах данных подписчиков. При репликации индексированных представлений вы можете получить предупреждение о том, что данный тип объектов поддерживается только версией SQL Server 2000 Enterprise Edition и более поздними.

Щелкните на кнопке Next, чтобы открыть диалоговое окно Filter Table Rows. В этом диалоговом окне вам предоставляется возможность установить в реплицируемых таблицах и представлениях горизонтальную фильтрацию (или горизонтальное разделение). Вы можете принять решение реплицировать только часть строк — например, имеющих отношение к определенному региону страны. Для этого вы должны щелкнуть на кнопке Add и выбрать таблицу или статью, подлежащую фильтрации. После этого следует щелкнуть на столбце, который будет служить основой для фильтрации. В фильтре вы можете использовать множество столбцов, разделяя условия булевыми операторами. Например, условие фильтра может выглядеть следующим образом:

SELECT <published_columns> FROM [Person].[Address]

WHERE [StateProvincelD]=5 and[ModifiedDate] > getdateO -365

В приведенном примере выполняется фильтрация клиентов, живущих в штате Калифорния (в предположении, что идентификатор этого штата равен пяти). Фильтр может также включать в себя системные функции, такие как SUSER () , HOST_NAME (), и системные переменные, такие как @@ServerName. Следует обратить внимание, что функция HOST_NAME () разрешает имена узлов в пределах одного кластера и инициализирует соответствующий агент. Чтобы это имя разрешалось для подписчиков, следует использовать переменную @@ServerName и подписку по требованию. Если используется принудительная подписка, то будет разрешаться имя издателя или распространителя.

Щелкните на кнопке Next, чтобы открыть окно Snapshot Agent. В этом окне вам будет предложено создать расписание, по которому будут генерироваться снимки базы данных. Например, можно настроить подписку так, чтобы снимки генерировались в нерабочее время, поскольку этот процесс является ресурсоемким и может отрицательно сказаться на производительности.

SQL Server 2005 предлагает большую гибкость снимков баз данных. По умолча- Новинка 1 нию первый снимок генерируется сразу же после завершения работы мастера, 2005^                   т.е. вам не придется ждать, пока данные станут доступными. Однако этот новый

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

Щелкните на кнопке Next, чтобы открыть диалоговое окно системы безопасности. В этом окне вы должны указать, какую учетную запись следует использовать для генерации снимка. Здесь значения по умолчанию не предлагаются — выберите ту учетную запись, которую считаете нужной. Щелкните на кнопке Security Settings, чтобы открыть диалоговое окно, показанное на рис. 39.5.

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

Вы можете запускать агент снимков под учетной записью Windows или SQL Server Agent (по умолчанию в SQL Server 2000 предлагалась именно она). Вы можете выбрать учетную запись, под которой будет запускаться агент снимков при подключении к издателю. В SQL Server 2000 ею должна была быть запись системного администратора. Некоторые администраторы считают, что это предоставляет агенту снимков слишком много возможностей, поэтому в версии SQL Server 2005 вы имеете возможность выбора для него учетной записи с более низкими привилегиями.

Рис. 39.5. Для настройки учетной записи, используемой при репликации, используйте это диалоговое окно

Рекомендуется использовать учетную запись Windows, так как она имеет более высокий уровень шифрования, чем доступный при использовании учетной записи SQL Server.

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

Теперь можете создать подписки на эту публикацию. Этот вопрос мы обсудим в разделе “Создание подписок”.

Создание публикаций репликации транзакций

Создание публикаций репликации транзакций очень похоже на создание публикации снимков базы данных. Для этого в Management Studio подключитесь к SQL Server, разверните папку Replication, щелкните правой кнопкой мыши на папке Local Publications и выберите в контекстном меню пункт New Publicztion. В открывшемся окне мастера публикаций щелкните на кнопке Next. В следующем окне выберите базу данных, публикации которой требуется создать, и щелкните на кнопке Next. В открывшемся окне выбора типа публикации выберите тип Transactional Publication и щелкните на кнопке Next. В следующем окне развернется список типов публикуемых объектов, аналогичный показанному на рис. 39.4.

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

Чтобы изменить параметры статьи, щелкните на кнопке Article Properties. В открывшемся диалоговом окне (рис. 39.6) вы можете определить, как именно статьи будут реплицироваться подписчикам.

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

Puc. 39.6. Диалоговое окно параметров статьи

Если реплицируемый объект уже существует у подписчика, вы можете выполнить одно из действий:

?               удалить существующий объект и создать новый (данный вариант предлагается по умолчанию);

?               сохранить существующий объект неизмененным;

?               удалить данные; если в статье установлен фильтр строк, удалить только данные, соответствующие фильтру;

?               удалить все данные в существующем объекте.

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

Вы можете также использовать сгенерированную системой хранимую процедуру с заданным системой именем или присвоить ей новое по собственному усмотрению. Также вы можете выбрать способ репликации транзакции: использовать хранимую процедуру в формате CALL (этот формат реплицирует все столбцы, независимо от того, изменены они или нет, — он доступен только для процедур вставки и удаления) или в формате XCALL (этот формат позволяет реплицировать только измененные столбцы — он доступен только в процедурах обновления); создать инструкции DML (INSERT, UPDATE или DELETE) без имен столбцов или с ними или выбрать вариант без репликации инструкций.

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

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии