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 Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Geeft kolomprivilege-informatie terug voor één enkele tabel in de huidige omgeving.
Transact-SQL syntaxis-conventies
Syntaxis
sp_column_privileges
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @column_name = ] N'column_name' ]
[ ; ]
Arguments
[ @table_name = ] N'table_name'
De tabel die wordt gebruikt om catalogusinformatie terug te geven. @table_name is een systeemnaam, zonder standaard. Wildcard-patroonmatching wordt niet ondersteund.
[ @table_owner = ] N'table_owner'
De eigenaar van de tabel die gebruikt werd om catalogusinformatie terug te geven.
@table_owner is sysname, met als standaard .NULL Wildcard-patroonmatching wordt niet ondersteund. Als @table_owner niet is gespecificeerd, gelden de standaard tabelzichtbaarheidsregels van het onderliggende databasebeheersysteem (DBMS).
Als de huidige gebruiker een tabel bezit met de opgegeven naam, worden de kolommen van die tabel teruggegeven. Als @table_owner niet is gespecificeerd en de huidige gebruiker geen tabel bezit met de opgegeven @table_name, sp_column zoekt Privileges naar een tabel met de gespecificeerde @table_name die eigendom is van de database-eigenaar. Als er een bestaat, worden de kolommen van die tabel teruggegeven.
[ @table_qualifier = ] N'table_qualifier'
De naam van de kwalificatiespeler op de tafel.
@table_qualifier is sysname, met als standaard .NULL Verschillende DBMS-producten ondersteunen drieledige naamgeving voor tabellen (<qualifier>.<owner>.<name>). In SQL Server vertegenwoordigt deze kolom de databasenaam. In sommige producten vertegenwoordigt het de servernaam van de databaseomgeving van de tabel.
[ @column_name = ] N'column_name'
Een enkele kolom wordt gebruikt wanneer slechts één kolom catalogusinformatie wordt verkregen.
@column_name is nvarchar(384), met een standaard van NULL. Als @column_name niet is gespecificeerd, worden alle kolommen teruggegeven. In SQL Server vertegenwoordigt @column_name de kolomnaam zoals vermeld in de sys.columns tabel.
@column_name kan jokertekens opnemen met behulp van jokerovereenkomstpatronen van het onderliggende DBMS. Voor maximale interoperabiliteit moet de gateway-client alleen ISO-standaard patroonmatching aannemen (de en jokerkarakters %_ ).
Resultaatset
sp_column_privileges is gelijk aan SQLColumnPrivileges in ODBC. De teruggegeven resultaten zijn geordend door TABLE_QUALIFIER, TABLE_OWNER, , TABLE_NAME, COLUMN_NAMEen PRIVILEGE.
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Naam van de kwalificatie in de tabel. Dit veld kan zijn NULL. |
TABLE_OWNER |
sysname | Naam van de tafeleigenaar. Dit veld geeft altijd een waarde terug. |
TABLE_NAME |
sysname | Tabelnaam. Dit veld geeft altijd een waarde terug. |
COLUMN_NAME |
sysname | Kolomnaam, voor elke kolom van de teruggestuurde kolom TABLE_NAME . Dit veld geeft altijd een waarde terug. |
GRANTOR |
sysname | Databasegebruikersnaam die hiervoor toestemming kreeg voor de COLUMN_NAME vermelde GRANTEE. In SQL Server is deze kolom altijd hetzelfde als de TABLE_OWNER. Dit veld geeft altijd een waarde terug.De GRANTOR kolom kan zowel de database-eigenaar (TABLE_OWNER) zijn als een gebruiker aan wie de database-eigenaar rechten heeft verleend door gebruik te maken van de WITH GRANT OPTION clausule in de GRANT instructie. |
GRANTEE |
sysname | Databasegebruikersnaam die hiervoor toestemming COLUMN_NAME kreeg van de vermelde GRANTOR. In SQL Server bevat deze kolom altijd een databasegebruiker uit de sysusers tabel. Dit veld geeft altijd een waarde terug. |
PRIVILEGE |
Varchar(32) | Een van de beschikbare kolommachtigingen. Kolompermissies kunnen een van de volgende waarden zijn (of andere waarden die door de databron worden ondersteund wanneer de implementatie is gedefinieerd):SELECT
=
GRANTEE kan gegevens voor de kolommen ophalen.INSERT
=
GRANTEE kan gegevens voor deze kolom leveren wanneer nieuwe rijen worden ingevoegd (door de GRANTEE) in de tabel.UPDATE
=
GRANTEE kan bestaande gegevens in de kolom wijzigen.REFERENCES
=
GRANTEE kan een kolom in een vreemde tabel verwijzen in een primaire sleutel/vreemde sleutel-relatie. Primaire sleutel/vreemde sleutel-relaties worden gedefinieerd door gebruik te maken van tabelbeperkingen. |
IS_GRANTABLE |
varchar(3) | Geeft aan of de GRANTEE toestemming is om rechten aan andere gebruikers te verlenen (vaak aangeduid als "grant with grant" toestemming). De waarde kan YES, NOof NULL zijn. Een onbekende, of NULL, waarde verwijst naar een databron waarvoor "subsidie met subsidie" niet van toepassing is. |
Opmerkingen
Met SQL Server worden de rechten met de GRANT instructie verleend en door de REVOKE instructie verwijderd.
Permissions
Vereist SELECT toestemming voor het schema.
Voorbeelden
Het volgende voorbeeld geeft kolomprivilege-informatie voor een specifieke kolom.
USE AdventureWorks2022;
GO
EXECUTE sp_column_privileges
@table_name = 'Employee',
@table_owner = 'HumanResources',
@table_qualifier = 'AdventureWorks2022',
@column_name = 'SalariedFlag';