Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Esta función devuelve el número de identificación de base de datos de una base de datos especificada.
Convenciones de sintaxis de Transact-SQL
DB_ID ( [ 'database_name' ] )
'database_name'
El nombre de la base de datos cuyo número de identificación de base de datos devolverá DB_ID
. Si la llamada a DB_ID
omite database_name, DB_ID
devuelve el identificador de la base de datos actual.
int
DB_ID
solo se puede usar para devolver el identificador de la base de datos actual de Azure SQL Database. Se devuelve NULL si el nombre de la base de datos que especificó es distinto de la base de datos actual.
Nota
En Azure SQL Database, puede que DB_ID
no devuelva el mismo valor que la columna database_id
de sys.databases y sys.database_service_objectives. Estas dos vistas devuelven valores database_id
que son únicos dentro del servidor lógico, mientras que DB_ID
y la columna database_id
de otras vistas del sistema devuelven valores que son únicos dentro de una base de datos única o dentro de un grupo elástico.
Si el autor de la llamada de DB_ID
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.
En este ejemplo se devuelve el identificador de base de datos de la base de datos actual.
SELECT DB_ID() AS [Database ID];
GO
En este ejemplo se devuelve el identificador de base de datos de la base de datos AdventureWorks2022
.
SELECT DB_ID(N'AdventureWorks2008R2') AS [Database ID];
GO
En este ejemplo se usa DB_ID
para devolver el identificador de base de datos de la base de datos AdventureWorks2022
en la función del sistema sys.dm_db_index_operational_stats
. La función toma un Id. de base de datos como primer parámetro.
DECLARE @db_id INT;
DECLARE @object_id INT;
SET @db_id = DB_ID(N'AdventureWorks2022');
SET @object_id = OBJECT_ID(N'AdventureWorks2022.Person.Address');
IF @db_id IS NULL
BEGIN;
PRINT N'Invalid database';
END;
ELSE IF @object_id IS NULL
BEGIN;
PRINT N'Invalid object';
END;
ELSE
BEGIN;
SELECT * FROM sys.dm_db_index_operational_stats(@db_id, @object_id, NULL, NULL);
END;
GO
En este ejemplo se devuelve el identificador de base de datos de la base de datos actual.
SELECT DB_ID();
En este ejemplo se devuelve el identificador de base de datos de la base de datos AdventureWorksDW2022.
SELECT DB_ID('AdventureWorksPDW2012');
DB_NAME (Transact-SQL)
Funciones de metadatos (Transact-SQL)
sys.databases (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoy