Faccio un esempio. Un'istanza di SQL Server contiene 2 DB, uno utilizzato dal principale software aziendale per il core business, l'altro per attività a bassissima priorità, per esempio reportistica.
Potrebbe accadere che il carico di lavoro prodotto per reperire i dati della reportistica tolga molte risorse al DB principale, rallentanto il core business aziendale.
Il Resource Governor protrebbe fare in modo che l'attività di reportistica non "rubi" risorse all'attività principale.
Vediamo come configurarlo utilizzando il codice T-SQL, così anche i sistemisti dalle dita pigre potranno impostarlo tranquillamente ;-)
La prima cosa da fare è creare una tabella contenente tutti i login che si desidera associare ad un workload group ed una funzione di classificazione usata dal Resource Governor per determinare a quale workload group il login che si connette dovrà essere associato
Use Master GO Create table dbo.TabLoginWorkload ( LogOnName varchar(50), WorkLoadName varchar(50) ) Go Insert into TabLoginWorkload Values('CoreBusinessLogin','MaxResource') ,('ReporttLogin','MinResource') Go Create Function dbo.uf_RG_ClassifierFunction() returns sysname with Schemabinding as begin Return (Select WorkLoadName from dbo.TabLoginWorkload where LogOnName = suser_sname()) End Go
Per comodità ho creato 2 SQL Login di test denominati [CoreBusinessLogin] e [ReporttLogin].
Ora è necessario configurare il resource Pool, seguito dalla configurazione del workload group
Create Resource Pool Pool_MaxResource with ( Min_Cpu_Percent=70, Max_Cpu_Percent=100, Min_Memory_Percent=70, Max_Memory_Percent=100 ) GO Create Resource Pool Pool_MinResource with ( Min_Cpu_Percent=0, Max_Cpu_Percent=10, Min_Memory_Percent=0, Max_Memory_Percent=25 ) GO Create Workload Group MaxResource USING Pool_MaxResource ; GO Create Workload Group MinResource USING Pool_MinResource ; GO
Ora è necessario associare il Resource Governor alla funzione di classificazione e abilitarlo....
Alter Resource Governor with (Classifier_Function = dbo.uf_RG_ClassifierFunction); GO Alter Resource Governor reconfigure GO
Ora da mangement studio apro una connessione utilizzando il login [CoreBusinessLogin] ed una con [ReporttLogin]
Dall'activity Monitor vediamo che i due login sono associati ai 2 workload group configurati in modo da dare sempre la maggiore priorità a [CoreBusinessLogin].
Ciao
Luca
Nessun commento:
Posta un commento