다음을 통해 공유


DB_NAME(Transact-SQL)

적용 대상: SQL ServerAzure SQL 데이터베이스Azure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System(PDW)

이 함수는 지정된 데이터베이스의 이름을 반환합니다.

Transact-SQL 구문 표기 규칙

구문

DB_NAME ( [ database_id ] )

인수

database_id

이름이 DB_NAME 반환되는 데이터베이스의 ID(ID)입니다. 호출에서 DB_NAMEdatabase_id 생략하거나 database_id0DB_NAME 경우 현재 데이터베이스의 이름을 반환합니다.

반환 형식

nvarchar(128)

사용 권한

호출자가 DB_NAME 특정 비 데이터베이스master 또는 비 VIEW ANY DATABASEtempdbALTER ANY DATABASE 데이터베이스를 소유하지 않거나 서버 수준 권한이 필요한 DB_ID 경우 해당 행을 보려면 최소한 필요합니다.

데이터베이스 DB_IDmaster 경우 최소한 사용 권한이 필요합니다CREATE DATABASE.

호출자가 연결하는 데이터베이스는 항상 에 sys.databases표시됩니다.

중요

기본적으로 public 역할에는 모든 로그인이 데이터베이스 정보를 보도록 허용하는 VIEW ANY DATABASE 권한이 있습니다. 로그인이 데이터베이스를 검색하지 않게 하려면 public에서 REVOKE 권한을 VIEW ANY DATABASE하거나 로그인에 대한 DENY 권한을 VIEW ANY DATABASE합니다.

예제

A. 현재 데이터베이스 이름 반환

이 예에서는 현재 데이터베이스의 이름을 반환합니다.

SELECT DB_NAME() AS [Current Database];
GO

B. 지정된 데이터베이스 ID의 데이터베이스 이름을 반환합니다.

이 예에서는 데이터베이스 ID 3의 데이터베이스 이름을 반환합니다.

USE master;
GO

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

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

C. 현재 데이터베이스 이름 반환

다음은 현재 데이터베이스 이름을 반환하는 예제입니다.

SELECT DB_NAME() AS [Current Database];

D. 데이터베이스 ID를 사용하여 데이터베이스의 이름을 반환합니다

이 예제에서는 데이터베이스 이름과 database_id 각 데이터베이스에 대해 반환합니다.

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