SQL सर्वर में sp_server_info
सिस्टम संग्रहीत कार्यविधि SQL सर्वर, डेटाबेस गेटवे, या अंतर्निहित डेटा स्रोत के लिए विशेषता नामों और मिलान मानों की सूची लौटाती है। यह ODBC में SQLGetInfo द्वारा प्रदान की गई जानकारी का एक सबसेट देता है।
मूल रूप से, यह आपको SQL सर्वर के बारे में जानकारी देखने की अनुमति देता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
sp_server_info [[@attribute_id = ] 'attribute_id']
(वैकल्पिक) @attribute_id
तर्क आपको परिणामों को केवल एक विशिष्ट विशेषता तक सीमित करने में सक्षम बनाता है।
उदाहरण 1 - सभी गुण लौटाएं
इस उदाहरण में, मैं बिना किसी तर्क के संग्रहीत कार्यविधि को निष्पादित करता हूं।
EXEC sp_server_info;
इसे इस तरह भी चलाया जा सकता है:
sp_server_info;
मेरे SQL सर्वर 2019 इंस्टेंस पर यह परिणाम है:
+----------------+------------------------+---------------------------------------------------------------------+ | 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 | +----------------+------------------------+---------------------------------------------------------------------+
उदाहरण 2 - एक विशेषता निर्दिष्ट करें
यदि आप केवल एक विशेषता में रुचि रखते हैं, तो आप उस विशेषता की आईडी पास कर सकते हैं। ऐसा करने से केवल उस विशेषता की पंक्ति वापस आ जाती है।
EXEC sp_server_info 500;
इसे इस तरह भी किया जा सकता है:
sp_server_info 500; sp_server_info @attribute_id = 500; EXEC sp_server_info @attribute_id = 500;
परिणाम:
+----------------+-------------------+-------------------+ | attribute_id | attribute_name | attribute_value | |----------------+-------------------+-------------------| | 500 | SYS_SPROC_VERSION | 15.00.1800 | +----------------+-------------------+-------------------+
इस उदाहरण में, मैं विशेषता संख्या 500 लौटाता हूं, जो वर्तमान में कार्यान्वित कैटलॉग संग्रहीत कार्यविधियों के संस्करण को निर्दिष्ट करता है।
उदाहरण 3 - लिंक किए गए सर्वर पर sp_server_info चलाएँ
इस उदाहरण में, मैं sp_server_info
execute निष्पादित करता हूं होमर नामक लिंक किए गए सर्वर पर पास-थ्रू क्वेरी के माध्यम से।
SELECT * FROM OPENQUERY( Homer, 'EXEC sp_server_info 500' );
परिणाम:
+----------------+-------------------+-------------------+ | attribute_id | attribute_name | attribute_value | |----------------+-------------------+-------------------| | 500 | SYS_SPROC_VERSION | 14.00.3048 | +----------------+-------------------+-------------------+
उदाहरण 4 - निर्दिष्ट करें कि कौन से कॉलम प्रदर्शित हैं
OPENQUERY()
. का एक पक्ष-लाभ यह है कि आप संग्रहीत प्रक्रिया द्वारा लौटाए गए कॉलम को कम कर सकते हैं।
उदाहरण:
SELECT attribute_name, attribute_value FROM OPENQUERY( Homer, 'EXEC sp_server_info 500' );
परिणाम:
+-------------------+-------------------+ | attribute_name | attribute_value | |-------------------+-------------------| | SYS_SPROC_VERSION | 14.00.3048 | +-------------------+-------------------+