DB_NAME (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Esta función devuelve el nombre de una base de datos especificada.

Convenciones de sintaxis de Transact-SQL

Sintaxis

DB_NAME ( [ database_id ] )  

Argumentos

database_id

El número de identificación de la base de datos cuyo nombre va a devolver DB_NAME. Si la llamada a DB_NAME omite database_id, DB_NAME devuelve el nombre de la base de datos actual.

Tipos de valores devueltos

nvarchar(128)

Permisos

Si el autor de la llamada de DB_NAME no posee una base de datos master o distinta de tempdb determinada, como mínimo se requieren los permisos ALTER ANY DATABASE o VIEW ANY DATABASE de nivel de servidor para ver la fila DB_ID correspondiente. Para la base de datos master, DB_ID necesita el permiso CREATE DATABASE como mínimo. La base de datos a la que se conecta el autor de la llamada siempre aparece en sys.databases.

Importante

El rol público tiene el permiso VIEW ANY DATABASE de forma predeterminada, lo que permite a todos los inicios de sesión ver información de la base de datos. Para evitar que un inicio de sesión detecte una base de datos, use REVOKE para revocar el permiso VIEW ANY DATABASE del público, o bien use DENY para denegar el permiso VIEW ANY DATABASE para inicios de sesión individuales.

Ejemplos

A. Devolver el nombre de la base de datos actual

En este ejemplo se devuelve el nombre de la base de datos actual.

SELECT DB_NAME() AS [Current Database];  
GO  

B. Devolver el nombre de la base de datos de un identificador de base de datos específico

En este ejemplo se devuelve el nombre de la base de datos con el identificador 3.

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

Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

C. Devolver el nombre de la base de datos actual

SELECT DB_NAME() AS [Current Database];  

D. Devolver el nombre de la base de datos usando el identificador de base de datos

En este ejemplo se devuelve el nombre y el identificador de base de datos de cada base de datos.

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

Vea también

DB_ID (Transact-SQL)
Funciones de metadatos (Transact-SQL)
sys.databases (Transact-SQL)