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 | +-------------------+-------------------+