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

Cara Menggunakan Prosedur Tersimpan 'sp_server_info' di SQL Server

Di SQL Server sp_server_info prosedur tersimpan sistem mengembalikan daftar nama atribut dan nilai yang cocok untuk SQL Server, gateway database, atau sumber data yang mendasarinya. Ini mengembalikan subset dari informasi yang disediakan oleh SQLGetInfo di ODBC.

Pada dasarnya, ini memungkinkan Anda untuk melihat informasi tentang SQL Server.

Sintaks

Sintaksnya seperti ini:

sp_server_info [[@attribute_id = ] 'attribute_id']

(opsional) @attribute_id argumen memungkinkan Anda untuk mempersempit hasil menjadi hanya satu atribut tertentu.

Contoh 1 – Kembalikan Semua Atribut

Dalam contoh ini, saya menjalankan prosedur tersimpan tanpa memberikan argumen apa pun.

EXEC sp_server_info;

Itu juga dapat dijalankan seperti ini:

sp_server_info;

Inilah hasil pada contoh SQL Server 2019 saya:

+----------------+------------------------+---------------------------------------------------------------------+
| attribute_id   | attribute_name         | attribute_value                                                     |
|----------------+------------------------+---------------------------------------------------------------------|
| 1              | DBMS_NAME              | Microsoft SQL Server                                                |
| 2              | DBMS_VER               | Microsoft SQL Server 2019 - 15.0.1800.32                            |
| 10             | OWNER_TERM             | owner                                                               |
| 11             | TABLE_TERM             | table                                                               |
| 12             | MAX_OWNER_NAME_LENGTH  | 128                                                                 |
| 13             | TABLE_LENGTH           | 128                                                                 |
| 14             | MAX_QUAL_LENGTH        | 128                                                                 |
| 15             | COLUMN_LENGTH          | 128                                                                 |
| 16             | IDENTIFIER_CASE        | MIXED                                                               |
| 17             | TX_ISOLATION           | 2                                                                   |
| 18             | COLLATION_SEQ          | charset=iso_1 sort_order=nocase_iso charset_num=1 sort_order_num=52 |
| 19             | SAVEPOINT_SUPPORT      | Y                                                                   |
| 20             | MULTI_RESULT_SETS      | Y                                                                   |
| 22             | ACCESSIBLE_TABLES      | Y                                                                   |
| 100            | USERID_LENGTH          | 128                                                                 |
| 101            | QUALIFIER_TERM         | database                                                            |
| 102            | NAMED_TRANSACTIONS     | Y                                                                   |
| 103            | SPROC_AS_LANGUAGE      | Y                                                                   |
| 104            | ACCESSIBLE_SPROC       | Y                                                                   |
| 105            | MAX_INDEX_COLS         | 16                                                                  |
| 106            | RENAME_TABLE           | Y                                                                   |
| 107            | RENAME_COLUMN          | Y                                                                   |
| 108            | DROP_COLUMN            | Y                                                                   |
| 109            | INCREASE_COLUMN_LENGTH | Y                                                                   |
| 110            | DDL_IN_TRANSACTION     | Y                                                                   |
| 111            | DESCENDING_INDEXES     | Y                                                                   |
| 112            | SP_RENAME              | Y                                                                   |
| 113            | REMOTE_SPROC           | Y                                                                   |
| 500            | SYS_SPROC_VERSION      | 15.00.1800                                                          |
+----------------+------------------------+---------------------------------------------------------------------+

Contoh 2 – Tentukan Atribut

Jika Anda hanya tertarik pada satu atribut, Anda dapat meneruskan ID atribut tersebut. Melakukan hal ini hanya menghasilkan baris atribut yang dikembalikan.

EXEC sp_server_info 500;

Bisa juga seperti ini:

sp_server_info 500;
sp_server_info @attribute_id = 500;
EXEC sp_server_info @attribute_id = 500;

Hasil:

+----------------+-------------------+-------------------+
| attribute_id   | attribute_name    | attribute_value   |
|----------------+-------------------+-------------------|
| 500            | SYS_SPROC_VERSION | 15.00.1800        |
+----------------+-------------------+-------------------+

Dalam contoh ini, saya mengembalikan nomor atribut 500, yang menentukan versi prosedur tersimpan katalog yang saat ini diterapkan.

Contoh 3 – Jalankan sp_server_info pada Server Tertaut

Dalam contoh ini, saya menjalankan sp_server_info melalui kueri pass-through pada server tertaut yang disebut Homer.

SELECT * FROM 
OPENQUERY(
  Homer,
  'EXEC sp_server_info 500'
);

Hasil:

+----------------+-------------------+-------------------+
| attribute_id   | attribute_name    | attribute_value   |
|----------------+-------------------+-------------------|
| 500            | SYS_SPROC_VERSION | 14.00.3048        |
+----------------+-------------------+-------------------+

Contoh 4 – Tentukan Kolom Yang Ditampilkan

Satu manfaat sampingan dari OPENQUERY() adalah Anda dapat mengurangi kolom yang dikembalikan oleh prosedur tersimpan.

Contoh:

SELECT 
  attribute_name, 
  attribute_value
FROM 
OPENQUERY(
  Homer,
  'EXEC sp_server_info 500'
);

Hasil:

+-------------------+-------------------+
| attribute_name    | attribute_value   |
|-------------------+-------------------|
| SYS_SPROC_VERSION | 14.00.3048        |
+-------------------+-------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menambahkan petunjuk kueri saat memanggil Fungsi Bernilai Tabel

  2. Cara Mengembalikan Semua Batasan CHECK yang Tidak Tepercaya di SQL Server (Contoh T-SQL)

  3. SQL 'LIKE' query menggunakan '%' di mana kriteria pencarian berisi '%'

  4. Bagaimana cara mengganti string di Kolom Tabel SQL Server

  5. Cara menggunakan Operator Logika EXISTS di SQL Server - Tutorial SQL Server / TSQL Bagian 125