DBCC CHECKIDENT
ব্যবস্থাপনা কমান্ড পরিচয় কাউন্টার রিসেট করতে ব্যবহৃত হয়। সিনট্যাক্স কমান্ডটি হ'ল:
DBCC CHECKIDENT (table_name [, { NORESEED | { RESEED [, new_reseed_value ]}}])
[ WITH NO_INFOMSGS ]
উদাহরণ:
DBCC CHECKIDENT ('[TestTable]', RESEED, 0);
GO
এটি আজুর এসকিউএল ডেটাবেস এর পূর্ববর্তী সংস্করণগুলিতে সমর্থিত ছিল না তবে এটি এখন সমর্থিত।
দয়া করে নোট করুন যে ডকুমেন্টেশন অনুসারেnew_reseed_value
এসকিউএল সার্ভার সংস্করণে আর্গুমেন্টটি পরিবর্তিত হয়েছে :
সারণি যদি সারণীতে উপস্থিত থাকে তবে পরের সারিটি new_reseed_value মান সহ সন্নিবেশ করানো হয়। সংস্করণ এসকিউএল সার্ভার ২০০৮ আর 2 এবং এর আগের সংস্করণে, সন্নিবেশিত পরবর্তী সারিতে নতুন_সীমান্ত_মূল্য + বর্তমান বর্ধন মান ব্যবহার করে।
যাইহোক, আমি এই তথ্যটি বিভ্রান্তিমূলক দেখতে পেয়েছি (কেবলমাত্র সরল ভুল প্রকৃত পক্ষে) কারণ পর্যবেক্ষণ করা আচরণটি ইঙ্গিত দেয় যে কমপক্ষে এসকিউএল সার্ভার 2012 এখনও নতুন_আরসিড_মূল্য + বর্তমান বর্ধিত মান যুক্তি ব্যবহার করে। মাইক্রোসফ্ট এমনকি Example C
একই পৃষ্ঠায় পাওয়া নিজস্ব সাথে বৈপরীত্য :
গ। বর্তমান পরিচয় মানকে একটি নতুন মানতে বাধ্য করা
নিম্নলিখিত উদাহরণটি ঠিকানা টাইপ টেবিলের ঠিকানা টাইপআইডি কলামে বর্তমান পরিচয় মানকে 10 এর মান হিসাবে বাধ্য করে Because যেহেতু সারণীতে বিদ্যমান সারি রয়েছে, সন্নিবেশিত পরবর্তী সারিটি 11 হিসাবে মান হিসাবে ব্যবহার করবে, যা নতুন বর্তমান বর্ধিত মানটির জন্য সংজ্ঞায়িত হবে কলাম মান প্লাস 1।
USE AdventureWorks2012;
GO
DBCC CHECKIDENT ('Person.AddressType', RESEED, 10);
GO
তবুও, এগুলি নতুন এসকিউএল সার্ভার সংস্করণগুলিতে ভিন্ন আচরণের জন্য একটি বিকল্প ছেড়ে দেয়। আমি নিশ্চিত হওয়ার একমাত্র উপায় অনুমান করি, যতক্ষণ না মাইক্রোসফ্ট তার নিজস্ব ডকুমেন্টেশনে জিনিস পরিষ্কার না করে, ব্যবহারের আগে আসল পরীক্ষা করা।