हमारे उपयोगकर्ताओं के नामों में से एक को कानूनी रूप से बदल दिया गया था, इसलिए हमने अपने सक्रिय निर्देशिका उपयोगकर्ता नाम को मिलान के लिए बदल दिया - डोमेन \ oldname से domain \ newname तक। हालाँकि, जब suser_sname () को इस उपयोगकर्ता द्वारा संग्रहीत कार्यविधि में कहा जाता है, तो यह पुराना नाम लौटाता है, नया नहीं।
Googling ने मुझे KB 946358 के लिए नेतृत्व किया, जो बताता है कि उनका नाम सर्वर पर कैश किया जा रहा है और अपडेट नहीं किया गया है, संभवतः क्योंकि suser_name () LsaLookupSids को कॉल कर रहा है। हालाँकि, उस आलेख में वर्कअराउंड सर्वर को पुनरारंभ करना शामिल है, और यहां तक कि अगर मैं चाहता था कि समस्या अभी भी समझना चाहते हैं।
अगर मैं उनके संदर्भ को बदल दूं, तो सही नाम वापस आ जाता है:
EXECUTE AS LOGIN = 'domain\newname'
GO
SELECT suser_name() --returns 'domain\newname'
... मुझे लगता है कि यह भी LsaLookupSids फोन होगा, और इसलिए गलत नाम वापस आ जाएगी। ऐसा लगता है कि मुझे वास्तव में यहाँ काम के तंत्र की समझ नहीं है।
कुछ अवलोकन जो मायने रख सकते हैं:
इस उपयोगकर्ता के पास सर्वर पर एक स्पष्ट लॉगिन नहीं है। लेकिन वे एक एडी समूह के सदस्य हैं जो करता है। परिवर्तित नाम (डोमेन \ newname) के लिए निर्धारित परिणाम में प्रकट होता है
exec xp_logininfo 'domain\ADGroupName', 'members'
; डोमेन \ oldname नहीं करता है।उपयोगकर्ता एक संग्रहित प्रक्रिया के भीतर suser_name () को कॉल कर रहा है, जिसे एक्सेस 2003 MDB में passthrough क्वेरी से बुलाया जाता है।
हमने पिछले समय में उपयोगकर्ताओं के खाते के बहुत सारे नाम बदल दिए हैं, लेकिन पिछले सप्ताह में केवल इस मुद्दे को देखा है (पिछले सप्ताह में दो बदलाव किए गए थे, दोनों इस मुद्दे को प्रदर्शित करते हैं)।
सर्वर Windows 2008 R2 Datacenter संस्करण पर Sql Server 2008 SP3 x64 चला रहा है।
क्या चल रहा है? डीबीए के रूप में, मैं क्या कर सकता हूं या मैं इसे हल करने के लिए कहां देख सकता हूं?
SUSER_SNAME()
, यह उस बिंदु पर तय किया जाना चाहिए। फिर आप लॉगिन को छोड़ने का प्रयास कर सकते हैं और देख सकते हैं कि क्या यह नया नाम रखता है।
ipconfig /flushdns
और ipconfig /registerdns
एक कमांड लाइन से यदि समस्या है कि साफ करता है देखने के लिए।
EXECUTE AS
औरSELECT SUSER_NAME()
परीक्षण चलाएं । इसके अलावा, क्या आपनेSUSER_SNAME()
100 अन्य विविधताओं में से कोई भी कोशिश की है ?