DB_ID (Transact-SQL)

 

ESTE TEMA SE APLICA A: síSQL Server (a partir de 2008)síBase de datos SQL de AzuresíAlmacenamiento de datos SQL de Azure síAlmacenamiento de datos paralelos

Devuelve el número de identificación (identificador) de la base de datos.

Topic link icon Convenciones de sintaxis de Transact-SQL

-- Syntax for SQL Server, Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse  
  
DB_ID ( [ 'database_name' ] )   

'database_name'
Es el nombre de base de datos que se utiliza para devolver el Id. de base de datos correspondiente. database_name es sysname. Si database_name es se omite, se devuelve el identificador de base de datos actual.

int

If el autor de llamada de DB) identificador no es el propietario de la base de datos y la base de datos no es maestro o tempdb, los permisos mínimos necesarios para ver la fila correspondiente son ALTER ANY DATABASE o VIEW ANY DATABASE permiso de nivel de servidor o el permiso CREATE DATABASE en la maestro base de datos. La base de datos a la que está conectado el autor de la llamada siempre se puede ver en sys.databases.

System_CAPS_ICON_important.jpg Importante


De forma predeterminada, la función public tiene el permiso VIEW ANY DATABASE, lo que permite todos los inicios de sesión ver información de la base de datos. Para bloquear un inicio de sesión de la capacidad para detectar una base de datos, REVOCAR el permiso VIEW ANY DATABASE de pública o denegar el permiso VIEW ANY DATABASE para inicios de sesión individuales.

A. Devolver el Id. de base de datos de la base de datos actual

El siguiente ejemplo devuelve el Id. de base de datos de la base de datos actual.

SELECT DB_ID() AS [Database ID];  
GO  

B. Devolver el Id. de base de datos de una base de datos específica

En el ejemplo siguiente se devuelve el identificador de base de datos de la AdventureWorks2012 base de datos.

SELECT DB_ID(N'AdventureWorks2008R2') AS [Database ID];  
GO  

C. Usar DB_ID para especificar el valor de un parámetro de una función del sistema

En el ejemplo siguiente se utiliza DB_ID para devolver el identificador de base de datos de la AdventureWorks2012 base de datos 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'AdventureWorks2012');  
SET @object_id = OBJECT_ID(N'AdventureWorks2012.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  

D. Devuelve el identificador de la base de datos actual

El siguiente ejemplo devuelve el Id. de base de datos de la base de datos actual.

SELECT DB_ID();  

E. Devuelve el identificador de una base de datos con nombre.

En el ejemplo siguiente se devuelve el identificador de base de datos de la base de datos AdventureWorksDW2012.

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)

Adiciones de comunidad

AGREGAR
Mostrar: