यदि आपको SERVERPROPERTY()
चलाने की आवश्यकता है SQL सर्वर में किसी लिंक किए गए सर्वर के विरुद्ध कार्य करने के लिए, आप पास-थ्रू क्वेरी का उपयोग कर सकते हैं। ऐसा करने के लिए, SERVERPROPERTY()
पास करें OPENQUERY()
. के दूसरे तर्क के रूप में कार्य करें फ़ंक्शन (पहला तर्क लिंक किया गया सर्वर नाम है)।
उदाहरण 1 - मूल उदाहरण
यहाँ एक उदाहरण है।
SELECT * FROM OPENQUERY( Homer, 'SELECT SERVERPROPERTY(''ProductLevel'') AS [Remote ProductLevel];' );
परिणाम:
+-----------------------+ | Remote ProductLevel | |-----------------------| | RTM | +-----------------------+
उदाहरण 2 - स्थानीय क्वेरी की तुलना में
बस यह पुष्टि करने के लिए कि यह वास्तव में लिंक किए गए सर्वर (और स्थानीय सर्वर से नहीं) से आ रहा था, यहाँ यह फिर से स्थानीय सर्वर के विरुद्ध एक प्रश्न के साथ है।
SELECT SERVERPROPERTY('ProductLevel') AS [Local ProductLevel]; SELECT * FROM OPENQUERY( Homer, 'SELECT SERVERPROPERTY(''ProductLevel'') AS [Remote ProductLevel];' );
परिणाम:
+----------------------+ | Local ProductLevel | |----------------------| | CTP3.2 | +----------------------+ (1 row affected) +-----------------------+ | Remote ProductLevel | |-----------------------| | RTM | +-----------------------+ (1 row affected)
इस स्थिति में, स्थानीय सर्वर SQL Server 2019 पूर्वावलोकन चला रहा है, और लिंक किया गया सर्वर SQL Server 2017 चला रहा है। RTM इसका मतलब है कि यह एक मूल रिलीज़ संस्करण है, जबकि, CTPN इसका मतलब है कि यह एक सामुदायिक प्रौद्योगिकी पूर्वावलोकन संस्करण है।
SQL सर्वर 2017/2019 में SERVERPROPERTY () से सभी गुण लौटाने वाली त्वरित स्क्रिप्ट देखें यदि आपको एक ऐसी स्क्रिप्ट की आवश्यकता है जो सभी गुण लौटाए।
इस फ़ंक्शन द्वारा स्वीकृत तर्कों की पूरी सूची के लिए Microsoft दस्तावेज़ीकरण भी देखें।