Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Returnerar en rapport som innehåller information om användarbehörigheter för ett objekt, eller statement-behörigheter, i den aktuella databasen.
Important
sp_helprotectreturnerar inte information om securables som introducerades i SQL Server 2005 (9.x) och senare versioner. Använd sys.database_permissions och sys.fn_builtin_permissions istället.
Listar inte behörigheter som alltid tilldelas de fasta serverrollerna eller databasrollerna. Inkluderar inte inloggningar eller användare som får behörigheter baserat på sitt medlemskap i en roll.
Transact-SQL syntaxkonventioner
Syntax
sys.sp_helprotect
[ [ @name = ] N'name' ]
[ , [ @username = ] N'username' ]
[ , [ @grantorname = ] N'grantorname' ]
[ , [ @permissionarea = ] 'permissionarea' ]
[ ; ]
Arguments
[ @name = ] N'namn'
Namnet på objektet i den aktuella databasen, eller ett uttalande, är behörigheterna att rapportera.
@name är nvarchar(776), med standardvärdet , NULLvilket returnerar alla objekt- och satsbehörigheter. Om värdet är ett objekt (tabell, vy, lagrad procedur eller utökad lagrad procedur) måste det vara ett giltigt objekt i den aktuella databasen. Objektnamnet kan innehålla en ägarkvalificering i formen <owner>.<object>.
Om @name är ett påstående kan det vara ett CREATE påstående.
[ @username = ] N'användarnamn'
Namnet på den huvudperson för vilken behörigheter återlämnas.
@username är sysname, med standardvärdet , NULLvilket returnerar alla principaler i den aktuella databasen.
@username måste finnas i den aktuella databasen.
[ @grantorname = ] N'grantorname'
Namnet på rektorn som gav tillstånd.
@grantorname är sysname, med standardvärdet , NULLvilket returnerar all information för behörigheter beviljade av någon principal i databasen.
[ @permissionarea = ] 'permissionarea'
En teckensträng som anger om objektbehörigheter (teckensträng o), satsbehörigheter (teckensträng s) eller båda (o s) ska visas.
@permissionarea är varchar(10), med standardvärdet .o s
@permissionarea kan vara vilken kombination som helst av o och s, med eller utan kommatecken eller mellanrum mellan o och s.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Resultatuppsättning
| Kolumnnamn | Datatyp | Description |
|---|---|---|
Owner |
sysname | Namnet på objektägaren. |
Object |
sysname | Namnet på objektet. |
Grantee |
sysname | Namnet på den huvudperson som tillstånden gavs. |
Grantor |
sysname | Namnet på den huvudperson som gav tillstånd till den angivna mottagaren. |
ProtectType |
nvarchar(10) | Namn på typen av skydd:GRANT REVOKE |
Action |
nvarchar(60) | Namnet på tillståndet. Giltiga behörighetsuttalanden beror på objektets typ. |
Column |
sysname | Typ av tillstånd:All = Behörighet täcker alla aktuella kolumner i objektet.New = Behörighet täcker alla nya kolumner som kan ändras (genom att använda satsen ALTER ) på objektet i framtiden.All+New = Kombinationen av All och New.Returnerar en punkt om typen av behörighet inte gäller för kolumner. |
Remarks
Alla parametrar i följande procedur är valfria. Om den körs utan parametrar sp_helprotect visas alla behörigheter som beviljas eller nekas i den aktuella databasen.
Om några men inte alla parametrar är specificerade, använd namngivna parametrar för att identifiera den specifika parametern, eller NULL som en platshållare. Till exempel, för att rapportera alla behörigheter för givarens databasägare (dbo), kör följande skript:
EXECUTE sp_helprotect NULL, NULL, dbo;
Eller
EXECUTE sp_helprotect @grantorname = 'dbo';
Utdatarapporten sorteras efter behörighetskategori, ägare, objekt, mottagare, givare, skyddstyp, skyddstyp, åtgärd och kolumnsekventiellt ID.
Permissions
Kräver medlemskap i offentlig roll.
Information som returneras är föremål för begränsningar i åtkomst till metadata. Enheter där huvudmannen inte har tillstånd förekommer inte. För mer information, se inställningar för metadatasynlighet.
Examples
A. Lista behörigheterna för en tabell
Följande exempel listar behörigheterna för tabellen titles .
EXECUTE sp_helprotect 'titles';
B. Lista behörigheterna för en användare
Följande exempel listar alla behörigheter som användaren Judy har i den aktuella databasen.
EXECUTE sp_helprotect NULL, 'Judy';
C. Lista de behörigheter som beviljats av en specifik användare
Följande exempel listar alla behörigheter som beviljats av användaren Judy i den aktuella databasen och används NULL som platshållare för de saknade parametrarna.
EXECUTE sp_helprotect NULL, NULL, 'Judy';
D. Lista endast satsbehörigheterna
Följande exempel listar alla satsbehörigheter i den aktuella databasen och används NULL som platshållare för de saknade parametrarna.
EXECUTE sp_helprotect NULL, NULL, NULL, 's';
e. Listar behörigheter för ett CREATE-sats
Följande exempel listar alla användare som beviljats tillståndet CREATE TABLE .
EXECUTE sp_helprotect @name = 'CREATE TABLE';