powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Реплика vs. INSERT, UPDATE, DELETE
8 сообщений из 8, страница 1 из 1
Реплика vs. INSERT, UPDATE, DELETE
    #32013441
Всем привет !!!!

SQL 2000 Publisher, SQL CE Subscriber, Merge replication
Вопрос1: как блокируется таблица при синхронизации ??

Есть хранимая процедура, которая раз в 5 мин закачивает в таблицы данные.
Вопрос2: Возможна ли взаимная блокировка таблицы процедурой и процессом синхронизации ??

Спасибо
...
Рейтинг: 0 / 0
Реплика vs. INSERT, UPDATE, DELETE
    #32013510
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица при синхронизации блокируется на чтение (Shared lock), что делает невозможным обновление данных на все время подготовки initial snapshot. В 7.0 для больших БД период синхронизации может длиться часами. 2000-й для этого применяет другой алгоритм: он не блокирует сами данные, а ставит метку в журнале транзакций на время ее начала. Таким образом snapshot в 2000-м представляет собой мгновенный снимок данных на начало синхронизации (заведомо inconsistent) + вырезка из журнала транзакций, содержащая все изменения, которые произошли с публикацией за время чтения, которую он накатывает на снимок уже на подписчике. Таким образом, взаимная блокировка между процессом синхронизации и пользовательскими процессами модификации данных теоретически невозможна. На практике я с ней также не сталкивался.
...
Рейтинг: 0 / 0
Реплика vs. INSERT, UPDATE, DELETE
    #32013517
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед Маздай, спасибо! Меня этот вопрос тоже интересовал.
...
Рейтинг: 0 / 0
Реплика vs. INSERT, UPDATE, DELETE
    #32013597
Давно мучаюший меня вопрос решен, Спасибо.

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

Спасибо

зюыю извините, может ламерский вопрос
...
Рейтинг: 0 / 0
Реплика vs. INSERT, UPDATE, DELETE
    #32013622
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, snapshot строится сам, как и в 7.0 и share locks также честно накладываются. Использование лога просто позволяет это время сократить. Или Вы под синхронизацией понимаете сами merges с последующим разбором конфликтов? В какой-то Microsoftовской whitepaper, посвященной сравнению производительности merge replication в 2000-м и 7.0, я видел следующие цифры:
Merges per second SQL 7.0 SP2 SQL2000
Download inserts 82 279
Download deletes 39 124
Download updates 88 201
Upload inserts 92 480
Upload deletes 86 337
Upload updates 87 273
...
Рейтинг: 0 / 0
Реплика vs. INSERT, UPDATE, DELETE
    #32013624
Или Вы под синхронизацией понимаете сами merges с последующим разбором конфликтов?
Да. У меня работает порядка 100-120 subscriber-ов на SQL CE через фильтры. Интересует такой вопрос, когда subscriber начинает синхронизацию ( сам merges ), это позволяет определеный MS-овский COM объект, на сервере произходит "вырезание" данных из лог файла или построение snapshota для данного subscriber-а ?? ( Я не имею в виду snapshot, который строится при создании репликации )

Извините за вопросы, но я так понимаю Вы довольно хорошо знаете тонкости SQL сервера.
Еще один вопрос Что может вызывать ощибку при синхронизации данных на SQL CE .
Error Nr. 28037 HttpSendRequest failed; HRESULT has more detail.

Спасибо.
...
Рейтинг: 0 / 0
Реплика vs. INSERT, UPDATE, DELETE
    #32013658
Фотография Дед Маздай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Нет конечно, в этом случае snapshot не строится. При merge replication (в отличие от транзакционной) передается только след того, что данные были изменены. Ни первоначальные значения, ни в какой транзакции эти изменения произошли, ни какие еще данные были изменены в той же транзакции merge replication по большому счету не волнуют. Поэтому блокировки здесь короче и по диапазону данных, и по времени наложения. Из этих соображений я делаю вывод, что хотя блокировки на update при слиянии изменений теоретически могут вызывать deadlock'и с пользовательским приложением, вероятность этого незначительна. Это, если хотите, качественная оценка, но это все, что я могу подсказать в данной ситуации, не видя ни конфигурации тиражирования, ни этого пресловутого пользовательского приложения.

2. По поводу HttpSendRequest failed. Мне кажется, что SQL Server здесь ни при чем. Проверьте свои сетевые настройки. На чем у Вас стоит SQL CE? Большой SQL Server и IIS на одной машине? На ней статический IP? Что показывает ActiveSync в Network Connection? Посмотрите статью HOWTO: Load Host Entries into Windows CE Device (Q199370) в Knowledhe Base.
...
Рейтинг: 0 / 0
Реплика vs. INSERT, UPDATE, DELETE
    #32013785
Cпасибо огромное.

На чем у Вас стоит SQL CE? > SQL CE установлен на iPAQ Pocket PC от Compaq
Большой SQL Server и IIS на одной машине? Да на одной, 2 x XEON 500Hz 800 Mb
На ней статический IP? Статический.

Запрос с iPAQ отправляется на IP адрес. Конект идет по GSM линии через провайдера ( 9600 kb ).
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Реплика vs. INSERT, UPDATE, DELETE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]