Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
Hiermee wijzigt u een servercontroleobject met behulp van de functie SQL Server Controle. Zie SQL Server Audit (Database Engine) voor meer informatie.
Transact-SQL syntaxis-conventies
Syntax
ALTER SERVER AUDIT audit_name
{
[ TO { { FILE ( <file_options> [ , ...n ] ) } | APPLICATION_LOG | SECURITY_LOG } | URL ]
[ WITH ( <audit_options> [ , ...n ] ) ]
[ WHERE <predicate_expression> ]
}
| REMOVE WHERE
| MODIFY NAME = new_audit_name
[ ; ]
<file_options>::=
{
FILEPATH = 'os_file_path'
| MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED }
| MAX_ROLLOVER_FILES = { integer | UNLIMITED }
| MAX_FILES = integer
| RESERVE_DISK_SPACE = { ON | OFF }
}
<audit_options>::=
{
QUEUE_DELAY = integer
| ON_FAILURE = { CONTINUE | SHUTDOWN | FAIL_OPERATION }
| STATE = = { ON | OFF }
}
<predicate_expression>::=
{
[ NOT ] <predicate_factor>
[ { AND | OR } [ NOT ] { <predicate_factor> } ]
[ , ...n ]
}
<predicate_factor>::=
event_field_name { = | < > | != | > | >= | < | <= } { number | 'string' }
Arguments
NAAR { BESTAND | APPLICATION_LOG | BEVEILIGING | URL }
Bepaalt de locatie van het controledoel. De opties zijn een binair bestand, het Windows-applicatielogboek of het Windows-beveiligingslog.
Important
In Azure SQL Managed Instance werkt SQL Audit op serverniveau en slaat het bestanden op .xel in Azure Blob Storage.
FILEPATH = 'os_file_path'
Het pad van het auditspoor. De bestandsnaam wordt gegenereerd op basis van de auditnaam en de audit-GUID.
MAXSIZE = max_size
Hiermee geeft u de maximale grootte op waarop het auditbestand kan groeien. De max_size waarde moet een geheel getal zijn, gevolgd door MB, GB, TB, of UNLIMITED. De minimale grootte die je voor max_size kunt specificeren is 2 MB en de maximale is 2.147.483.647 TB. Wanneer UNLIMITED wordt opgegeven, groeit het bestand totdat de schijf vol is. Het specificeren van een waarde lager dan 2 MB veroorzaakt de MSG_MAXSIZE_TOO_SMALL fout. De standaardwaarde is UNLIMITED.
MAX_ROLLOVER_FILES = geheel getal | ONBEPERKT
Specificeert het maximale aantal bestanden dat in het bestandssysteem moet worden bewaard. Wanneer de instelling van MAX_ROLLOVER_FILES = 0, wordt er geen limiet opgelegd aan het aantal aangemaakte rolloverbestanden. De standaardwaarde is 0. Het maximale aantal bestanden dat kan worden gespecificeerd is 2.147.483.647.
MAX_FILES = geheel getal
Hiermee geeft u het maximum aantal controlebestanden op dat kan worden gemaakt. Rolt niet over naar het eerste bestand als de limiet is bereikt. Wanneer de MAX_FILES limiet is bereikt, mislukt elke actie die ervoor zorgt dat meer controlegebeurtenissen worden gegenereerd, mislukt met een fout.
RESERVE_DISK_SPACE = { ON | UIT }
Met deze optie wordt het bestand op de schijf vooraf toegewezen aan de MAXSIZE waarde. geldt alleen als MAXSIZE niet gelijk is aan UNLIMITED. De standaardwaarde is OFF.
QUEUE_DELAY = geheel getal
Bepaalt de tijd in milliseconden die kan verstrijken voordat auditacties worden verwerkt. Een waarde van 0 geeft synchrone levering aan. De minimumwaarde voor ingestelde queryvertraging is 1000 (1 seconde). Dit is de standaardwaarde. Het maximum is 2.147.483.647 (2.147.483.647 seconden of 24 dagen, 20 uur, 31 minuten, 23,647 seconden). Als je een ongeldig nummer opgeeft, krijg je de foutmelding MSG_INVALID_QUEUE_DELAY.
ON_FAILURE = { CONTINUE | AFSLUITEN | FAIL_OPERATION }
Geeft aan of het schrijven van de instantie naar het doelwit moet falen, doorgaan of stoppen als SQL Server niet naar het auditlogboek kan schrijven.
CONTINUE
SQL Server-bewerkingen worden voortgezet. Controlerecords worden niet bewaard. De controle blijft proberen gebeurtenissen te registreren en hervat als de foutvoorwaarde is opgelost. Als u de optie Doorgaan selecteert, kunt u niet-gecontroleerde activiteiten toestaan, die uw beveiligingsbeleid kunnen schenden. Gebruik deze optie als u de database-engine blijft gebruiken, is het belangrijker dan het onderhouden van een volledige controle.
SHUTDOWN
Dwingt het exemplaar van SQL Server af te sluiten als SQL Server om welke reden dan ook geen gegevens naar het controledoel schrijft. De aanmelding die de ALTER instructie uitvoert, moet de SHUTDOWN machtiging hebben binnen SQL Server. Het afsluitgedrag blijft behouden, zelfs als de SHUTDOWN machtiging later wordt ingetrokken bij het uitvoeren van de aanmelding. Als de gebruiker deze toestemming niet heeft, faalt de verklaring en wordt de audit niet gewijzigd. Gebruik de optie wanneer een controlefout de beveiliging of integriteit van het systeem kan misbruiken. Zie AFSLUITEN voor meer informatie.
FAIL_OPERATION
Databaseacties mislukken als ze gecontroleerde gebeurtenissen veroorzaken. Acties die geen gecontroleerde gebeurtenissen veroorzaken kunnen doorgaan, maar er kunnen geen gecontroleerde gebeurtenissen plaatsvinden. De controle blijft proberen gebeurtenissen te registreren en hervat als de foutvoorwaarde is opgelost. Gebruik deze optie bij het onderhouden van een volledige controle belangrijker dan volledige toegang tot de database-engine.
TOESTAND = { OP | OFF }
Maakt het verzamelen van gegevens mogelijk of schakelt de audit uit. Het wijzigen van de status van een lopende audit (van ON naar OFF) creëert een controlevermelding dat de audit is gestopt, de opdrachtgever die de audit heeft gestopt, en het tijdstip waarop de audit is gestopt.
NAAM WIJZIGEN = new_audit_name
Verandert de naam van de audit. Kan niet met een andere optie worden gebruikt.
predicate_expression
Hiermee geeft u de predicaatexpressie op die wordt gebruikt om te bepalen of een gebeurtenis moet worden verwerkt of niet. Predicaatexpressies zijn beperkt tot een lengte van 3000 tekens, waardoor tekenreeksargumenten worden beperkt.
event_field_name
De naam van het gebeurtenisveld dat de predicaatbron identificeert. Auditvelden worden beschreven in sys.fn_get_audit_file. Alle velden kunnen worden gecontroleerd behalve file_name en audit_file_offset.
number
Elk numeriek type, inclusief decimaal. Beperkingen zijn het ontbreken van beschikbaar fysiek geheugen of een getal dat te groot is om te worden weergegeven als een 64-bits geheel getal.
'string'
Een ANSI- of Unicode-tekenreeks zoals vereist voor het predicaat vergelijken. Er wordt geen impliciete conversie van tekenreekstypen uitgevoerd voor de functies voor predicaatvergelijking. Het doorgeven van het verkeerde type resulteert in een fout
Remarks
Je moet ten minste één van de TO, , of MODIFY NAME clausules specificeren wanneer je roeptALTER AUDITWITH.
Je moet de status van een audit op de OFF-optie zetten om wijzigingen aan te brengen in een audit. Als ALTER AUDIT wordt uitgevoerd wanneer een audit is ingeschakeld met andere opties dan STATE = OFF, krijg je een MSG_NEED_AUDIT_DISABLED foutmelding.
Je kunt auditspecificaties toevoegen, aanpassen en verwijderen zonder een audit te stoppen.
Je kunt de GUID van een audit niet aanpassen nadat de audit is aangemaakt.
ALTER SERVER AUDIT Statement kan niet worden gebruikt binnen een gebruikerstransactie.
Permissions
Om een server audit principal te maken, wijzigen of verwijderen, moet je ENIGE SERVER AUDIT of de CONTROL SERVER-toestemming WIJZIGEN hebben.
Examples
A. Verander de naam van een serveraudit.
Het volgende voorbeeld verandert de naam van de serveraudit HIPAA_Audit in HIPAA_Audit_Old.
USE master;
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
MODIFY NAME = HIPAA_Audit_Old;
GO
ALTER SERVER AUDIT HIPAA_Audit_Old
WITH (STATE = ON);
GO
B. Verander een serverauditdoel
Het volgende voorbeeld verandert de serveraudit die wordt aangeroepen HIPAA_Audit naar een bestandsdoel.
USE master;
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit TO FILE (
FILEPATH = '\\SQLPROD_1\Audit\',
MAXSIZE = 1000 MB,
RESERVE_DISK_SPACE = OFF
)
WITH (
QUEUE_DELAY = 1000,
ON_FAILURE = CONTINUE
);
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = ON);
GO
C. Verander een serveraudit WHERE-clausule
Het volgende voorbeeld wijzigt de where-clausule die in voorbeeld C van CREATE SERVER AUDITis gecreëerd. De nieuwe WHERE-clausule filtert voor het door de gebruiker gedefinieerde gebeurtenis als het van 27 is.
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WHERE user_defined_event_id = 27;
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = ON);
GO
D. Verwijder een WHERE-clausule
Het volgende voorbeeld verwijdert een uitdrukking van een WHERE clausule-predicaat.
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
REMOVE WHERE;
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = ON);
GO
E. Hernoem een serveraudit
Het volgende voorbeeld verandert de naam van de serverauditen van FilterForSensitiveData naar AuditDataAccess.
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
MODIFY NAME = AuditDataAccess;
GO
ALTER SERVER AUDIT [AuditDataAccess]
WITH (STATE = ON);
GO
Transact-SQL referentie
- DROP SERVER AUDIT (Transact-SQL)
- CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)
- ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
- DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
- CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
- DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTER AUTHORIZATION (Transact-SQL)
Verwante inhoud
- sys.fn_get_audit_file (Transact-SQL)
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- sys.server_audit_specifications (Transact-SQL)
- sys.server_audit_specification_details (Transact-SQL)
- sys.database_audit_specifications (Transact-SQL)
- sys.database_audit_specification_details (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)
- een servercontrole- en servercontrolespecificatie maken