को पहचान सेट मैं एक मेज पर पहचान रीसेट करने के लिए इस कोड का उपयोग कर रहा हूँ:बी सी सी CHECKIDENT 0
DBCC CHECKIDENT('TableName', RESEED, 0)
यह ठीक समय के सबसे अधिक काम करता है, पहली डालने मैं ईद स्तंभ में 1 डालने के साथ । हालांकि अगर मैं डीबी छोड़ देता हूं और इसे फिर से बना देता हूं (स्क्रिप्ट्स का उपयोग करके मैंने लिखा है) और फिर डीबीसीसी चेचकेंट को कॉल करें, तो डाली गई पहली वस्तु में 0 की एक आईडी होगी।
कोई विचार?
संपादित करें: शोध करने के बाद मुझे पता चला कि मैं ठीक से दस्तावेज़ पढ़ें नहीं किया:। http://msdn.microsoft.com/en-us/library/aa258817(SQL.80).aspx - "वर्तमान पहचान मूल्य new_reseed_value पर सेट है यदि कोई भी पंक्ति तालिका में सम्मिलित किया गया है के बाद से यह बनाया गया था, पहली पंक्ति को क्रियान्वित बी सी सी CHECKIDENT पहचान के रूप में new_reseed_value का उपयोग करेगा के बाद सम्मिलित किया गया। अन्यथा, अगली पंक्ति new_reseed_value + 1. "
यह लिंक लगता है मृत होने के लिए, वर्तमान दस्तावेज https://msdn.microsoft.com/en-us/library/ms176057.aspx कहता है कि 2012 से पहले के संस्करणों के लिए केवल अपेक्षित व्यवहार है, लेकिन यह सच नहीं लगता है (परीक्षण 2012 संस्करण पर, संगतता 2012 तक सेट, अभी भी समस्या देख रही है)। – jmoreno