We have a SQL Server with about 15 databases and about 60 + users accessing any of these databases. Each database is designed to serve different data set (meaning - we have multiple roles in each database). one user can access as many as all database (1 or 2 or any number upto 15). Users typically run the workflows which includes access to multiple databases usually 3-4 databases at a time. During peak time multiple users run similar workflows accessing many databases.
Out of 15 databases, we have 5 databases with heavy load, for rest of them it is nominal load.
Recently we started experiencing high CPU and memory issues on this server and we are planing to implement SQL Server Resource governor.
Below is my requirement (and questions) for SQL Server Resource Governor : 1. I like to restrict any single user take more CPU (let say more than 60%) at any time.
If I put users in a single resourse group based on database or role - how that will impact other users in the same group. For example - if we have 3 users in a group and user-1 started the process and it max out the CPU for that group and when other users start their own process - what will be the impact?
Is is better to configure based on : a. per database b. per role c. per user d. any other suggestion?
Can anyone provide a typical approach for the following case: 3 users have access to 3 databases and they all are heavy users and runs jobs at the same time - what is the best way to configure this scenario.
Any suggestions are welcome also let me know if you need any other information to answer in better manner.
I like to understand - if we put multiple users on the single resource group - how memory and CPU will be allocated within them. For example if one user in resouce group start a heavy workflow and takes about max cpu and then other users (let say 5 other users) starts their processes - 1. will they be able to run queries ? 2. How memory / CPU will be allocated between each users in the resource group (here between 6 users).