Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Perbedaan Antara sys.parameters, sys.system_parameters, &sys.all_parameters di SQL Server

Jika Anda mencari tampilan katalog untuk mengembalikan informasi parameter di SQL Server, Anda punya pilihan. Secara khusus, Anda bisa mendapatkan informasi parameter dari sys.parameters , sys.system_parameters , dan sys.all_parameters .

Namun, Anda mungkin hanya ingin menggunakan salah satu tampilan ini, karena ada perbedaan di antara keduanya.

Berikut definisi resmi dari setiap tampilan:

sys.parameters
Berisi baris untuk setiap parameter objek yang menerima parameter. Jika objek adalah fungsi skalar, ada juga satu baris yang menggambarkan nilai kembalian. Baris itu akan memiliki nilai parameter_id 0.
sys.system_parameters
Berisi satu baris untuk setiap objek sistem yang memiliki parameter.
sys.all_parameters
Menampilkan gabungan semua parameter yang dimiliki oleh objek yang ditentukan pengguna atau sistem.

Dengan kata lain, tampilan terakhir menggabungkan hasil dari dua tampilan sebelumnya (mengembalikan informasi parameter dari kedua sistem dan objek yang ditentukan pengguna).

Contoh

Berikut adalah contoh yang menunjukkan perbedaan hasil yang ditampilkan oleh tampilan ini.

USE Music;

SELECT COUNT(*) AS parameters
FROM sys.parameters;

SELECT COUNT(*) AS system_parameters
FROM sys.system_parameters;

SELECT COUNT(*) AS all_parameters
FROM sys.all_parameters;

Hasil:

+--------------+
| parameters   |
|--------------|
| 7            |
+--------------+
(1 row affected)
+---------------------+
| system_parameters   |
|---------------------|
| 7442                |
+---------------------+
(1 row affected)
+------------------+
| all_parameters   |
|------------------|
| 7449             |
+------------------+
(1 row affected)

Dalam hal ini, hanya ada 7 parameter untuk objek yang ditentukan pengguna dalam database ini. Sisanya berasal dari objek sistem.

Jika kita menambahkan hasil dari dua kueri pertama bersama-sama, kita mendapatkan hasil yang sama sebagai sys.all_views :

SELECT 
(SELECT COUNT(*) FROM sys.parameters) +
(SELECT COUNT(*) FROM sys.system_parameters)
AS Result;

Hasil:

+----------+
| Result   |
|----------|
| 7449     |
+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memanggil prosedur tersimpan dengan nilai kembali

  2. Kesalahan SQL Server pada perintah pembaruan - Kesalahan parah terjadi pada perintah saat ini

  3. Konversi Nomor Bulan ke Fungsi Nama Bulan di SQL

  4. Ambil gambar dari database di asp.net

  5. Kesalahan SSMS 2016 Mengimpor Azure SQL v12 bacpac:kunci master tanpa kata sandi tidak didukung