Я занимаюсь POC по репликации базы данных, и у меня есть вопрос от моего начальника. Блокируется ли база данных, когда она находится в процессе репликации на SQL Server 2005?
Поскольку вы говорите о «репликации» в очень общем смысле, я предполагаю, что вы, вероятно, не полностью исследовали функциональность репликации в SQL Server 2005.
В SQL Server существуют различные «разновидности» технологий репликации (издатель / подписчик, зеркальное отображение базы данных и т. Д.). В зависимости от того, что вы пытаетесь сделать, вы можете выбрать одну стратегию репликации вместо другой (например, масштабируемость или доступность). Ваши требования к задержке репликации, потребности в пропускной способности и желаемые накладные расходы - все это повлияет на ваш выбор.
Изучение различных стратегий репликации для начала, вероятно, будет вашим лучшим выбором.
Я не специалист по MS SQL Server, но это может быть вам интересно.
количество блокировок во время создания моментальных снимков для репликации транзакций в SQL2005 значительно сокращено по умолчанию, и вы можете еще больше уменьшить их, используя новый метод sync_method «моментальный снимок базы данных», если вы используете Enterprise Edition.
Это зависит от типа репликации, которую вы используете, для получения дополнительной информации см. http://msdn.microsoft.com/en-us/library/ms152531.aspx
То, что именно происходит во время репликации, зависит от того, какой тип репликации вы выполняете, однако база данных хоста не должна быть заблокирована. В случае доставки журналов сервер, на который отправляется журнал, будет заблокирован во время восстановления, несмотря ни на что, однако вы можете настроить его только для чтения и доступа, когда восстановление не выполняется. При зеркалировании вы должны иметь возможность запускать запросы (выбирать) к своему зеркальному (вторичному) серверу в любое время.
вам нужно лучше определить, что вы имеете в виду под следующими словами: репликация, процесс и блокировка.
«Блокировка» внутри sql-сервера - нормальная часть его работы. Прочтите это для ускоренного курса http://www.sqlteam.com/article/introduction-to-locking-in-sql-server