Sdílet prostřednictvím


DB_NAME (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytický platformní systém (PDW)

Tato funkce vrátí název zadané databáze.

Transact-SQL konvence syntaxe

Syntaxe

DB_NAME ( [ database_id ] )

Argumenty

database_id

Identifikační číslo (ID) databáze, jejíž název DB_NAME vrátí. Pokud volání DB_NAME vynechá database_id nebo database_id je 0, DB_NAME vrátí název aktuální databáze.

Návratové typy

nvarchar(128)

Dovolení

Pokud volající DB_NAME vlastní konkrétní databázimaster , která není nebo nenítempdb databáze, ALTER ANY DATABASE nebo VIEW ANY DATABASE oprávnění na úrovni serveru se vyžadují minimálně, aby se zobrazil odpovídající DB_ID řádek.

master Pro databázi vyžaduje DB_IDCREATE DATABASE minimálně oprávnění.

Databáze, ke které se volající připojuje, se vždy objeví v sys.databases.

Důležité

Ve výchozím nastavení má VIEW ANY DATABASE veřejná role oprávnění, která umožňuje všem přihlášením zobrazit informace o databázi. Pokud chcete zabránit přihlášení ke zjištění databáze, REVOKEVIEW ANY DATABASE oprávnění z veřejného účtu nebo DENYVIEW ANY DATABASE oprávnění pro jednotlivá přihlášení.

Příklady

A. Vrácení aktuálního názvu databáze

Tento příklad vrátí název aktuální databáze.

SELECT DB_NAME() AS [Current Database];
GO

B. Vrátí název databáze zadaného ID databáze.

Tento příklad vrátí název databáze pro ID 3databáze .

USE master;
GO

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

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

C. Vrácení aktuálního názvu databáze

Tento příklad vrátí aktuální název databáze.

SELECT DB_NAME() AS [Current Database];

D. Vrácení názvu databáze pomocí ID databáze

Tento příklad vrátí název databáze a database_id pro každou databázi.

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