Guy Thornton
2007-05-30 12:14:00 UTC
I have an application setup with a server acting as Publisher/Distributor and
I have about 60 clients setup as subscribers with merge replication. My
application uses the SQL Merge COM Objects to execute the Merge Replication.
In the application, I have each user login to the publisher with their SQL
Server DB logins/passwords and are using Anonymous Subscriptions. The table
structures of this application also includes identity columns, so in order to
properly execute Automatic Identity Range management, I included all of my
users in the sysadmin role.
My question is, when the user executes merge replication, what user id is
actually performing the inserts, updates and deletes at the server?
My fear is that because all the users are in the sysadmin role, all of their
database transactions are being executed on the server as dbo. We have audit
triggers on all of our db tables so that whenever any user makes a data
change, an audit record is created automatically. We are starting to see our
audit records having dbo as the operator performing these functions.
Can anyone shed some light on how the merge agent executes? And also, if my
assumptions are correct, how can I force the logged in user to be recognized
as the one performing the transactions?
Sorry for the long post....but it is a complicated question.
I have about 60 clients setup as subscribers with merge replication. My
application uses the SQL Merge COM Objects to execute the Merge Replication.
In the application, I have each user login to the publisher with their SQL
Server DB logins/passwords and are using Anonymous Subscriptions. The table
structures of this application also includes identity columns, so in order to
properly execute Automatic Identity Range management, I included all of my
users in the sysadmin role.
My question is, when the user executes merge replication, what user id is
actually performing the inserts, updates and deletes at the server?
My fear is that because all the users are in the sysadmin role, all of their
database transactions are being executed on the server as dbo. We have audit
triggers on all of our db tables so that whenever any user makes a data
change, an audit record is created automatically. We are starting to see our
audit records having dbo as the operator performing these functions.
Can anyone shed some light on how the merge agent executes? And also, if my
assumptions are correct, how can I force the logged in user to be recognized
as the one performing the transactions?
Sorry for the long post....but it is a complicated question.