방법: 비관리자의 복제 모니터 사용 허용(복제 Transact-SQL 프로그래밍)
복제 토폴로지를 모니터링하는 기능은 배포 데이터베이스의 sysadmin 고정 서버 역할, db_owner 고정 데이터베이스 역할 및 replmonitor 고정 데이터베이스 역할을 통해서만 사용할 수 있습니다. 시스템 저장 프로시저를 사용하여 프로그래밍 방식으로 replmonitor 고정 데이터베이스 역할에 사용자를 추가할 수 있습니다.
replmonitor 고정 데이터베이스 역할에 사용자를 추가하려면
배포 데이터베이스의 배포자에서 sp_helpuser(Transact-SQL)를 실행합니다. 사용자가 결과 집합의 UserName에 나열되어 있지 않은 경우 CREATE USER(Transact-SQL) 문을 사용하여 사용자에게 배포 데이터베이스에 대한 액세스 권한을 부여해야 합니다.
배포 데이터베이스의 배포자에서 sp_helprolemember(Transact-SQL)를 실행합니다. 이때 @rolename 매개 변수 값을 replmonitor로 지정합니다. 사용자가 결과 집합의 MemberName에 나열되어 있지 않으면 해당 사용자는 이미 이 역할에 속해 있는 것입니다.
사용자가 replmonitor 역할에 속해 있지 않으면 배포 데이터베이스의 배포자에서 sp_addrolemember(Transact-SQL)를 실행합니다. @rolename에 replmonitor 값을 지정하고 @membername에는 추가할 데이터베이스 사용자 또는 Microsoft Windows 로그인의 이름을 지정합니다.
replmonitor 고정 데이터베이스 역할에서 사용자를 제거하려면
사용자가 replmonitor 역할에 속해 있는지 확인하려면 배포 데이터베이스의 배포자에서 sp_helprolemember(Transact-SQL)를 실행하고 @rolename 값으로 replmonitor를 지정합니다. 사용자가 결과 집합의 MemberName에 나열되어 있지 않으면 해당 사용자는 현재 이 역할에 속해 있지 않은 것입니다.
사용자가 replmonitor 역할에 속해 있으면 배포 데이터베이스의 배포자에서 sp_droprolemember(Transact-SQL)를 실행합니다. @rolename에 replmonitor 값을 지정하고 @membername에는 제거할 데이터베이스 사용자 또는 Windows 로그인의 이름을 지정합니다.