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)