SSMS-এ IntelliSense ফাঁকা থাকলেও কোয়েরি চলতে থাকে
SSMS যখন টেবিল ও কলামের নাম প্রস্তাব করা বন্ধ করে দেয় কিন্তু কোয়েরি চালাতে থাকে, তখন উইন্ডোর সংযোগ, স্থানীয় ক্যাশে ও অ্যাকাউন্টের দৃশ্যমানতা যাচাই করুন।
টেবিলের নাম টাইপ করলে কোনো প্রস্তাব আসে না, অথচ একই উইন্ডো সহজেই SELECT স্টেটমেন্ট চালায়। এই সমন্বয়টাই সূত্র: সংযোগ কাজ করছে, কিন্তু এডিটরের সম্পূর্ণকরণ অবস্থা করছে না। SSMS নিজের ক্যাশে এবং উইন্ডোটি কোন ডেটাবেস ও অ্যাকাউন্ট ব্যবহার করে তার নিজস্ব ধারণা রাখে। কোনো নেটওয়ার্ক সেটিং বদলানোর আগে সেই অবস্থাকে টানেল থেকে আলাদা হিসেবে দেখুন।
উইন্ডোর নিজস্ব সংযোগ অবস্থা আছে
প্রতিটি কোয়েরি উইন্ডো একটি সংযোগ, একটি ডেটাবেস ও একটি অনুমোদন প্রসঙ্গ বহন করে। Object Explorer ভিন্ন সার্ভার বা ডেটাবেসে সংযুক্ত থাকতে পারে, আর অন্য ট্যাব ভিন্ন অ্যাকাউন্টে চলতে পারে। আক্রান্ত উইন্ডোর নিজের স্ট্যাটাস অন্য কিছুর সঙ্গে তুলনা করার আগে নিশ্চিত করুন। VPN চালু হওয়ার আগে খোলা উইন্ডোও এমন সংযোগে বাঁধা থাকতে পারে যা আর নেই, তাই এর স্ট্যাটাস শিরোনাম বার যতটা বোঝায় তার চেয়ে বেশি গুরুত্বপূর্ণ।
VPN বিঘ্ন হলে অ্যাপ্লিকেশন এখনো জীবন্ত দেখালেও সেই উইন্ডো সংযোগহীন হয়ে যেতে পারে। স্বাভাবিক SSMS কর্মপ্রবাহে আবার সংযোগ করুন, তারপর নিশ্চিত করুন যে ডেটাবেস নির্বাচক আপনার প্রত্যাশিত ডেটাবেস দেখাচ্ছে।
স্থানীয় ক্যাশে পুনর্নির্মাণ করতে বাধ্য করুন
Microsoft-এর IntelliSense সমস্যা সমাধান নির্দেশিকা সমর্থিত রিফ্রেশ বর্ণনা করে: Edit → IntelliSense → Refresh Local Cache, অথবা Ctrl+Shift+R। সংযোগ নিশ্চিত করার পরে এটি ব্যবহার করুন, বিশেষত যখন উইন্ডো খোলা থাকার সময় অবজেক্ট বদলেছে। রিফ্রেশ একটি স্থানীয় তালিকা পুনর্নির্মাণ করে; এটি হারিয়ে যাওয়া নেটওয়ার্ক পথ ফিরিয়ে আনতে পারে না।
এছাড়াও নিশ্চিত করুন যে এডিটরের জন্য IntelliSense চালু আছে এবং ইনস্টল করা SSMS সংস্করণ আপনি যে স্টেটমেন্ট লিখছেন তা সমর্থন করে। সম্পূর্ণকরণের আচরণ সংস্করণভেদে ভিন্ন এবং প্রতিটি পণ্য বা স্ক্রিপ্ট রূপ কভার করে না। শর্টকাট কিছু না করলে এটি VPN লক্ষণ নয়, এডিটর অবস্থার লক্ষণ হিসেবে ধরুন। ধূসর হয়ে থাকা মেনু আইটেম এবং অন্য কী বাইন্ডিংয়ে গিলে ফেলা শর্টকাট—দুটোই এডিটরের তথ্য যা টানেলকে দোষারোপের আগে লিখে রাখা উচিত।
অনুপস্থিত নাম অনুমতিও হতে পারে
সম্পূর্ণকরণ তালিকা কেবল সেই অবজেক্ট প্রস্তাব করে যা সংযুক্ত অ্যাকাউন্ট দেখতে পারে। তাই সহকর্মীর কাছ থেকে কপি করা স্ক্রিপ্ট এমন নাম উল্লেখ করতে পারে যা সমাধান করার অনুমতি আপনার সেশনের নেই। প্রশাসকের অসম্পর্কিত সেশনের বদলে অভীষ্ট অ্যাকাউন্টের দৃশ্যমানতা তুলনা করুন। অনুমতির কারণে কোনো নাম অনুপস্থিত থাকলে এডিটর ঠিক করলে সেটি দেখা যাবে না।
ডেটাবেস মালিকের কাছে কাজের জন্য প্রয়োজনীয় ন্যূনতম অনুমতি চান, এবং সেই অনুমোদন নির্দিষ্ট রাখুন। প্রস্তাব তালিকা পূরণের জন্য দেওয়া বিস্তৃত প্রশাসনিক অধিকার ছোট সুবিধার বদলে বড় ঝুঁকি তৈরি করে।
আসলে আপনার কোন ব্যর্থতা তা নির্ধারণ করুন
কীবোর্ড থেকে দুই ব্যর্থতা একই রকম দেখায় এবং ভিন্ন মালিক দরকার। একই উইন্ডোতে সাধারণ স্টেটমেন্টও ব্যর্থ হলে সেই সংযোগের নাম সমাধান, পরিবহন ও প্রমাণীকরণ তদন্ত করুন। স্টেটমেন্ট চললে এবং কেবল প্রস্তাব অনুপস্থিত থাকলে প্রমাণ এডিটরের। দুটির মধ্যে কোনটি দেখেছেন লিখে রাখুন, কারণ দুটি প্রতিবেদন ভিন্ন দলে যায় এবং মিশ্র বর্ণনা দুটোকেই দেরি করায়।
টুলিং প্রতিবেদনের জন্য ইনস্টল করা SSMS সংস্করণ, নির্বাচিত ডেটাবেস, অ্যাকাউন্ট এবং একটি ছোট অ-গোপনীয় উদাহরণ রাখুন। ব্যর্থ হওয়া সঠিক নামের একটি রেকর্ডিং বা তালিকা IntelliSense ভাঙা এই বাক্যের চেয়ে বেশি সাহায্য করে। তারপর ক্যাশে রিফ্রেশের পরে এবং পুনঃসংযোগের পরে আবার চেষ্টা করুন, কারণ এই দুটি কাজ বেশিরভাগ ক্ষেত্র আলাদা করে।