Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Alapértelmezés szerint a tömörítés használatával történő biztonsági mentés jelentősen növeli a processzorhasználatot, és a tömörítési folyamat által felhasznált további PROCESSZOR hátrányosan befolyásolhatja az egyidejű műveleteket. Ezért érdemes lehet alacsony prioritású tömörített biztonsági mentést létrehozni egy olyan munkamenetben, amelynek processzorkihasználtságát a Erőforrás-vezérlő korlátozza, amikor CPU terhelés alakul ki. Ez a témakör egy olyan forgatókönyvet mutat be, amely egy adott SQL Server-felhasználó munkameneteit osztályozza egy Resource Governor számítási csoporthoz való hozzárendeléssel, amely korlátozza az ilyen esetekben a processzorhasználatot.
Fontos
Egy adott Resource Governor-forgatókönyvben a munkamenetek besorolása egy felhasználóneven, egy alkalmazásnéven vagy bármi máson alapulhat, amely megkülönbözteti a kapcsolatot. További információ: Erőforrás-kormányzó osztályozó funkció és Erőforrás-kormányzó számítási feladatcsoport.
Ez a témakör a következő forgatókönyveket tartalmazza, amelyek sorrendben jelennek meg:
Bejelentkezés és felhasználó beállítása Low-Priority műveletekhez
Erőforrás-vezérlő konfigurálása a processzorhasználat korlátozásához
Az aktuális munkamenet (Transact-SQL) besorolásának ellenőrzése
Biztonsági másolatok tömörítése korlátozott processzorhasználatú munkamenettel
Bejelentkezés és felhasználó beállítása Low-Priority műveletekhez
A jelen témakör forgatókönyvéhez alacsony prioritású SQL Server-bejelentkezésre és felhasználóra van szükség. A rendszer a felhasználónévvel osztályozza a bejelentkezésben futó munkameneteket, és átirányítja őket egy erőforrás-kormányzó számítási feladatcsoportba, amely korlátozza a processzorhasználatot.
Az alábbi eljárás ismerteti a bejelentkezés és a felhasználó e célra történő beállításának lépéseit, majd egy Transact-SQL példát,"A. példa: Bejelentkezés és felhasználó beállítása (Transact-SQL)."
Bejelentkezési és adatbázis-felhasználó beállítása munkamenetek besorolásához
Hozzon létre egy SQL Server-bejelentkezést alacsony prioritású tömörített biztonsági mentések létrehozásához.
Bejelentkezési fiók létrehozása
Igény szerint adja meg a VIEW SERVER STATE parancsot ehhez a bejelentkezéshez.
További információért lásd: GRANT Adatbázis Kezelő Jogosultságok (Transact-SQL).
Hozzon létre egy SQL Server-felhasználót ehhez a bejelentkezéshez.
Felhasználó létrehozása
Adatbázis-felhasználói létrehozása
Ha engedélyezni szeretné a bejelentkezési munkamenetek és a felhasználó számára egy adott adatbázis biztonsági mentését, adja hozzá a felhasználót az adatbázis db_backupoperator adatbázis-szerepköréhez. Tegye ezt minden olyan adatbázishoz, amelyről a felhasználó biztonsági másolatot készít. Igény szerint vegye fel a felhasználót más rögzített adatbázis-szerepkörökbe.
Felhasználó hozzáadása rögzített adatbázis-szerepkörhöz
További információért lásd: GRANT Adatbázis Kezelő Jogosultságok (Transact-SQL).
A. példa: Bejelentkezés és felhasználó beállítása (Transact-SQL)
Az alábbi példa csak akkor releváns, ha új SQL Server-bejelentkezést és felhasználót hoz létre alacsony prioritású biztonsági mentésekhez. Alternatívaként használhat egy meglévő bejelentkezést és felhasználót, ha van ilyen.
Fontos
Az alábbi példa egy minta bejelentkezést és felhasználónevet használ, domain_name\MAX_CPU. Ezeket cserélje le az alacsony prioritású tömörített biztonsági mentések létrehozásakor használni kívánt SQL Server-bejelentkezés és felhasználó nevére.
Ez a példa létrehoz egy bejelentkezést a domain_name\MAX_CPU Windows-fiókhoz, majd view server state engedélyt ad a bejelentkezéshez. Ez az engedély lehetővé teszi a bejelentkezés munkameneteinek Resource Governor-besorolásának ellenőrzését. A példa ezután létrehoz egy felhasználót a domain_name\MAX_CPU számára, és hozzáadja azt az AdventureWorks2025 mintaadatbázis db_backupoperator rögzített adatbázis-szerepköréhez. Ezt a felhasználónevet a Resource Governor osztályozó függvény fogja használni.
-- Create a SQL Server login for low-priority operations
USE master;
CREATE LOGIN [domain_name\MAX_CPU] FROM WINDOWS;
GRANT VIEW SERVER STATE TO [domain_name\MAX_CPU];
GO
-- Create a SQL Server user in AdventureWorks2022 for this login
USE AdventureWorks2022;
CREATE USER [domain_name\MAX_CPU] FOR LOGIN [domain_name\MAX_CPU];
EXEC sp_addrolemember 'db_backupoperator', 'domain_name\MAX_CPU';
GO
Erőforrás-vezérlő konfigurálása a processzorhasználat korlátozásához
Jegyzet
Győződjön meg arról, hogy a Resource Governor engedélyezve van. További információkért, tekintse meg a Erőforrás-kormányzó engedélyezéserészt.
Ebben az erőforrás-kormányzói forgatókönyvben a konfiguráció a következő alapvető lépéseket tartalmazza:
Hozzon létre és konfiguráljon egy Resource Governor-erőforráskészletet, amely korlátozza az erőforráskészletben lévő kéréseknek a CPU-versengés során megadott maximális átlagos processzor-sávszélességet.
Hozzon létre és konfiguráljon egy erőforrás-kormányzó számítási feladatcsoportot, amely ezt a készletet használja.
Hozzon létre egy osztályozófüggvényt, amely egy felhasználó által definiált függvény (UDF), amelynek visszatérési értékeit a Resource Governor használja a munkamenetek besorolásához, hogy azok a megfelelő számítási feladatcsoporthoz legyenek irányítva.
Regisztrálja az osztályozófüggvényt a Resource Governor segítségével.
Alkalmazza a módosításokat a memóriabeli Resource Governor konfigurációra.
Jegyzet
A Resource Governor erőforráskészletekkel, számítási feladatcsoportokkal és besorolással kapcsolatos információkért lásd Erőforrás-kormányzó.
A Transact-SQL lépésekre vonatkozó utasításokat a "Resource Governor konfigurálása a processzorhasználat korlátozására" című eljárás ismerteti, amelyet az eljárás Transact-SQL példája követ.
A Resource Governor (SQL Server Management Studio) konfigurálása
A Resource Governor konfigurálása a processzorhasználat korlátozásához (Transact-SQL)
Adjon ki egy CREATE RESOURCE POOL utasítást egy erőforráskészlet létrehozásához. Az eljárás példája a következő szintaxist használja:
CREATE RESOURCE POOL [<pool_name>] WITH ( MAX_CPU_PERCENT = /*replace 10 with the actual value*/10 );érték egy 1 és 100 közötti egész szám, amely a maximális átlagos PROCESSZOR-sávszélesség százalékos arányát jelzi. A megfelelő érték a környezettől függ. Az ábrán szereplő példa 20% százalékot használ (MAX_CPU_PERCENT = 20).)
Adjon ki egy SZÁMÍTÁSI FELADATCSOPORT LÉTREHOZÁSA utasítást olyan alacsony prioritású műveletek számítási feladatcsoportjának létrehozásához, amelyek processzorhasználatát szabályozni szeretné. Az eljárás példája a következő szintaxist használja:
CREATE WORKLOAD GROUP [<group_name>] USING [<pool_name>];Adjon ki egy CREATE FUNCTION utasítást egy osztályozó függvény létrehozásához, amely az előző lépésben létrehozott számítási feladatcsoportot az alacsony prioritású bejelentkezés felhasználójának megfelelteti. Az eljárás példája a következő szintaxist használja:
CREATE FUNCTION [<schema_name>].[<function_name>]() RETURNS sysname WITH SCHEMABINDING AS BEGIN DECLARE @workload_group_name AS [<sysname>] IF (SUSER_NAME() = '<user_of_low_priority_login>') SET @workload_group_name = '<workload_group_name>' RETURN @workload_group_name END;A
CREATE FUNCTIONutasítás összetevőiről a következő témakörben olvashat bővebben:-
Fontos
SUSER_NAME csak egy az osztályozó függvényekben használható rendszerfüggvények közül. További információ: Osztályozó User-Defined függvény létrehozása és tesztelése.
Állítjon ki egy ALTER RESOURCE GOVERNOR utasítást az osztályozó függvény Resource Governor-beli regisztrálásához. Az eljárás példája a következő szintaxist használja:
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = [<schema_name>].[<function_name>]);Adjon ki egy második ALTER RESOURCE GOVERNOR utasítást a memóriabeli erőforrás-kormányzó konfigurációjának módosításainak alkalmazásához az alábbiak szerint:
ALTER RESOURCE GOVERNOR RECONFIGURE;
B példa: Erőforrás-kormányzó konfigurálása (Transact-SQL)
Az alábbi példa a következő lépéseket hajtja végre egyetlen tranzakción belül:
Létrehozza a
pMAX_CPU_PERCENT_20erőforráskészletet.Létrehozza a
gMAX_CPU_PERCENT_20számítási feladatcsoportot.Létrehozza a
rgclassifier_MAX_CPU()osztályozó függvényt, amely az előző példában létrehozott felhasználónevet használja.Regisztrálja az osztályozó függvényt a Resource Governorben.
A tranzakció véglegesítése után a példa az ALTER SZÁMÍTÁSI FELADATCSOPORTban vagy az ALTER RESOURCE POOL utasításban kért konfigurációs módosításokat alkalmazza.
Fontos
Az alábbi példa az "A. példa: Bejelentkezés és felhasználó beállítása (Transact-SQL)," domain_name\MAX_CPUcímű példában létrehozott SQL Server-mintafelhasználó felhasználónevet használja. Cserélje le ezt az alacsony prioritású tömörített biztonsági mentések létrehozásához használni kívánt bejelentkezési felhasználó nevére.
-- Configure Resource Governor.
USE master;
-- Create a resource pool that sets the MAX_CPU_PERCENT to 20%.
CREATE RESOURCE POOL pMAX_CPU_PERCENT_20
WITH
(MAX_CPU_PERCENT = 20);
GO
-- Create a workload group to use this pool.
CREATE WORKLOAD GROUP gMAX_CPU_PERCENT_20
USING pMAX_CPU_PERCENT_20;
GO
-- Create a classification function.
-- Note that any request that does not get classified goes into
-- the 'Default' group.
CREATE FUNCTION dbo.rgclassifier_MAX_CPU() RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
DECLARE @workload_group_name AS sysname
IF (SUSER_NAME() = 'domain_name\MAX_CPU')
SET @workload_group_name = 'gMAX_CPU_PERCENT_20'
RETURN @workload_group_name
END;
GO
-- Register the classifier function with Resource Governor.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION= dbo.rgclassifier_MAX_CPU);
COMMIT TRAN;
GO
-- Start Resource Governor
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
Az aktuális munkamenet besorolásának ellenőrzése (Transact-SQL)
Ha szeretné, jelentkezzen be az osztályozó függvényben megadott felhasználóként, és ellenőrizze a munkamenet-besorolást a következő SELECT utasítás kiadásával az Object Explorerben:
USE master;
SELECT sess.session_id, sess.login_name, sess.group_id, grps.name
FROM sys.dm_exec_sessions AS sess
JOIN sys.dm_resource_governor_workload_groups AS grps
ON sess.group_id = grps.group_id
WHERE session_id > 50;
GO
Az eredmények ablaktáblán a név oszlopnak egy vagy több munkamenetet kell felsorolnia az osztályozó függvényben megadott számítási feladatcsoport-névhez.
Jegyzet
A SELECT utasítás által meghívott dinamikus felügyeleti nézetekről további információt a sys.dm_exec_sessions (Transact-SQL) és sys.dm_resource_governor_workload_groups (Transact-SQL)című cikkben talál.
Biztonsági másolatok tömörítése korlátozott processzorhasználatú munkamenet használatával
Ha korlátozott maximális processzorhasználattal rendelkező munkamenetben szeretne tömörített biztonsági másolatot készíteni, jelentkezzen be az osztályozó függvényben megadott felhasználóként. A biztonsági mentési parancsban adja meg a WITH COMPRESSION (Transact-SQL) értéket, vagy válassza a Biztonsági mentés tömörítése (SQL Server Management Studio) lehetőséget. Tömörített adatbázis biztonsági mentésének létrehozásáról a Teljes adatbázis biztonsági mentése (SQL Server)című témakörben olvashat.
C példa: Tömörített biztonsági mentés létrehozása (Transact-SQL)
Az alábbi BACKUP-példa egy újonnan formázott biztonsági mentési fájlban Z:\SQLServerBackups\AdvWorksData.bakhozza létre az AdventureWorks2025-adatbázis tömörített teljes biztonsági mentését.
--Run backup statement in the gBackup session.
BACKUP DATABASE AdventureWorks2022 TO DISK='Z:\SQLServerBackups\AdvWorksData.bak'
WITH
FORMAT,
MEDIADESCRIPTION='AdventureWorks2022 Compressed Data Backups',
DESCRIPTION='First database backup on AdventureWorks2022 Compressed Data Backups media set',
COMPRESSION;
GO
Lásd még:
Osztályozó User-Defined függvény létrehozása és tesztelése
resource governor