Quantcast
Channel: Terence Luk
Viewing all articles
Browse latest Browse all 836

Microsoft Lync Server 2013 Enterprise Pool Database Permissions

$
0
0

As with one of my previous posts for Microsoft Lync Server 2010 where I documented the permissions for the databases created on the back-end server for a Lync Server 2013 pool:

Microsoft Lync Server 2010 Enterprise Pool SQL Database Permissions
http://terenceluk.blogspot.com/2011/01/microsoft-lync-server-2010-enterprise_31.html

… this post serves to do the same for the new Lync Server 2013.

Upon successfully deploying Lync Server 2013, the following databases are created:

  • cpsdyn
  • rgsconfig
  • rgsdyn
  • rtcab
  • rtcshared
  • rtcxds

image

The following screenshots show the accounts assigned to these databases:

  • cpsdyn

image

  • rgsconfig

image

  • rgsdyn

image

  • rtcab

image

  • rtcshared

image

  • rtcxds

image

Logins

The following are logins created for the SQL server:

  • RTCComponentUniversalServices
  • RTCHSUniversalServices
  • RTCUniveresalReadOnlyAdmins
  • RTCUniversalServerAdmins

image

The method I usually use to do a quick audit of databases is actually to execute the stored procedure: sp_helplogins which will allow me to quickly have a look at which account has what permissions. With that being said, since there may be administrators reading this post who are not familiar with SQL, I will paste the screenshots for the properties of each login before I paste the table:

RTCComponentUniversalServices

imageimage

imageimage

imageimage

**Note that you should ignore the mgs database because that belongs to a Persistent Chat (the new Group Chat) deployment.

RTCHUniversalServices

imageimage

imageimage

RTCUniversalReadOnlyAdmins

imageimage

imageimage

imageimage

RTCUniversalServerAdmins

imageimage

imageimage

imageimage

As I mentioned earlier, the method I usually use to perform a quick audit of databases is actually to execute the stored procedure: sp_helplogins which will allow me to quickly have a look at which account has what permissions. The following is what the tables look like when you execute the stored procedure:

image

The table of interest in the 2 above is the second one at the bottom where it will list out all the services and their respective role membership. The following is the table copy and pasted into a table:

LoginNameDBNameUserNameUserOrAlias
##MS_AgentSigningCertificate##master##MS_AgentSigningCertificate##User   
##MS_PolicyEventProcessingLogin##master##MS_PolicyEventProcessingLogin##User   
##MS_PolicyEventProcessingLogin##msdb##MS_PolicyEventProcessingLogin##User   
##MS_PolicyEventProcessingLogin##msdbPolicyAdministratorRoleMemberOf
##MS_PolicyTsqlExecutionLogin##msdb##MS_PolicyTsqlExecutionLogin##User   
##MS_PolicyTsqlExecutionLogin##msdbPolicyAdministratorRoleMemberOf
METALS\RTCComponentUniversalServicescpsdynMETALS\RTCComponentUniversalServicesUser   
METALS\RTCComponentUniversalServicescpsdynReadWriteRoleMemberOf
METALS\RTCComponentUniversalServicesmgcMETALS\RTCComponentUniversalServicesUser   
METALS\RTCComponentUniversalServicesmgcServerRoleMemberOf
METALS\RTCComponentUniversalServicesrgsconfigMETALS\RTCComponentUniversalServicesUser   
METALS\RTCComponentUniversalServicesrgsconfigReadWriteRoleMemberOf
METALS\RTCComponentUniversalServicesrgsdynMETALS\RTCComponentUniversalServicesUser   
METALS\RTCComponentUniversalServicesrgsdynReadWriteRoleMemberOf
METALS\RTCComponentUniversalServicesrtcabMETALS\RTCComponentUniversalServicesUser   
METALS\RTCComponentUniversalServicesrtcabServerRoleMemberOf
METALS\RTCHSUniversalServicesrtcsharedMETALS\RTCHSUniversalServicesUser   
METALS\RTCHSUniversalServicesrtcsharedServerRoleMemberOf
METALS\RTCHSUniversalServicesrtcxdsConsumerRoleMemberOf
METALS\RTCHSUniversalServicesrtcxdsMETALS\RTCHSUniversalServicesUser   
METALS\RTCHSUniversalServicesrtcxdsPublisherRoleMemberOf
METALS\RTCHSUniversalServicesrtcxdsReplicatorRoleMemberOf
METALS\RTCUniversalReadOnlyAdminscpsdynMETALS\RTCUniversalReadOnlyAdminsUser   
METALS\RTCUniversalReadOnlyAdminscpsdynReadOnlyRoleMemberOf
METALS\RTCUniversalReadOnlyAdminsrgsconfigMETALS\RTCUniversalReadOnlyAdminsUser   
METALS\RTCUniversalReadOnlyAdminsrgsconfigReadOnlyRoleMemberOf
METALS\RTCUniversalReadOnlyAdminsrgsdynMETALS\RTCUniversalReadOnlyAdminsUser   
METALS\RTCUniversalReadOnlyAdminsrgsdynReadOnlyRoleMemberOf
METALS\RTCUniversalReadOnlyAdminsrtcxdsConsumerRoleMemberOf
METALS\RTCUniversalReadOnlyAdminsrtcxdsMETALS\RTCUniversalReadOnlyAdminsUser   
METALS\RTCUniversalServerAdminscpsdynMETALS\RTCUniversalServerAdminsUser   
METALS\RTCUniversalServerAdminscpsdynReadWriteRoleMemberOf
METALS\RTCUniversalServerAdminsrgsconfigMETALS\RTCUniversalServerAdminsUser   
METALS\RTCUniversalServerAdminsrgsconfigReadWriteRoleMemberOf
METALS\RTCUniversalServerAdminsrgsdynMETALS\RTCUniversalServerAdminsUser   
METALS\RTCUniversalServerAdminsrgsdynReadWriteRoleMemberOf
METALS\RTCUniversalServerAdminsrtcxdsMETALS\RTCUniversalServerAdminsUser   
METALS\RTCUniversalServerAdminsrtcxdsPublisherRoleMemberOf
sacpsdyndb_ownerMemberOf
sacpsdyndboUser   
samasterdb_ownerMemberOf
samasterdboUser   
samgcdb_ownerMemberOf
samgcdboUser   
samodeldb_ownerMemberOf
samodeldboUser   
samsdbdb_ownerMemberOf
samsdbdboUser   
sargsconfigdb_ownerMemberOf
sargsconfigdboUser   
sargsdyndb_ownerMemberOf
sargsdyndboUser   
sartcabdb_ownerMemberOf
sartcabdboUser   
sartcshareddb_ownerMemberOf
sartcshareddboUser   
sartcxdsdb_ownerMemberOf
sartcxdsdboUser   
satempdbdb_ownerMemberOf
satempdbdboUser   

If you’re not familiar with the table and the cells, try reconciling it with the following examples:

image image

Notice how I opened up the User Mapping for the account RTCUniversalServices under the database rtcshared and you see how only ServerRole was checked?

Hope this helps anyone that may come across a problem where their Lync Server 2013 front-end pool’s database permissions has been tampered with or modified unintentionally and needs to reference default settings.


Viewing all articles
Browse latest Browse all 836

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>