Я пытаюсь понять, как работает репликация SQL Server 2005, и я смотрю на представления под названием Msmerge_[Publication]_[Table]_VIEW
. Кажется, что эти представления определяют фильтры слияния и довольно просты, за исключением одной строки sql в предложении WHERE
:
AND ({fn ISPALUSER('1A381615-B57D-4915-BA4B-E16BF7A9AC58')} = 1)
Что делает функция ISPALUSER? Кажется, я нигде не могу найти его ни по функциям в студии управления, ни по упоминанию об этом в Интернете.
(Причина, по которой я смотрю на эти представления, заключается в том, что у нас возникает проблема с производительностью, когда клиент реплицирует новые записи. Sql, например, if not exists (select 1 from [MSmerge_[Publication]_[Table]_VIEW] where [rowguid] = @rowguid)
работает и занимает 10+ секунд на строку , что умышленно убивает производительность, когда у вас больше, чем пара строк идет вверх)