Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Реплика vs. INSERT, UPDATE, DELETE
|
|||
|---|---|---|---|
|
#18+
Всем привет !!!! SQL 2000 Publisher, SQL CE Subscriber, Merge replication Вопрос1: как блокируется таблица при синхронизации ?? Есть хранимая процедура, которая раз в 5 мин закачивает в таблицы данные. Вопрос2: Возможна ли взаимная блокировка таблицы процедурой и процессом синхронизации ?? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2001, 09:06 |
|
||
|
Реплика vs. INSERT, UPDATE, DELETE
|
|||
|---|---|---|---|
|
#18+
Таблица при синхронизации блокируется на чтение (Shared lock), что делает невозможным обновление данных на все время подготовки initial snapshot. В 7.0 для больших БД период синхронизации может длиться часами. 2000-й для этого применяет другой алгоритм: он не блокирует сами данные, а ставит метку в журнале транзакций на время ее начала. Таким образом snapshot в 2000-м представляет собой мгновенный снимок данных на начало синхронизации (заведомо inconsistent) + вырезка из журнала транзакций, содержащая все изменения, которые произошли с публикацией за время чтения, которую он накатывает на снимок уже на подписчике. Таким образом, взаимная блокировка между процессом синхронизации и пользовательскими процессами модификации данных теоретически невозможна. На практике я с ней также не сталкивался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2001, 08:50 |
|
||
|
Реплика vs. INSERT, UPDATE, DELETE
|
|||
|---|---|---|---|
|
#18+
Дед Маздай, спасибо! Меня этот вопрос тоже интересовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2001, 10:06 |
|
||
|
Реплика vs. INSERT, UPDATE, DELETE
|
|||
|---|---|---|---|
|
#18+
Давно мучаюший меня вопрос решен, Спасибо. Хотел уточнить еще один маленький вопрос. По тому что я прочитал ниже, получается перед каждой синхронизацией, необходимо строить snapshot для того чтобы subscriber получил свежие данные. Или же snapshot сам строится на основе лога ?? Спасибо зюыю извините, может ламерский вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2001, 08:56 |
|
||
|
Реплика vs. INSERT, UPDATE, DELETE
|
|||
|---|---|---|---|
|
#18+
Нет, 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2001, 14:09 |
|
||
|
Реплика vs. INSERT, UPDATE, DELETE
|
|||
|---|---|---|---|
|
#18+
Или Вы под синхронизацией понимаете сами 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. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2001, 14:40 |
|
||
|
Реплика vs. INSERT, UPDATE, DELETE
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2001, 10:28 |
|
||
|
Реплика vs. INSERT, UPDATE, DELETE
|
|||
|---|---|---|---|
|
#18+
Cпасибо огромное. На чем у Вас стоит SQL CE? > SQL CE установлен на iPAQ Pocket PC от Compaq Большой SQL Server и IIS на одной машине? Да на одной, 2 x XEON 500Hz 800 Mb На ней статический IP? Статический. Запрос с iPAQ отправляется на IP адрес. Конект идет по GSM линии через провайдера ( 9600 kb ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2001, 12:19 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32013622&tid=1825596]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 324ms |

| 0 / 0 |
