DB_NAME(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
이 함수는 지정된 데이터베이스의 이름을 반환합니다.
구문
DB_NAME ( [ database_id ] )
인수
database_id
반환될 이름 DB_NAME
의 데이터베이스 ID입니다. DB_NAME
에 대한 호출이 database_id를 생략하는 경우 DB_NAME
는 현재 데이터베이스의 이름을 반환합니다.
반환 형식
nvarchar(128)
사용 권한
DB_NAME
의 호출자가 특정 비마스터 또는 비tempdb 데이터베이스를 소유하지 않는 경우 최소한 ALTER ANY DATABASE
또는 VIEW ANY DATABASE
서버 수준 사용 권한이 해당 DB_ID
행을 확인하는 데 필요합니다. 마스터 데이터베이스의 경우 DB_ID
는 최소한 CREATE DATABASE
사용 권한이 필요합니다. 호출자가 연결하는 데이터베이스는 항상 sys.databases에 나타납니다.
중요
기본적으로 public 역할에는 모든 로그인이 데이터베이스 정보를 보도록 허용하는 VIEW ANY DATABASE
권한이 있습니다. 로그인이 데이터베이스를 검색하지 않게 하려면 public에서 VIEW ANY DATABASE
권한을 REVOKE
하거나 로그인에 대한 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;
참고 항목
DB_ID(Transact-SQL)
메타데이터 함수(Transact-SQL)
sys.databases(Transact-SQL)