Udostępnij za pomocą


DB_NAME (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Ta funkcja zwraca nazwę określonej bazy danych.

Transact-SQL konwencje składni

Składnia

DB_NAME ( [ database_id ] )

Argumenty (w programowaniu)

database_id

Numer identyfikacyjny (ID) bazy danych, której nazwa DB_NAME zwraca. Jeśli wywołanie DB_NAME pomija database_id lub database_id to 0, DB_NAME zwraca nazwę bieżącej bazy danych.

Typy zwracane

nvarchar(128)

Uprawnienia

Jeśli obiekt wywołujący DB_NAME elementu nie jest właścicielem określonejmaster bazy danych lub innejtempdb niż baza danych, ALTER ANY DATABASE wymagane VIEW ANY DATABASE są co najmniej uprawnienia na poziomie serwera, aby wyświetlić odpowiedni DB_ID wiersz.

master W przypadku bazy danych DB_ID wymagane jest CREATE DATABASE co najmniej uprawnienie.

Baza danych, z którą obiekt wywołujący łączy się, zawsze pojawia się w pliku sys.databases.

Ważne

Domyślnie rola publiczna ma VIEW ANY DATABASE uprawnienie, które umożliwia wszystkim identyfikatorom logowania wyświetlanie informacji o bazie danych. Aby uniemożliwić logowanie się do wykrywania bazy danych, REVOKEVIEW ANY DATABASE uprawnienia z publicznej strony lub DENYVIEW ANY DATABASE uprawnienia do poszczególnych logowań.

Przykłady

Odp. Zwraca bieżącą nazwę bazy danych

Ten przykład zwraca nazwę bieżącej bazy danych.

SELECT DB_NAME() AS [Current Database];
GO

B. Zwracanie nazwy bazy danych określonego identyfikatora bazy danych

W tym przykładzie zwracana jest nazwa bazy danych dla identyfikatora 3bazy danych .

USE master;
GO

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

Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)

C. Zwraca bieżącą nazwę bazy danych

Ten przykład zwraca bieżącą nazwę bazy danych.

SELECT DB_NAME() AS [Current Database];

D. Zwracanie nazwy bazy danych przy użyciu identyfikatora bazy danych

W tym przykładzie zwracana jest nazwa bazy danych i database_id dla każdej bazy danych.

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