Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Fungsi ini mengembalikan nomor identifikasi database (ID) dari database tertentu.
Sintaks
DB_ID ( [ 'database_name' ] )
Argumen
'database_name'
Nama database yang nomor DB_ID ID databasenya akan ditampilkan. Jika panggilan untuk DB_ID menghilangkan database_name, DB_ID mengembalikan ID database saat ini.
Jenis yang dikembalikan
int
Keterangan
DB_ID hanya dapat digunakan untuk mengembalikan pengidentifikasi database database saat ini di Azure SQL Database. NULL dikembalikan jika nama database yang ditentukan selain database saat ini.
Catatan
Di Azure SQL Database, DB_ID mungkin tidak mengembalikan nilai yang sama dengan database_id kolom di sys.databases dan sys.database_service_objectives. Kedua tampilan ini mengembalikan database_id nilai yang unik dalam server logis, sementara DB_ID dan database_id kolom dalam tampilan sistem lain mengembalikan nilai yang unik dalam database tunggal atau dalam kumpulan elastis.
Izin
Jika pemanggil DB_ID tidak memiliki database non-master atau non-tempdb tertentu, ALTER ANY DATABASE atau VIEW ANY DATABASE izin tingkat server minimal diperlukan untuk melihat baris yang DB_ID sesuai.
Untuk database master, DB_ID perlu CREATE DATABASE izin minimal. Database tempat pemanggil tersambung akan selalu muncul di sys.databases.
Penting
Secara default, peran publik memiliki VIEW ANY DATABASE izin, yang memungkinkan semua login untuk melihat informasi database. Untuk mencegah masuk mendeteksi database, REVOKEVIEW ANY DATABASE izin dari publik, atau DENYVIEW ANY DATABASE izin untuk masuk individual.
Contoh
J. Mengembalikan ID database dari database saat ini
Contoh ini mengembalikan ID database database saat ini.
SELECT DB_ID() AS [Database ID];
GO
B. Mengembalikan ID database dari database tertentu
Contoh ini mengembalikan ID AdventureWorks2025 database database.
SELECT DB_ID(N'AdventureWorks2008R2') AS [Database ID];
GO
C. Menggunakan DB_ID untuk menentukan nilai parameter fungsi sistem
Contoh ini menggunakan DB_ID untuk mengembalikan ID AdventureWorks2025 database database dalam fungsi sys.dm_db_index_operational_statssistem . Fungsi ini mengambil ID database sebagai parameter pertama.
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
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
D. Mengembalikan ID database saat ini
Contoh ini mengembalikan ID database database saat ini.
SELECT DB_ID();
E. Mengembalikan ID database bernama.
Contoh ini mengembalikan ID database database AdventureWorksDW2022.
SELECT DB_ID('AdventureWorksPDW2012');
Lihat juga
DB_NAME (T-SQL)
Fungsi Metadata (Transact-SQL)
sys.databases (T-SQL)
sys.dm_db_index_operational_stats (T-SQL)