Megosztás a következőn keresztül:


DB_NAME (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Ez a függvény egy megadott adatbázis nevét adja vissza.

Transact-SQL szintaxis konvenciók

Szemantika

DB_NAME ( [ database_id ] )

Érvek

database_id

Annak az adatbázisnak az azonosítószáma (azonosítója), amelynek a neve DB_NAME visszatér. Ha a hívás DB_NAMEkihagyja database_id vagy a database_id, 0DB_NAME az aktuális adatbázis nevét adja vissza.

Visszatérési típusok

nvarchar(128)

Engedélyek

Ha a hívó DB_NAME nem rendelkezik adott nem adatbázissalmaster vagy nemtempdb adatbázissal, ALTER ANY DATABASE vagy VIEW ANY DATABASE kiszolgálószintű engedélyekre van szükség a megfelelő DB_ID sor megtekintéséhez.

master Az adatbázishoz DB_ID legalább engedélyre van szükségCREATE DATABASE.

Az adatbázis, amelyhez a hívó csatlakozik, mindig megjelenik a következőben sys.databases: .

Fontos

Alapértelmezés szerint a nyilvános szerepkör rendelkezik az VIEW ANY DATABASE engedéllyel, amely lehetővé teszi az összes bejelentkezés számára az adatbázis-információk megtekintését. Annak érdekében, hogy a bejelentkezés ne észlelje az adatbázist, REVOKE a VIEW ANY DATABASE nyilvános DENY vagy az VIEW ANY DATABASE egyes bejelentkezések engedélyét.

Példák

Egy. Az aktuális adatbázisnév visszaadása

Ez a példa az aktuális adatbázis nevét adja vissza.

SELECT DB_NAME() AS [Current Database];
GO

B. Egy megadott adatbázis-azonosító adatbázisnevének visszaadása

Ez a példa az adatbázis-azonosító 3adatbázisnevét adja vissza.

USE master;
GO

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

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

C. Az aktuális adatbázisnév visszaadása

Ez a példa az adatbázis aktuális nevét adja vissza.

SELECT DB_NAME() AS [Current Database];

D. Adatbázis nevének visszaadása az adatbázis-azonosító használatával

Ez a példa az adatbázis nevét és database_id az egyes adatbázisok nevét adja vissza.

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