আমাদের ব্যবহারকারীর একটি নাম আইনত পরিবর্তিত হয়েছিল, সুতরাং আমরা তাদের সক্রিয় ডিরেক্টরি ব্যবহারকারীর নামটি মেলে - ডোমেন \ পুরাতন নাম থেকে ডোমেন \ নতুন নামতে মিলিয়েছি। যাইহোক, যখন suser_sname () এই ব্যবহারকারীর দ্বারা সঞ্চিত পদ্ধতিতে ডাকা হয় তখন এটি পুরানো নাম দেয়, নতুন নয়।
গুগলিং আমাকে কেবি 946358 এ নিয়ে গেছে যা পরামর্শ দেয় যে তাদের নামটি সার্ভারে ক্যাশে হচ্ছে এবং আপডেট করা হয়নি সম্ভবতঃ কারণ suser_name () LsaLookupSids কল করছে। যাইহোক, এই নিবন্ধটিতে কাজটি করার সাথে সার্ভারটি পুনরায় চালু করা জড়িত, এবং এটি হলেও আমি সমস্যাটি বুঝতে চাই।
আমি যদি আমার প্রসঙ্গটি তাদের কাছে পরিবর্তন করি তবে সঠিক নামটি ফিরে আসবে:
EXECUTE AS LOGIN = 'domain\newname'
GO
SELECT suser_name() --returns 'domain\newname'
... আমি ধরে নিয়েছি যে এটিকে LsaLookupSids নামেও ডাকা হবে এবং ভুল নামটি ফিরে আসবে। মনে হয় সম্ভবত আমি এখানে কাজ করার পদ্ধতিগুলি বুঝতে পারি না।
কিছু পর্যবেক্ষণ যা গুরুত্বপূর্ণ হতে পারে:
এই ব্যবহারকারীর সার্ভারে সুস্পষ্ট লগইন নেই। তবে তারা যে কোনও AD গ্রুপের সদস্য are পরিবর্তিত নাম (ডোমেন \ নতুন নাম) ফলাফল ফলাফলের জন্য প্রদর্শিত হয়
exec xp_logininfo 'domain\ADGroupName', 'members'
; ডোমেন \ পুরাতন নাম দেয় না।ব্যবহারকারী একটি অ্যাক্সেস 2003 এমডিবিতে পাসথ্রো কোয়েরি থেকে কল করা একটি সঞ্চিত প্রক্রিয়া থেকেই suser_name () কল করছে।
আমরা অতীতে প্রচুর ব্যবহারকারীর অ্যাকাউন্টের নাম পরিবর্তন করেছি, তবে গত সপ্তাহে কেবল এই সমস্যাটি পর্যবেক্ষণ করেছি (গত সপ্তাহে দুটি পরিবর্তন করা হয়েছিল, উভয়ই ইস্যুটি প্রদর্শন করে বলে মনে হচ্ছে)।
উইন্ডোজ 2008 আর 2 ডেটাসেন্টার সংস্করণে সার্ভারটি এসকিএল সার্ভার 2008 এসপি 3 এক্স 64 চলছে।
কি হচ্ছে? ডিবিএ হিসাবে, আমি কী করতে পারি বা এটি সমাধান করার জন্য আমি কোথায় খুঁজছি?
SUSER_SNAME()
, এটি সেই সময়ে স্থির করা উচিত। তারপরে আপনি লগইনটি ফেলে দেওয়ার চেষ্টা করতে পারেন এবং দেখুন যে এটি নতুন নাম রাখে।
ipconfig /flushdns
এবং ipconfig /registerdns
একটি কমান্ড লাইন থেকে এটি দেখার জন্য সমস্যাটি পরিষ্কার হয় কিনা।
EXECUTE AS
এবংSELECT SUSER_NAME()
পরীক্ষা। এছাড়াও, আপনি চেষ্টা করেছেনSUSER_SNAME()
এবং অন্য 100 টি বৈকল্পিকের কোনওটি?