2009-08-05 1 views
0

SQL Server 2005のレプリケーションの仕組みを理解しようとしており、Msmerge_[Publication]_[Table]_VIEWというタイトルのビューを見ています。これらのビューは、マージフィルタを定義するようだ、とWHERE句にSQLの1行を除いて、かなりまっすぐ進むです:Msmerge _ * _ VIEWビューのISPALUSER関数呼び出しは何をしますか?

AND ({fn ISPALUSER('1A381615-B57D-4915-BA4B-E16BF7A9AC58')} = 1) 

ISPALUSER機能は何をしますか?私は管理スタジオの機能の下でどこでもそれを見つけることはできませんし、実際にはWeb上のそれの言及もありません。

(私はこれらのビューを見ていた理由は、クライアントが新しいレコードを複製するとき、我々はパフォーマンスの問題を持っているということである。if not exists (select 1 from [MSmerge_[Publication]_[Table]_VIEW] where [rowguid] = @rowguid)ようなSQL実行しているとあなたobiouslyパフォーマンスを殺す10+秒行あたりを取っています

答えて

1

ユーザーが特別なセキュリティロールMSmerge_PAL_roleにいるかどうかを確認しているように見えます。このセキュリティロールは、複製機能にアクセスできるユーザーを管理しているようです。

したがって、ISPALUSERは、ユーザーがその特定の役割にいるかどうかを確認します。

PALの略語はまだ分かりません。

+0

PALは、公開アクセスリストの略です。 – mwolfe02

関連する問題