Delen via


DB_NAME (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric Preview

Deze functie retourneert de naam van een opgegeven database.

Transact-SQL syntaxis-conventies

Syntaxis

DB_NAME ( [ database_id ] )

Argumenten

database_id

Het identificatienummer (ID) van de database waarvan de naam DB_NAME retourneert. Als de aanroep om DB_NAME weg te laten of de database_id is0, DB_NAME wordt de naam van de huidige database geretourneerd.

Retourtypen

nvarchar(128)

Machtigingen

Als de aanroeper geen eigenaar is van DB_NAME een specifieke niet-ofmaster niet-databasetempdb of ALTER ANY DATABASEVIEW ANY DATABASE machtigingen op serverniveau, zijn minimaal vereist om de bijbehorende DB_ID rij weer te geven.

Voor de master database DB_ID moet u minimaal toestemming hebben CREATE DATABASE .

De database waarmee de aanroeper verbinding maakt, wordt altijd weergegeven in sys.databases.

Belangrijk

De openbare rol heeft standaard de VIEW ANY DATABASE machtiging, zodat alle aanmeldingen databasegegevens kunnen zien. Om te voorkomen dat een aanmelding een database detecteert, REVOKE de VIEW ANY DATABASE machtiging van openbaar of DENY de VIEW ANY DATABASE machtiging voor afzonderlijke aanmeldingen.

Voorbeelden

Eén. De naam van de huidige database retourneren

In dit voorbeeld wordt de naam van de huidige database geretourneerd.

SELECT DB_NAME() AS [Current Database];
GO

B. De databasenaam van een opgegeven database-id retourneren

In dit voorbeeld wordt de databasenaam voor de database-id 3geretourneerd.

USE master;
GO

SELECT DB_NAME(3) AS [Database Name];
GO

Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)

C. De naam van de huidige database retourneren

In dit voorbeeld wordt de naam van de huidige database geretourneerd.

SELECT DB_NAME() AS [Current Database];

D. De naam van een database retourneren met behulp van de database-id

In dit voorbeeld wordt de databasenaam en database_id voor elke database geretourneerd.

SELECT DB_NAME(database_id) AS [Database],
       database_id
FROM sys.databases;