sys.sp_helprotect (Transact-SQL)

Van toepassing op:SQL Server

Geeft een rapport terug met informatie over gebruikersrechten voor een object, of statement-permissies, in de huidige database.

Belangrijk

sp_helprotectgeeft geen informatie terug over securables die zijn geïntroduceerd in SQL Server 2005 (9.x) en latere versies. Gebruik sys.database_permissions en sys.fn_builtin_permissions in plaats daarvan.

Er staan geen rechten op die altijd aan vaste serverrollen of vaste databaserollen zijn toegewezen. Inloggegevens of gebruikers die rechten krijgen op basis van hun lidmaatschap in een functie zijn niet inbegrepen.

Transact-SQL syntaxis-conventies

Syntax

sys.sp_helprotect
    [ [ @name = ] N'name' ]
    [ , [ @username = ] N'username' ]
    [ , [ @grantorname = ] N'grantorname' ]
    [ , [ @permissionarea = ] 'permissionarea' ]
[ ; ]

Arguments

[ @name = ] Naamloos

De naam van het object in de huidige database, of een statement, dat zijn de machtigingen om te rapporteren. @name is nvarchar(776), met een standaard van NULL, wat alle object- en statementrechten teruggeeft. Als de waarde een object is (tabel, weergave, opgeslagen procedure of uitgebreide opgeslagen procedure), moet het een geldig object zijn in de huidige database. De objectnaam kan een eigenaar-kwalificatie bevatten in de vorm <owner>.<object>.

Als @name een statement is, kan het een CREATE statement zijn.

[ @username = ] N'gebruikersnaam'

De naam van de directeur waarvoor de rechten worden teruggegeven. @username is sysname, met standaard , NULLwat alle principals in de huidige database teruggeeft. @username moet bestaan in de huidige database.

[ @grantorname = ] N'grantorname'

De naam van de directeur die toestemming verleende. @grantorname is sysname, met een standaard van NULL, wat alle informatie voor machtigingen teruggeeft die door een principal in de database zijn verleend.

[ @permissionarea = ] 'permissionarea'

Een tekenreeks die aangeeft of objectrechten (tekenstring o), instructierechten (tekenstring s), of beide (o s) moeten worden weergegeven. @permissionarea is varchar(10), met als standaard .o s @permissionarea kan elke combinatie zijn van o en s, met of zonder komma's of ruimtes tussen o en s.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Resultaatset

Kolomnaam Gegevenstype Description
Owner sysname Naam van de objecteigenaar.
Object sysname Naam van het object.
Grantee sysname Naam van de principe aan wie de toestemming werd verleend.
Grantor sysname Naam van de directeur die toestemming verleende aan de gespecificeerde begunstigde.
ProtectType nvarchar(10) Naam van het type bescherming:

GRANT REVOKE
Action nvarchar(60) Naam van de toestemming. Geldige permissie-statements hangen af van het type object.
Column sysname Type toestemming:

All = Toestemming dekt alle huidige kolommen van het object.
New = Toestemming dekt alle nieuwe kolommen die in de toekomst (door gebruik te maken van de ALTER instructie) op het object kunnen worden gewijzigd.
All+New = Combinatie van All en New.

Geeft een punt terug als het type toestemming niet op kolommen van toepassing is.

Remarks

Alle parameters in de volgende procedure zijn optioneel. Als het zonder parameters wordt uitgevoerd, sp_helprotect toont het alle machtigingen die in de huidige database zijn verleend of geweigerd.

Als sommige, maar niet alle parameters zijn gespecificeerd, gebruik dan benoemde parameters om de specifieke parameter te identificeren, of NULL als tijdelijke aanduiding. Bijvoorbeeld, om alle rechten voor de eigenaar van de grantor database (dbo) te rapporteren, voer het volgende script uit:

EXECUTE sp_helprotect NULL, NULL, dbo;

Or

EXECUTE sp_helprotect @grantorname = 'dbo';

Het uitvoerrapport is gesorteerd op permissiecategorie, eigenaar, object, vergunninghouder, ververskoning, beschermingstype, beschermingstype, actie en kolomsequentiële ID.

Permissions

Vereist lidmaatschap van de openbare rol.

De teruggegeven informatie is onderworpen aan beperkingen op toegang tot metadata. Entiteiten waarvoor de opdrachtgever geen toestemming heeft, verschijnen niet. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.

Examples

A. Geef een lijst van de rechten voor een tabel

Het volgende voorbeeld geeft de rechten voor de titles tabel weer op.

EXECUTE sp_helprotect 'titles';

B. Vermeld de rechten voor een gebruiker

Het volgende voorbeeld geeft alle rechten weer die de gebruiker Judy heeft in de huidige database.

EXECUTE sp_helprotect NULL, 'Judy';

C. Vermeld de rechten die door een specifieke gebruiker zijn verleend

Het volgende voorbeeld geeft alle door de gebruiker Judy verleende rechten in de huidige database weer en gebruikt NULL het als tijdelijke aanduiding voor de ontbrekende parameters.

EXECUTE sp_helprotect NULL, NULL, 'Judy';

D. Vermeld alleen de machtigingen voor de instructies

Het volgende voorbeeld geeft alle statement-rechten in de huidige database weer en gebruikt NULL het als tijdelijke aanduiding voor de ontbrekende parameters.

EXECUTE sp_helprotect NULL, NULL, NULL, 's';

e. Het vermelden van de rechten voor een CREATE-instructie

Het volgende voorbeeld geeft een overzicht van alle gebruikers die de CREATE TABLE toestemming hebben gekregen.

EXECUTE sp_helprotect @name = 'CREATE TABLE';