DATABASEPROPERTYEX (SQL Transact)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Untuk database tertentu dalam SQL Server, fungsi ini mengembalikan pengaturan saat ini dari opsi atau properti database yang ditentukan.
Sintaks
DATABASEPROPERTYEX ( database , property )
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
database
Ekspresi yang menentukan nama database yang DATABASEPROPERTYEX akan 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.
property
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 ke DATABASEPROPERTYEX akan mengembalikan NULL jika DATABASEPROPERTYEX mengambil nilai tersebut dengan akses database langsung, alih-alih mengambil dari metadata. Database dengan AUTO_CLOSE diatur ke AKTIF, atau offline, didefinisikan sebagai 'tidak dimulai.'
| Properti | Deskripsi | Nilai yang dikembalikan |
|---|---|---|
| Kolase | Nama kolatasi default untuk database. | Nama kolajek NULL: Database tidak dimulai. Jenis data dasar: nvarchar(128) |
| ComparisonStyle | Gaya perbandingan Windows kolamen. Gunakan nilai gaya berikut untuk menyusun bitmap untuk nilai ComparisonStyle yang sudah selesai: Abaikan kasus : 1 Abaikan aksen : 2 Abaikan Kana : 65536 Abaikan lebar : 131072 Misalnya, default 196609 adalah hasil dari menggabungkan opsi Abaikan kasus, Abaikan Kana, dan Abaikan lebar. |
Mengembalikan gaya perbandingan. Mengembalikan 0 untuk semua kolatasi biner. Jenis data dasar: int |
| Edisi | Edisi database atau tingkat layanan. | Berlaku untuk: Azure SQL Database, Azure Synapse Analytics. Tujuan Umum Bisnis Kritis Dasar Standard Premium Sistem (untuk database master) NULL: Database tidak dimulai. Jenis data dasar: nvarchar(64) |
| IsAnsiNullDefault | Database mengikuti aturan ISO untuk mengizinkan nilai null. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsAnsiNullsEnabled | Semua perbandingan dengan null dievaluasi ke tidak diketahui. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsAnsiPaddingEnabled | String diisi dengan panjang yang sama sebelum perbandingan atau sisipan. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsAnsiWarningsEnabled | SQL Server mengeluarkan pesan kesalahan atau peringatan saat kondisi kesalahan standar terjadi. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsArithmeticAbortEnabled | Kueri berakhir ketika terjadi kesalahan luapan atau bagi-demi-nol selama eksekusi kueri. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsAutoClose | Database dimatikan dengan bersih dan membebaskan sumber daya setelah pengguna terakhir keluar. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsAutoCreateStatistics | Pengoptimal kueri membuat statistik kolom tunggal, sesuai kebutuhan, untuk meningkatkan performa kueri. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsAutoCreateStatisticsIncremental | Statistik kolom tunggal yang dibuat secara otomatis bertahap jika memungkinkan. | Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru. 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsAutoShrink | File database adalah kandidat untuk penyusutan berkala otomatis. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsAutoUpdateStatistics | Saat kueri menggunakan statistik yang berpotensi kedaluarsa, pengoptimal kueri memperbarui statistik tersebut. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsClone | Database adalah salinan database pengguna khusus skema dan statistik yang dibuat dengan DBCC CLONEDATABASE. Lihat Artikel Dukungan Microsoft untuk informasi selengkapnya. | Berlaku untuk: SQL Server 2014 (12.x) SP2 dan yang lebih baru. 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsCloseCursorsOnCommitEnabled | Ketika transaksi berkomitmen, semua kursor terbuka akan ditutup. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsFulltextEnabled | Database diaktifkan untuk pengindeksan teks lengkap dan semantik. | Berlaku untuk: SQL Server 2008 dan yang lebih baru. 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int Catatan: Nilai properti ini sekarang tidak berpengaruh. Database pengguna selalu diaktifkan untuk pencarian teks lengkap. Rilis SQL Server 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 | Database online sebagai baca-saja, dengan log pemulihan diizinkan. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsLocalCursorsDefault | Deklarasi kursor default ke LOKAL. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsMemoryOptimizedElevateToSnapshotEnabled | Tabel yang dioptimalkan memori diakses menggunakan isolasi SNAPSHOT, ketika pengaturan sesi TINGKAT ISOLASI TRANSAKSI diatur ke READ COMMITTED, READ UNCOMMITTED, atau tingkat isolasi yang lebih rendah. | Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru. 1: TRUE 0: FALSE Jenis data dasar: int |
| IsMergePublished | SQL Server mendukung publikasi tabel database untuk replikasi penggabungan, jika replikasi diinstal. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsNullConcat | Pengoperasian perangkaian null menghasilkan NULL. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsNumericRoundAbortEnabled | Kesalahan dihasilkan ketika hilangnya presisi terjadi dalam ekspresi. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsParameterizationForced | Opsi SET database PARAMETERISASI ADALAH FORCED. | 1: TRUE 0: FALSE NULL: Input tidak valid |
| IsQuotedIdentifiersEnabled | Tanda kutip ganda pada pengidentifikasi diizinkan. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsPublished | Jika replikasi diinstal, SQL Server mendukung publikasi tabel database untuk rekam jepret atau replikasi transaksional. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsRecursiveTriggersEnabled | Pengaktifan pemicu secara rekursif diaktifkan. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsSubscribed | Database berlangganan publikasi. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsSyncWithBackup | Database adalah database yang diterbitkan atau database distribusi, dan mendukung pemulihan yang tidak akan mengganggu replikasi transaksional. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsTornPageDetectionEnabled | Mesin Database SQL Server mendeteksi operasi I/O yang tidak lengkap yang disebabkan oleh kegagalan daya atau pemadaman sistem lainnya. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsVerifiedClone | Database adalah skema dan statistik- hanya salinan database pengguna, yang dibuat menggunakan opsi WITH VERIFY_CLONEDB DBCC CLONEDATABASE. Lihat Artikel Dukungan Microsoft ini untuk informasi selengkapnya. | Berlaku untuk: Dimulai dengan SQL Server 2016 (13.x) SP2. 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
| IsXTPSupported | Menunjukkan apakah database mendukung In-Memory OLTP, yaitu pembuatan dan penggunaan tabel yang dioptimalkan memori dan modul yang dikompilasi secara asli. Khusus untuk SQL Server: IsXTPSupported tidak bergantung pada keberadaan grup file MEMORY_OPTIMIZED_DATA apa pun, yang diperlukan untuk membuat objek OLTP In-Memory. |
Berlaku untuk: SQL Server (SQL Server 2016 (13.x) dan yang lebih baru), dan Azure SQL Database. 1: TRUE 0: FALSE NULL: Input tidak valid, kesalahan, atau tidak berlaku Jenis data dasar: int |
| LastGoodCheckDbTime | Tanggal dan waktu DBCC CHECKDB terakhir yang berhasil yang berjalan pada database yang ditentukan. 1 Jika DBCC CHECKDB belum dijalankan pada database, 1900-01-01 00:00:00.000 dikembalikan. | Berlaku untuk: SQL Server 2016 (13.x) yang dimulai dengan SP2. SQL Server 2017 (14.x) dimulai dengan CU9. SQL Server 2019 (15.x) atau yang lebih baru. Azure SQL Database. Nilai tanggalwaktu NULL: Input tidak valid Jenis data dasar: tanggalwaktu |
| LCID | Kolaborasi Windows pengidentifikasi lokal (LCID). | Nilai LCID (dalam format desimal). Jenis data dasar: int |
| MaxSizeInBytes | Ukuran database maksimum, dalam byte. | Berlaku untuk: Azure SQL Database, Azure Synapse Analytics. 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 tidak dimulai Jenis data dasar: bigint |
| Pemulihan | Model pemulihan database | PENUH: Model pemulihan penuh BULK_LOGGED: Model yang dicatat secara massal SEDERHANA: Model pemulihan sederhana Jenis data dasar: nvarchar(128) |
| ServiceObjective | Menjelaskan tingkat performa database di SQL Database atau Azure Synapse Analytics. | Salah satu dari berikut ini: Null: database tidak dimulai Bersama (untuk edisi Web/Bisnis) Dasar S0 S1 S2 S3 P1 P2 P3 ElasticPool Sistem (untuk master DB) Jenis data dasar: nvarchar(32) |
| ServiceObjectiveId | Id tujuan layanan dalam SQL Database. | pengidentifikasi unik yang mengidentifikasi tujuan layanan. |
| SQLSortOrder | SQL Server id urutan pengurutan yang didukung di versi SQL Server sebelumnya. | 0: Database menggunakan kolace Windows >0: SQL Server id urutan pengurutan NULL: Input tidak valid, atau database belum dimulai Jenis data dasar: tinyint |
| Status | Status database. | ONLINE: Database tersedia untuk kueri. Catatan: Fungsi ini dapat mengembalikan status ONLINE saat database terbuka dan belum pulih. Untuk mengidentifikasi apakah database ONLINE dapat menerima koneksi, kueri properti Kolaset DATABASEPROPERTYEX. Database ONLINE dapat menerima koneksi saat kolamen database mengembalikan nilai bukan null. Untuk database AlwaysOn, kueri kolom sys.dm_hadr_database_replica_statesdatabase_state atau database_state_desc .OFFLINE: Database secara eksplisit diambil secara offline. MEMULIHKAN: Pemulihan database telah dimulai. PEMULIHAN: Pemulihan database telah dimulai dan database belum siap untuk kueri. SUSPECT: Database tidak pulih. Darurat: Database dalam keadaan darurat, baca-saja. Akses dibatasi untuk anggota sysadmin Jenis data dasar: nvarchar(128) |
| Kemampuan pembaruan | Menunjukkan apakah data dapat dimodifikasi. | READ_ONLY: Database mendukung pembacaan data tetapi bukan modifikasi data. READ_WRITE: Database mendukung pembacaan dan modifikasi data. Jenis data dasar: nvarchar(128) |
| UserAccess | 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 Jenis data dasar: nvarchar(128) |
| Versi | Nomor versi internal kode SQL Server yang dengannya database dibuat. Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin. | Nomor versi: Database terbuka. NULL: Database belum dimulai. Jenis data dasar: int |
Catatan
1 Untuk database yang merupakan bagian dari Grup Ketersediaan, LastGoodCheckDbTime akan mengembalikan tanggal dan waktu DBCC CHECKDB terakhir yang berhasil yang berjalan pada replika utama, terlepas dari replika tempat Anda menjalankan perintah.
Tipe yang dikembalikan
aql_variant
Pengecualian
Mengembalikan NULL pada kesalahan, atau jika penelepon tidak memiliki izin untuk melihat objek.
Dalam SQL Server, pengguna hanya dapat melihat metadata yang diamankan yang dimiliki pengguna atau di mana pengguna telah diberikan izin. Ini berarti bahwa fungsi bawaan yang memancarkan metadata seperti OBJECT_ID dapat mengembalikan NULL jika pengguna tidak memiliki izin pada objek. Lihat Konfigurasi Visibilitas Metadata untuk informasi selengkapnya.
Keterangan
DATABASEPROPERTYEX hanya mengembalikan satu pengaturan properti pada satu waktu. Untuk menampilkan beberapa pengaturan properti, gunakan tampilan katalog sys.databases .
Contoh
A. Mengambil status opsi database AUTO_SHRINK
Contoh ini mengembalikan status opsi database AUTO_SHRINK untuk AdventureWorks database.
SELECT DATABASEPROPERTYEX('AdventureWorks2014', 'IsAutoShrink');
Berikut adalah hasil yang ditetapkan. Ini menunjukkan bahwa AUTO_SHRINK nonaktif.
------------------
0
B. Mengambil kolae default untuk database
Contoh ini mengembalikan beberapa atribut AdventureWorks database.
SELECT
DATABASEPROPERTYEX('AdventureWorks2014', 'Collation') AS Collation,
DATABASEPROPERTYEX('AdventureWorks2014', 'Edition') AS Edition,
DATABASEPROPERTYEX('AdventureWorks2014', 'ServiceObjective') AS ServiceObjective,
DATABASEPROPERTYEX('AdventureWorks2014', 'MaxSizeInBytes') AS MaxSizeInBytes
Berikut adalah hasil yang ditetapkan.
Collation Edition ServiceObjective MaxSizeInBytes
---------------------------- ------------- ---------------- --------------
SQL_Latin1_General_CP1_CI_AS DataWarehouse DW1000 5368709120
C. Gunakan DATABASEPROPERTYEX untuk memverifikasi koneksi ke replika
Saat menggunakan Azure SQL Database membaca fitur peluasan skala, Anda bisa memverifikasi apakah Anda tersambung ke replika baca-saja atau tidak dengan menjalankan kueri berikut dalam konteks database Anda. Ini akan mengembalikan 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');
Lihat juga
MENGUBAH DATABASE (T-SQL)
Status Database
sys.databases (T-SQL)
sys.database_files (Transact-SQL)
SERVERPROPERTY (transact-SQL)
