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

SE APLICA A: síSQL Server (a partir de 2008) síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Esta función devuelve el nombre de una base de datos especificada.This function returns the name of a specified database.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

DB_NAME ( [ database_id ] )  

ArgumentosArguments

database_iddatabase_id

El número de identificación de la base de datos cuyo nombre va a devolver DB_NAME.The identification number (ID) of the database whose name DB_NAME will return. Si la llamada a DB_NAME omite database_id, DB_NAME devuelve el nombre de la base de datos actual.If the call to DB_NAME omits database_id, DB_NAME returns the name of the current database.

Tipos de valores devueltosReturn types

nvarchar(128)nvarchar(128)

PermisosPermissions

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.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. Para la base de datos master, DB_ID necesita el permiso CREATE DATABASE como mínimo.For the master database, DB_ID needs CREATE DATABASE permission at minimum. La base de datos a la que se conecta el autor de la llamada siempre aparece en sys.databases.The database to which the caller connects will always appear in 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.By default, the public role has the VIEW ANY DATABASE permission, which allows all logins to see database information. 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.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.

EjemplosExamples

A.A. Devolver el nombre de la base de datos actualReturning the current database name

En este ejemplo se devuelve el nombre de la base de datos actual.This example returns the name of the current database.

SELECT DB_NAME() AS [Current Database];  
GO  

B.B. Devolver el nombre de la base de datos de un identificador de base de datos específicoReturning the database name of a specified database ID

En este ejemplo se devuelve el nombre de la base de datos con el identificador 3.This example returns the database name for database ID 3.

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

Ejemplos: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse y Almacenamiento de datos paralelosParallel Data WarehouseExamples: Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse and Almacenamiento de datos paralelosParallel Data Warehouse

C.C. Devolver el nombre de la base de datos actualReturn the current database name

SELECT DB_NAME() AS [Current Database];  

D.D. Devolver el nombre de la base de datos usando el identificador de base de datosReturn the name of a database by using the database ID

En este ejemplo se devuelve el nombre y el identificador de base de datos de cada base de datos.This example returns the database name and database_id for each database.

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

Vea tambiénSee also

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