DATABASEPROPERTYEX (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Untuk database tertentu di SQL Server, fungsi ini mengembalikan pengaturan opsi atau properti database yang ditentukan saat ini.
Sintaks
DATABASEPROPERTYEX ( database , property )
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 pengambilan 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) |
PerbandinganStyle | Gaya perbandingan Windows dari kolate. Gunakan nilai gaya berikut untuk membangun 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 kasus abaikan, mengabaikan kana, dan mengabaikan opsi 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 sisipkan. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
IsAnsiWarningsEnabled | SQL Server mengeluarkan kesalahan atau pesan peringatan ketika kondisi kesalahan standar terjadi. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
IsArithmeticAbortEnabled | Kueri berakhir ketika terjadi kesalahan luapan atau membagi berdasarkan 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 yang ada, 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 diterapkan, semua kursor terbuka akan ditutup. | 1: TRUE 0: FALSE NULL: Input tidak valid Jenis data dasar: int |
IsDatabaseSuspendedForSnapshotBackup | Database ditangguhkan. | 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 (10.0.x) 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 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 | 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 | Operan 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 |
Langganan 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 salinan database pengguna khusus skema dan statistik, 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 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 MEMORY_OPTIMIZED_DATA apa pun, yang diperlukan untuk membuat objek OLTP Dalam Memori. |
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) 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 | Pengidentifikasi lokal Windows kolaborasi (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 nilai berikut: Null: database tidak dimulai Bersama (untuk edisi Web/Bisnis) Dasar S0 S1 S2 S3 Hal 1 P2 P3 ElasticPool Sistem (untuk master DB) Jenis data dasar: nvarchar(32) |
ServiceObjectiveId | ID tujuan layanan di SQL Database. | uniqueidentifier yang mengidentifikasi tujuan layanan. |
SQLSortOrder | 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 Jenis data dasar: tinyint |
Status | Status database. | ONLINE: Database tersedia untuk kueri. Catatan: Fungsi dapat mengembalikan status ONLINE saat database terbuka dan belum dipulihkan. Untuk mengidentifikasi apakah database ONLINE dapat menerima koneksi, kueri properti Kolase DATABASEPROPERTYEX. Database ONLINE dapat menerima koneksi saat kolatasi database mengembalikan nilai non-null. Untuk database AlwaysOn, kueri kolom sys.dm_hadr_database_replica_states database_state atau database_state_desc .OFFLINE: Database secara eksplisit diambil secara offline. PEMULIHAN: Pemulihan database telah dimulai. PEMULIHAN: Pemulihan database telah dimulai dan database belum siap untuk kueri. 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 tempat 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 |
ReplicaID | Id replika database/replika hyperscale yang terhubung. | Berlaku untuk: Azure SQL Database. Ini hanya akan mengembalikan id replika dari database/replika hyperscale yang terhubung. Untuk mempelajari selengkapnya tentang jenis replika, lihat Replika sekunder Hyperscale . NULL: Ini bukan database hyperscale atau database tidak dimulai. Jenis data dasar: nvarchar(128) |
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.
Jenis yang dikembalikan
aql_variant
Pengecualian
Mengembalikan NULL pada kesalahan, atau jika penelepon 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. 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
J. Mengambil status opsi database AUTO_SHRINK
Contoh ini mengembalikan status opsi database AUTO_SHRINK untuk AdventureWorks
database.
SELECT DATABASEPROPERTYEX('AdventureWorks2022', 'IsAutoShrink');
Berikut set hasilnya. Ini menunjukkan bahwa AUTO_SHRINK nonaktif.
------------------
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 menggunakan Azure SQL Database membaca fitur peluasan skala, Anda dapat 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)