DATABASEPROPERTYEX (SQL Transact)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

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

Topic link iconKonvensi Sintaksis T-SQL

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)