DB_NAME(Transact-SQL)DB_NAME (Transact-SQL)

적용 대상: 예SQL Server 예Azure SQL Database 예Azure Synapse Analytics(SQL DW) 예병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

이 함수는 지정된 데이터베이스의 이름을 반환합니다.This function returns the name of a specified database.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

DB_NAME ( [ database_id ] )  

인수Arguments

database_iddatabase_id

반환될 이름 DB_NAME의 데이터베이스 ID입니다.The identification number (ID) of the database whose name DB_NAME will return. DB_NAME에 대한 호출이 database_id를 생략하는 경우 DB_NAME는 현재 데이터베이스의 이름을 반환합니다.If the call to DB_NAME omits database_id, DB_NAME returns the name of the current database.

반환 형식Return types

nvarchar(128)nvarchar(128)

사용 권한Permissions

DB_NAME의 호출자가 특정 비마스터 또는 비tempdb 데이터베이스를 소유하지 않는 경우 최소한 ALTER ANY DATABASE 또는 VIEW ANY DATABASE 서버 수준 사용 권한이 해당 DB_ID 행을 확인하는 데 필요합니다.If the caller of DB_NAME does not own a specific non-master or non-tempdb database, ALTER ANY DATABASE or VIEW ANY DATABASE server-level permissions at minimum are required to see the corresponding DB_ID row. 마스터 데이터베이스의 경우 DB_ID는 최소한 CREATE DATABASE 사용 권한이 필요합니다.For the master database, DB_ID needs CREATE DATABASE permission at minimum. 호출자가 연결하는 데이터베이스는 항상 sys.databases에 나타납니다.The database to which the caller connects will always appear in sys.databases.

중요

기본적으로 public 역할에는 모든 로그인이 데이터베이스 정보를 보도록 허용하는 VIEW ANY DATABASE 권한이 있습니다.By default, the public role has the VIEW ANY DATABASE permission, which allows all logins to see database information. 로그인이 데이터베이스를 검색하지 않게 하려면 public에서 VIEW ANY DATABASE 권한을 REVOKE하거나 로그인에 대한 DENY 권한을 VIEW ANY DATABASE합니다.To prevent a login from detecting a database, REVOKE the VIEW ANY DATABASE permission from public, or DENY the VIEW ANY DATABASE permission for individual logins.

Examples

1.A. 현재 데이터베이스 이름 반환Returning the current database name

이 예에서는 현재 데이터베이스의 이름을 반환합니다.This example returns the name of the current database.

SELECT DB_NAME() AS [Current Database];  
GO  

2.B. 지정한 데이터베이스 ID의 데이터베이스 이름 반환Returning the database name of a specified database ID

이 예에서는 데이터베이스 ID 3의 데이터베이스 이름을 반환합니다.This example returns the database name for database ID 3.

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

예제: Azure Synapse Analytics(SQL DW)Azure Synapse Analytics (SQL DW)병렬 데이터 웨어하우스Parallel Data WarehouseExamples: Azure Synapse Analytics(SQL DW)Azure Synapse Analytics (SQL DW) and 병렬 데이터 웨어하우스Parallel Data Warehouse

C.C. 현재 데이터베이스 이름 반환Return the current database name

SELECT DB_NAME() AS [Current Database];  

D.D. 데이터베이스 ID를 사용하여 데이터베이스의 이름을 반환합니다Return the name of a database by using the database ID

이 예에서는 각 데이터베이스에 대해 데이터베이스 이름과 database_id를 반환합니다.This example returns the database name and database_id for each database.

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

관련 항목:See also

DB_ID(Transact-SQL)DB_ID (Transact-SQL)
메타데이터 함수(Transact-SQL)Metadata Functions (Transact-SQL)
sys.databases(Transact-SQL)sys.databases (Transact-SQL)