Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Roust_m Member Откуда: Сидней Сообщений: 1166 |
Добрый день, Пытаюсь создать публикацию, чтобы ее можно было ре-инициализировать без залочивания таблиц и создания блокировок на публикующей базе. Использую опцию: @sync_method= 'concurrent'. При этом хотелось бы иметь возможность добавить таблицу в публикацию реинициализировать только эту таблицу. Однако это невозможно, ибо при попытке добавить таблицу в публикацию получаю:
Использую следующий код: select @sql = 'USE ' + @publicationDB + ' EXEC sp_addarticle @publication = ''' + @publicationName + ''', @article = ''' + @objectName + ''', @source_object = ''' + @objectName + ''', @source_owner = ''' + @objectSchema + ''', @schema_option = 0x80030F3, @vertical_partition = N''true'', @type = N''logbased'';' exec sp_executesql @sql select @sql = 'USE ' + @publicationDB + ' EXEC sp_addsubscription @publication = ''' + @publicationName + ''', @article = ''' + @objectName + ''', @subscriber = ''' + @subscriberServerName + ''', @destination_db = ''' + @subscriberDatabaseName + ''', @sync_type = N''automatic'', @subscription_type = N''push'';' exec sp_executesql @sql Вопрос, как можно максимально совместить возможность инициализации только одной таблицы и минимальное залочивание на публикующей базе? Может вместо 'concurrent' использовать 'database snapshot'? |
||
27 май 17, 21:59 [20517428] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |