Delen via


USER_ID (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Geeft het identificatienummer terug voor een databasegebruiker.

Belangrijk

Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. Gebruik DATABASE_PRINCIPAL_ID in plaats daarvan.

Transact-SQL syntaxis-conventies

Syntaxis

USER_ID ( [ 'user' ] )  

Arguments

user
Is de gebruikersnaam die gebruikt moet worden. Gebruiker is NCar. Als een char-waarde wordt gespecificeerd, wordt deze impliciet omgezet naar nchar. De haakjes zijn vereist.

Retourtypen

int

Opmerkingen

Wanneer user wordt weggelaten, wordt aangenomen dat de huidige gebruiker is. Als de parameter het woord NULL bevat, zal NULL teruggeven. Wanneer USER_ID na EXECUTE AS wordt aangeroepen, geeft USER_ID de ID van de geïmporteerde context terug.

Wanneer een Windows-principal die niet aan een specifieke databasegebruiker is gekoppeld, via lidmaatschap van een groep toegang krijgt tot een database, geeft USER_ID 0 terug (de ID van publiek). Als zo'n principal een object aanmaakt zonder een schema te specificeren, zal SQL Server een impliciete gebruiker en schema creëren dat aan de Windows-principal wordt toegewezen. De gebruiker die in zulke gevallen is aangemaakt, kan niet worden gebruikt om verbinding te maken met de database. Aanroepen naar USER_ID door een Windows-principal die aan een impliciete gebruiker is toegewezen, geven de ID van de impliciete gebruiker terug.

USER_ID kan worden gebruikt in een selectielijst, in een WHERE-clausule en overal waar een expressie is toegestaan. Zie Expressies (Transact-SQL) voor meer informatie.

Voorbeelden

Het volgende voorbeeld geeft het identificatienummer voor de AdventureWorks2025 gebruiker Harold.

USE AdventureWorks2022;  
SELECT USER_ID('Harold');  
GO  

Zie ook

USER_NAME (Transact-SQL)
sys.database_principals (Transact-SQL)
DATABASE_PRINCIPAL_ID (Transact-SQL)
beveiligingsfuncties (Transact-SQL)