Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
Número de identificación (ID) de la base de datos cuyo nombre DB_NAME
devuelve. Si la llamada a DB_NAME
omite database_id o el database_id es 0
, 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 no es propietario de una base de DB_NAME
datos específicamaster
que no es o notempdb
es de base de datos, ALTER ANY DATABASE
o VIEW ANY DATABASE
los permisos de nivel de servidor son necesarios como mínimo para ver la fila correspondiente DB_ID
.
Para la master
base de datos, DB_ID
necesita CREATE DATABASE
permiso 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. Devuelve el nombre de la base de datos de un identificador de base de datos especificado.
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
En este ejemplo se devuelve 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 de la base de datos y database_id
para cada base de datos.
SELECT DB_NAME(database_id) AS [Database],
database_id
FROM sys.databases;