हर बार जब आप SQL सर्वर में एक नया लॉगिन बनाते हैं, तो आपके पास उस लॉगिन के लिए एक डिफ़ॉल्ट भाषा निर्दिष्ट करने का विकल्प होता है। यदि आप ऐसा नहीं करते हैं, तो लॉगिन डिफ़ॉल्ट भाषा सर्वर कॉन्फ़िगरेशन विकल्प में निर्दिष्ट डिफ़ॉल्ट भाषा का उपयोग करेगा।
यह आलेख दर्शाता है कि T-SQL का उपयोग करके SQL सर्वर में डिफ़ॉल्ट भाषा सर्वर कॉन्फ़िगरेशन विकल्प कैसे सेट करें।
सबसे पहले, सर्वर की डिफ़ॉल्ट भाषा सेटिंग जांचें
इससे पहले कि हम आगे बढ़ें और कुछ भी बदलें, हमें यह देखना चाहिए कि वर्तमान सेटिंग्स क्या हैं।
sp_configure
संग्रहीत कार्यविधि आपको वर्तमान सर्वर के लिए वैश्विक कॉन्फ़िगरेशन सेटिंग्स को देखने या बदलने की अनुमति देती है।
सभी कॉन्फ़िगरेशन विकल्पों को वापस करने के लिए आप बिना किसी तर्क को पारित किए इस संग्रहीत कार्यविधि को निष्पादित कर सकते हैं। इस तरह:
EXEC sp_configure;
हालांकि, यह काफी बड़ा परिणाम सेट देता है।
यह देखते हुए कि हम केवल डिफ़ॉल्ट भाषा सेटिंग में रुचि रखते हैं, हम निम्नलिखित कोड चला सकते हैं:
EXEC sp_configure @configname='default language';
और मेरे परीक्षण वातावरण पर, जो निम्नलिखित देता है:
+------------------+-----------+-----------+----------------+-------------+ | name | minimum | maximum | config_value | run_value | |------------------+-----------+-----------+----------------+-------------| | default language | 0 | 9999 | 0 | 0 | +------------------+-----------+-----------+----------------+-------------+
हम जिन मुख्य मूल्यों में रुचि रखते हैं, वे हैं config_value
और run_value
. इस मामले में, दोनों मान 0
हैं , जो us_english
. की भाषा आईडी है ।
हम निम्नलिखित कोड का उपयोग करके उन्हें बदल सकते हैं:
EXEC sp_configure 'default language', 5; RECONFIGURE;
परिणाम:
Configuration option 'default language' changed from 0 to 5. Run the RECONFIGURE statement to install.
ध्यान दें कि config_value
. के मान और run_value
स्वचालित रूप से समकक्ष नहीं हैं। sp_configure
. का उपयोग करके कॉन्फ़िगरेशन सेटिंग अपडेट करने के बाद , आपको अपडेट करना होगा run_value
RECONFIGURE
. का उपयोग करके या RECONFIGURE WITH OVERRIDE
. यह देखते हुए कि हमने इस उदाहरण में पहले ही ऐसा कर लिया है, हम जाने के लिए तैयार हैं।
इसलिए जब हम फिर से सेटिंग्स की जाँच करते हैं, तो हम नए मान देख सकते हैं:
EXEC sp_configure @configname='default language';
परिणाम:
+------------------+-----------+-----------+----------------+-------------+ | name | minimum | maximum | config_value | run_value | |------------------+-----------+-----------+----------------+-------------| | default language | 0 | 9999 | 5 | 5 | +------------------+-----------+-----------+----------------+-------------+
इस मामले में, हमने मानों को 5
. में बदल दिया है , जो Español
. के लिए भाषा आईडी है (स्पेनिश)।
आप sys.configurations
. को भी क्वेरी कर सकते हैं यदि आप चाहें तो सर्वर कॉन्फ़िगरेशन विकल्पों के मान वापस करने के लिए देखें।
भाषा आईडी कैसे खोजें
यदि आप उस भाषा की भाषा आईडी नहीं जानते हैं जिसमें आपको बदलने की आवश्यकता है, तो आप sp_helplanguage
निष्पादित कर सकते हैं संग्रहीत प्रक्रिया। आप इसे बिना किसी तर्क के चला सकते हैं, जिस स्थिति में सभी भाषाएँ वापस आ जाएँगी, या आप एक भाषा का नाम या उपनाम प्रदान कर सकते हैं ताकि केवल वही भाषा वापस आ जाए।
यहां एक उदाहरण दिया गया है:
EXEC sp_helplanguage Spanish;
जब मैं इसे mssql-cli में चलाता हूं तो मुझे यह परिणाम मिलता है:
-[ RECORD 1 ]------------------------- langid | 5 dateformat | dmy datefirst | 1 upgrade | 0 name | Español alias | Spanish months | Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octub shortmonths | Ene,Feb,Mar,Abr,May,Jun,Jul,Ago,Sep,Oct,Nov,Dic days | Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo lcid | 3082 msglangid | 3082
और हम देख सकते हैं कि स्पैनिश के लिए भाषा आईडी 5
. है . इसलिए sp_configure
. को क्रियान्वित करते समय हम यही मान प्रदान करते हैं डिफ़ॉल्ट भाषा को स्पेनिश में बदलने के लिए।
इसलिए अब जब हम एक नया लॉगिन बनाते हैं, तो उसकी डिफ़ॉल्ट भाषा स्पेनिश होगी (जब तक कि हम लॉगिन बनाते समय स्पष्ट रूप से एक डिफ़ॉल्ट भाषा प्रदान नहीं करते)।
एक नया लॉगिन बनाएं - डिफ़ॉल्ट भाषा निर्दिष्ट किए बिना
तो चलिए एक डिफ़ॉल्ट भाषा निर्दिष्ट किए बिना एक नया लॉगिन बनाते हैं:
CREATE LOGIN Julio WITH PASSWORD = 't35Tin9345!'
और अब उस लॉगिन के लिए डिफ़ॉल्ट भाषा जांचें:
SELECT default_language_name FROM master.sys.server_principals WHERE name = 'Julio';
हमें निम्नलिखित परिणाम मिलते हैं:
+-------------------------+ | default_language_name | |-------------------------| | Español | +-------------------------+
चूंकि हमने इस लॉगिन के लिए एक डिफ़ॉल्ट भाषा निर्दिष्ट नहीं की है, यह सर्वर स्तर पर कॉन्फ़िगर की गई डिफ़ॉल्ट भाषा का उपयोग करता है।
एक नया लॉगिन बनाएं - एक डिफ़ॉल्ट भाषा के साथ
लेकिन अगर हम लॉगिन बनाते समय एक डिफ़ॉल्ट भाषा निर्दिष्ट करते हैं:
CREATE LOGIN Einstein WITH PASSWORD = 't35Tin9345!', DEFAULT_LANGUAGE = German;
और फिर sys.server_principals
query को क्वेरी करें फिर से:
SELECT default_language_name FROM master.sys.server_principals WHERE name = 'Einstein';
हमें निम्नलिखित परिणाम मिलते हैं:
+-------------------------+ | default_language_name | |-------------------------| | German | +-------------------------+
इसलिए सर्वर कॉन्फ़िगरेशन का उपयोग केवल तभी किया जाता है जब आप व्यक्तिगत लॉगिन के लिए स्पष्ट रूप से एक डिफ़ॉल्ट भाषा निर्दिष्ट नहीं करते हैं।
ध्यान दें कि उपयोगकर्ता अपने सत्र में उपयोग की जाने वाली भाषा को बदल सकता है। सिर्फ इसलिए कि उनके पास एक डिफ़ॉल्ट भाषा है, इसका मतलब यह नहीं है कि वे इसके साथ फंस गए हैं। अधिक जानकारी के लिए, SQL सर्वर (T-SQL) में वर्तमान सत्र की भाषा प्राप्त करने के 3 तरीके और SQL सर्वर (T-SQL) में वर्तमान भाषा कैसे सेट करें देखें।