Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Bu işlev, belirtilen bir veritabanının veritabanı tanımlama (KIMLIK) numarasını döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
DB_ID ( [ 'database_name' ] )
Tartışmalar
'database_name'
Veritabanı kimlik numarası DB_ID döndürülecek veritabanının adı. çağrısı DB_IDdatabase_name atlarsa geçerli DB_ID veritabanının kimliğini döndürür.
Dönüş türleri
int
Açıklamalar
DB_ID yalnızca Azure SQL Veritabanı'nda geçerli veritabanının veritabanı tanımlayıcısını döndürmek için kullanılabilir. Belirtilen veritabanı adı geçerli veritabanı dışındaysa NULL döndürülür.
Uyarı
Azure SQL Veritabanı'nda DB_IDdatabase_id ve sys.database_service_objectives sütunundaki sütunla aynı değeri döndürmeyebilir. Bu iki görünüm mantıksal sunucu içinde benzersiz değerler döndürürken database_idDB_ID , diğer sistem görünümlerindeki sütun ise database_id tek bir veritabanında veya elastik havuz içinde benzersiz değerler döndürür.
İzinler
çağıranın DB_ID belirli bir asıl olmayan veya tempdb olmayan veritabanına sahip olmaması durumunda, ALTER ANY DATABASEVIEW ANY DATABASE ilgili DB_ID satırı görmek için en azından sunucu düzeyinde izinler gereklidir.
Ana veritabanı DB_ID için en azından izin gerekirCREATE DATABASE. Çağıranın bağlandığı veritabanı her zaman sys.databases içinde görünür.
Önemli
Varsayılan olarak, genel rol tüm oturum açma işlemlerinin VIEW ANY DATABASE veritabanı bilgilerini görmesine izin veren izne sahiptir. Oturum açma bilgilerinin bir veritabanını algılamasını, REVOKE genel iznini VIEW ANY DATABASE veya DENYVIEW ANY DATABASE tek tek oturum açma izinlerini önleme.
Örnekler
A. Geçerli veritabanının veritabanı kimliğini döndürme
Bu örnek, geçerli veritabanının veritabanı kimliğini döndürür.
SELECT DB_ID() AS [Database ID];
GO
B. Belirtilen veritabanının veritabanı kimliğini döndürme
Bu örnek, veritabanının AdventureWorks2025 veritabanı kimliğini döndürür.
SELECT DB_ID(N'AdventureWorks2008R2') AS [Database ID];
GO
C. Sistem işlevi parametresinin değerini belirtmek için DB_ID kullanma
Bu örnek, sistem işlevindeki DB_IDveritabanının AdventureWorks2025 veritabanı kimliğini döndürmek için kullanırsys.dm_db_index_operational_stats. İşlev, ilk parametre olarak bir veritabanı kimliği alır.
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
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
D. Geçerli veritabanının kimliğini döndürme
Bu örnek, geçerli veritabanının veritabanı kimliğini döndürür.
SELECT DB_ID();
E. Adlandırılmış veritabanının kimliğini döndürür.
Bu örnek AdventureWorksDW2022 veritabanının veritabanı kimliğini döndürür.
SELECT DB_ID('AdventureWorksPDW2012');
Ayrıca bakınız
DB_NAME (Transact-SQL)
Meta Veri İşlevleri (Transact-SQL)
sys.databases (Transact-SQL)
sys.dm_db_index_operational_stats (Transact-SQL)