Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Реплика vs. INSERT, UPDATE, DELETE / 8 сообщений из 8, страница 1 из 1
04.09.2001, 09:06
    #32013441
Реплика vs. INSERT, UPDATE, DELETE
Всем привет !!!!

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

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

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

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

Спасибо

зюыю извините, может ламерский вопрос
...
Рейтинг: 0 / 0
06.09.2001, 14:09
    #32013622
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реплика vs. INSERT, UPDATE, DELETE
Нет, 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
06.09.2001, 14:40
    #32013624
Реплика vs. INSERT, UPDATE, DELETE
Или Вы под синхронизацией понимаете сами 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
07.09.2001, 10:28
    #32013658
Дед Маздай
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реплика vs. INSERT, UPDATE, DELETE
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
10.09.2001, 12:19
    #32013785
Реплика vs. INSERT, UPDATE, DELETE
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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Реплика vs. INSERT, UPDATE, DELETE / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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