Bagikan melalui


DATABASEPROPERTYEX (Transact-SQL)

Berlaku untuk:SQL ServerDatabase Azure SQLInstans Terkelola Azure SQLAzure Synapse AnalyticsSistem Platform Analitik (PDW)Database SQL di Microsoft Fabric

Untuk database tertentu di SQL Server, DATABASEPROPERTYEX fungsi mengembalikan pengaturan saat ini dari opsi atau properti database yang ditentukan.

Konvensi sintaks transact-SQL

Sintaks

DATABASEPROPERTYEX ( database , property )

Argumen

basisdata

Ekspresi yang menentukan nama database yang DATABASEPROPERTYEX mengembalikan informasi properti bernama. database memiliki jenis data nvarchar(128).

Untuk SQL Database, DATABASEPROPERTYEX memerlukan nama database saat ini. Ini mengembalikan NULL untuk semua properti jika diberi nama database yang berbeda.

harta benda

Ekspresi yang menentukan nama properti database yang akan dikembalikan. properti memiliki jenis data varchar(128), dan mendukung salah satu nilai dalam tabel ini:

Catatan

Jika database belum dimulai, panggilan untuk DATABASEPROPERTYEX mengembalikan NULL jika DATABASEPROPERTYEX mengambil nilai tersebut dengan akses database langsung, alih-alih pengambilan dari metadata. Database dengan AUTO_CLOSE diatur ke ON, atau offline, didefinisikan sebagai 'tidak dimulai.'

Properti Deskripsi Nilai yang dikembalikan
Collation

Jenis data: nvarchar(128)
Nama kolatasi default untuk database. Nama kolas. Jika NULL, database tidak dimulai.
ComparisonStyle

Jenis data: int
Gaya perbandingan Windows dari kolate. Gunakan nilai gaya berikut untuk membangun bitmap untuk nilai jadi ComparisonStyle :

- 1: Abaikan kasus
- 2: Abaikan aksen
- 65536: Abaikan kana
- 131072: Abaikan lebar

Misalnya, default adalah 196609 hasil dari menggabungkan kasus abaikan, mengabaikan kana, dan mengabaikan opsi lebar .
Mengembalikan gaya perbandingan.

Mengembalikan 0 untuk semua kolatasi biner.
Edition

Jenis data: nvarchar(64)
Edisi database atau tingkat layanan. - General Purpose
- Business Critical
- Basic
- Standard
- Premium
- System (untuk master database)
- FabricSQLDB: Database SQL di Microsoft Fabric
- NULL: Database tidak dimulai.

Berlaku untuk: Azure SQL Database, database SQL di Microsoft Fabric, Azure Synapse Analytics.
IsAnsiNullDefault

Jenis data: int
Database mengikuti aturan ISO untuk mengizinkan NULL nilai. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsAnsiNullsEnabled

Jenis data: int
Semua perbandingan dengan NULL evaluasi ke tidak diketahui. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsAnsiPaddingEnabled

Jenis data: int
String diisi dengan panjang yang sama sebelum perbandingan atau sisipkan. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsAnsiWarningsEnabled

Jenis data: int
SQL Server mengeluarkan kesalahan atau pesan peringatan ketika kondisi kesalahan standar terjadi. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsArithmeticAbortEnabled

Jenis data: int
Kueri berakhir ketika terjadi kesalahan luapan atau membagi berdasarkan nol selama eksekusi kueri. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsAutoClose

Jenis data: int
Database dimatikan dengan bersih dan membebaskan sumber daya setelah pengguna terakhir keluar. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsAutoCreateStatistics

Jenis data: int
Pengoptimal kueri membuat statistik kolom tunggal, sesuai kebutuhan, untuk meningkatkan performa kueri. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsAutoCreateStatisticsIncremental

Jenis data: int
Statistik kolom tunggal yang dibuat secara otomatis bertahap jika memungkinkan. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid

Berlaku untuk: SQL Server 2014 (12.x) dan versi yang lebih baru.
IsAutoShrink

Jenis data: int
File database adalah kandidat untuk penyusutan berkala otomatis. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsAutoUpdateStatistics

Jenis data: int
Saat kueri menggunakan statistik yang berpotensi kedaluarsa yang ada, pengoptimal kueri memperbarui statistik tersebut. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsClone

Jenis data: int
Database adalah salinan database pengguna khusus skema dan statistik yang dibuat dengan DBCC CLONEDATABASE. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid

Berlaku untuk: SQL Server 2014 (12.x) SP2 dan versi yang lebih baru.
IsCloseCursorsOnCommitEnabled

Jenis data: int
Saat transaksi dilakukan, semua kursor terbuka ditutup. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsDatabaseSuspendedForSnapshotBackup

Jenis data: int
Database ditangguhkan. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsFulltextEnabled

Jenis data: int
Database diaktifkan untuk pengindeksan teks lengkap dan semantik. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid

Berlaku untuk: SQL Server 2008 (10.0.x) dan versi yang lebih baru.

Catatan: Nilai properti ini sekarang tidak berpengaruh. Database pengguna selalu diaktifkan untuk pencarian teks lengkap. Rilis SQL Server di masa mendatang akan menghapus properti ini. Jangan gunakan properti ini dalam pekerjaan pengembangan baru, dan ubah aplikasi yang saat ini menggunakan properti ini sesegera mungkin.
IsInStandBy

Jenis data: int
Database online sebagai baca-saja, dengan log pemulihan diizinkan. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsLocalCursorsDefault

Jenis data: int
Deklarasi kursor default ke LOCAL. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsMemoryOptimizedElevateToSnapshotEnabled

Jenis data: int
Tabel yang dioptimalkan memori diakses menggunakan SNAPSHOT isolasi, ketika pengaturan TRANSACTION ISOLATION LEVEL sesi diatur ke READ COMMITTED, READ UNCOMMITTED, atau tingkat isolasi yang lebih rendah. - 1:Benar
- 0:Palsu

Berlaku untuk: SQL Server 2014 (12.x) dan versi yang lebih baru.
IsMergePublished

Jenis data: int
SQL Server mendukung publikasi tabel database untuk replikasi penggabungan, jika replikasi diinstal. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsNullConcat

Jenis data: int
Pengoperasian perangkaian null menghasilkan NULL. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsNumericRoundAbortEnabled

Jenis data: int
Kesalahan dihasilkan ketika hilangnya presisi terjadi dalam ekspresi. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsOptimizedLockingOn

Jenis data: int
Penguncian yang dioptimalkan diaktifkan untuk database. - 1:Benar
- 0:Palsu
- NULL: Tidak tersedia

Berlaku untuk: SQL Server 2025 (17.x) dan versi yang lebih baru, Azure SQL Database, Azure SQL Managed InstanceAUTD, dan database SQL di Microsoft Fabric.
IsParameterizationForced

Jenis data: int
PARAMETERIZATION opsi database SET adalah FORCED. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsQuotedIdentifiersEnabled

Jenis data: int
Tanda kutip ganda pada pengidentifikasi diizinkan. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsPublished

Jenis data: int
Jika replikasi diinstal, SQL Server mendukung publikasi tabel database untuk rekam jepret atau replikasi transaksional. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsRecursiveTriggersEnabled

Jenis data: int
Pengaktifan pemicu secara rekursif diaktifkan. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsSubscribed

Jenis data: int
Database berlangganan publikasi. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsSyncWithBackup

Jenis data: int
Database adalah database yang diterbitkan atau database distribusi, dan mendukung pemulihan yang tidak mengganggu replikasi transaksional. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsTornPageDetectionEnabled

Jenis data: int
Mesin Database SQL Server mendeteksi operasi I/O yang tidak lengkap yang disebabkan oleh kegagalan daya atau pemadaman sistem lainnya. - 1:Benar
- 0:Palsu
- NULL: Input tidak valid
IsVerifiedClone

Jenis data: int
Database adalah skema- dan statistik - hanya salinan database pengguna, yang dibuat menggunakan WITH VERIFY_CLONEDB opsi .DBCC CLONEDATABASE - 1:Benar
- 0:Palsu
- NULL: Input tidak valid

Berlaku untuk: SQL Server 2016 (13.x) SP2 dan versi yang lebih baru.
IsXTPSupported

Jenis data: int
Menunjukkan apakah database mendukung OLTP Dalam Memori. Misalnya, pembuatan dan penggunaan tabel yang dioptimalkan memori dan modul yang dikompilasi secara asli.

Khusus untuk SQL Server:

IsXTPSupported tidak bergantung pada keberadaan grup file apa pun MEMORY_OPTIMIZED_DATA , yang diperlukan untuk membuat objek OLTP In-Memory.
- 1:Benar
- 0:Palsu
- NULL: Input tidak valid, kesalahan, atau tidak berlaku

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru, dan Azure SQL Database.
LastGoodCheckDbTime

Jenis data: tanggalwaktu
Tanggal dan waktu keberhasilan DBCC CHECKDB terakhir yang berjalan pada database yang ditentukan. Jika DBCC CHECKDB belum dijalankan pada database, 1900-01-01 00:00:00.000 dikembalikan. Untuk database yang merupakan bagian dari grup ketersediaan, LastGoodCheckDbTime mengembalikan tanggal dan waktu keberhasilan DBCC CHECKDB terakhir yang berjalan pada replika utama, terlepas dari replika tempat Anda menjalankan perintah. NULL: Input tidak valid

Berlaku untuk: SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU9, SQL Server 2019 (15.x) dan versi yang lebih baru, Azure SQL Database, dan database SQL di Microsoft Fabric.
LCID

Jenis data: int
Pengidentifikasi lokal Windows kolaborasi (LCID). Nilai LCID (dalam format desimal).
MaxSizeInBytes

Jenis data: bigint
Ukuran database maksimum, dalam byte. - Azure SQL Database dan Azure Synapse Analytics: Nilai didasarkan pada SLO kecuali penyimpanan tambahan telah dibeli.

- vCore: Nilai dalam kenaikan 1GB hingga ukuran maksimum.

- NULL: Database belum dimulai

Berlaku untuk: Azure SQL Database, SQL database di Microsoft Fabric, dan Azure Synapse Analytics.
Recovery

Jenis data: nvarchar(128)
Model pemulihan database. - FULL: Model pemulihan penuh
- BULK_LOGGED: Model yang dicatat secara massal
- SIMPLE: Model pemulihan sederhana
ServiceObjective

Jenis data: nvarchar(32)
Menjelaskan tingkat performa database di SQL Database, database SQL di Microsoft Fabric, atau Azure Synapse Analytics. Salah satu dari nilai berikut:

- NULL: database tidak dimulai
- Shared (untuk edisi Web/Bisnis)
- Basic
- S0
- S1
- S2
- S3
- P1
- P2
- P3
- ElasticPool
- System (untuk master database)
- FabricSQLDB: Database SQL di Microsoft Fabric
ServiceObjectiveId

Jenis data: uniqueidentifier
ID tujuan layanan di SQL Database. ID tujuan layanan.
SQLSortOrder

Jenis data: tinyint
ID urutan sortir SQL Server yang didukung di versi SQL Server yang lebih lama. - 0: Database menggunakan kolatasi Windows

- >0: ID urutan sortir SQL Server

- NULL: Input tidak valid, atau database belum dimulai
Status

Jenis data: nvarchar(128)
Status database. ONLINE: Database tersedia untuk kueri.

Nota: Fungsi mungkin mengembalikan status ONLINE saat database terbuka dan belum dipulihkan. Untuk mengidentifikasi apakah ONLINE database dapat menerima koneksi, kueri Collation properti .DATABASEPROPERTYEX Database ONLINE dapat menerima koneksi saat kolamen database mengembalikan nilai non-null. Untuk database AlwaysOn, kueri database_state kolom database_state_descatau sys.dm_hadr_database_replica_states .

- OFFLINE: Database secara eksplisit diambil secara offline.

- RESTORING: Pemulihan database telah dimulai.

- RECOVERING: Pemulihan database telah dimulai dan database belum siap untuk kueri.

- SUSPECT: Database tidak pulih.

- EMERGENCY: Database dalam keadaan darurat, baca-saja. Akses dibatasi untuk anggota sysadmin
Updateability

Jenis data: nvarchar(128)
Menunjukkan apakah data dapat dimodifikasi. READ_ONLY: Database mendukung pembacaan data tetapi bukan modifikasi data.

- READ_WRITE: Database mendukung pembacaan dan modifikasi data.
UserAccess

Jenis data: nvarchar(128)
Menunjukkan pengguna mana yang dapat mengakses database. SINGLE_USER: Hanya satu pengguna db_owner, dbcreator, atau sysadmin pada satu waktu

- RESTRICTED_USER: Hanya anggota peran db_owner, dbcreator, atau sysadmin

- MULTI_USER: Semua pengguna
Version

Jenis data: int
Nomor versi internal kode SQL Server tempat database dibuat. Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin. - Nomor versi: Database terbuka.

- NULL: Database belum dimulai.
ReplicaID

Jenis data: nvarchar(128)
ID replika database/replika hyperscale yang terhubung. Hanya mengembalikan ID replika database/replika Hyperscale yang tersambung. Untuk mempelajari selengkapnya tentang jenis replika, lihat Replika sekunder Hyperscale.

- NULL: Bukan database hyperscale, atau database tidak dimulai.

Berlaku untuk: Azure SQL Database Hyperscale.

Jenis yang dikembalikan

aql_variant

Pengecualian

NULL Mengembalikan kesalahan, atau jika pemanggil tidak memiliki izin untuk melihat objek.

Di SQL Server, pengguna hanya dapat melihat metadata dari securables yang dimiliki pengguna atau tempat pengguna telah diberikan izin. Aturan ini berarti bahwa fungsi bawaan yang memancarkan metadata seperti OBJECT_ID dapat mengembalikan NULL jika pengguna tidak memiliki izin pada objek. Untuk informasi selengkapnya, lihat Konfigurasi visibilitas metadata.

Keterangan

DATABASEPROPERTYEX hanya mengembalikan satu pengaturan properti pada satu waktu. Untuk menampilkan beberapa pengaturan properti, gunakan tampilan katalog sys.databases .

Contoh

Sampel kode dalam artikel ini menggunakan database sampel AdventureWorks2025 atau AdventureWorksDW2025, yang dapat Anda unduh dari halaman beranda Sampel dan Proyek Komunitas Microsoft SQL Server.

J. Mengambil status opsi database AUTO_SHRINK

Contoh ini mengembalikan status AUTO_SHRINK opsi database untuk AdventureWorks database.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');

Berikut set hasilnya. Ini menunjukkan bahwa AUTO_SHRINK tidak aktif.

0

B. Mengambil kolatasi default untuk database

Contoh ini mengembalikan beberapa atribut AdventureWorks database.

SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'Collation') AS Collation,
       DATABASEPROPERTYEX('AdventureWorks2022', 'Edition') AS Edition,
       DATABASEPROPERTYEX('AdventureWorks2022', 'ServiceObjective') AS ServiceObjective,
       DATABASEPROPERTYEX('AdventureWorks2022', 'MaxSizeInBytes') AS MaxSizeInBytes;

Berikut set hasilnya.

Collation                     Edition        ServiceObjective  MaxSizeInBytes
----------------------------  -------------  ----------------  --------------
SQL_Latin1_General_CP1_CI_AS  DataWarehouse  DW1000            5368709120

C. Menggunakan DATABASEPROPERTYEX untuk memverifikasi koneksi ke replika

Saat Anda menggunakan fitur peluasan skala Azure SQL Database, Anda dapat memverifikasi apakah Anda tersambung ke replika baca-saja atau tidak dengan menjalankan kueri berikut dalam konteks database Anda. Ini kembali READ_ONLY saat Anda tersambung ke replika baca-saja. Dengan cara ini, Anda juga dapat mengidentifikasi kapan kueri berjalan pada replika baca-saja.

SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability');