Chapter 10. SQL Remote Administration

The userid is a user with CONNECT permissions on the current database.

For example, the following statement grants PUBLISH permissions to user

S_Beaulieu:

exec sp_publisher ’S_Beaulieu’ go

The database is set to have no publisher by executing the sp_publisher procedure with no argument:

exec sp_publisher go

Notes on PUBLISH To see the publisher user ID for an Adaptive Server Anywhere database

permissionsoutside Sybase Central, use the CURRENT PUBLISHER special constant. The following statement retrieves the publisher user ID:

SELECT CURRENT PUBLISHER

To see the publisher user ID for an Adaptive Server Enterprise database, use the following statement:

SELECT name FROM sysusers

WHERE uid = ( SELECT user_id FROM sr_publisher )

go

If PUBLISH permissions is granted to a user ID with GROUP permissions, it is not inherited by members of the group.

PUBLISH permissions carry no authority except to identify the publisher in outgoing messages.

For messages sent from the current database to be received and processed by a recipient, the publisher user ID must have REMOTE or CONSOLIDATE permissions on the receiving database.

The publisher user ID for a database cannot also have REMOTE or CONSOLIDATE permissions on that database. This would identify them as both the sender of outgoing messages and a recipient of such messages.

Changing the user ID of a publisher at a remote database will cause serious problems for any subscriptions that database is involved in, including loss of information. You should not change a remote database publisher user ID unless you are prepared to resynchronize the remote user from scratch.

Changing the user ID of a publisher at a consolidated database while a SQL Remote setup is operating will cause serious problems, including

203

Page 221
Image 221
Sybase DC38133-01-0902-01 manual Exec sppublisher ’SBeaulieu’ go