קפיצה ב sql server identity
-
נתקלתי היום בהתנהגות ממש ממש מוזרה בMSSQL
הוא הקפיץ לי מספר אוטו' ב999 מספרים קדימה
הייתי בטוח שמישהו הצליח לפרוץ - בקיצור הייתי בלחץ גדול (אני עוד מתלבט אם צריך לברך מחר הגומל....)
בדקתי שוב ומצאתי את התופעה הז אצלי בכמה DB ובכמה טבלאות שונות.
בסוף בחיפוש גוגל אני מגלה שזו תופעה ידועה, וזה לא באג, אלא התנהגות מכוונת של MSSQL ושאם ממש רוצים אפשר למנוע אותההמוזר הוא שאני עובד צמוד עם MSSQL כבר כמה שנים ולא נתקלתי בזה במודע מעולם (ז"א, רק עכשיו הלכתי לבדוק אחורה ואני רואה שזה כן קיים גם אצלי)
מישהו נתקל בזה?
מכיר? שמע?תנסו לחפש בגוגל
sql server identity jump 99~20000
(ותודה ל @dovid על הטריק של ~ שמביא טווח בחיפוש גוגל)
והנה כמה לינקים שבינתיים מצאתיhttps://www.codeproject.com/Tips/668042/SQL-Server-2012-Auto-Identity-Column-Value-Jump-Is
https://stackoverflow.com/questions/17587094/identity-column-value-suddenly-jumps-to-1001-in-sql-server
https://stackoverflow.com/questions/14162648/sql-server-2012-column-identity-increment-jumping-from-6-to-1000-on-7th-entry -
@WWW זה לא קופץ אחרי כל איתחול. לפחות מבדיקה שלי
לדעתי אם יש קונקשיין פתוח הוא שומר לו בקאש 1000 מזהים, וממשיך הלאה.
בגלל זה לפעמים זה פחות מאלף. תלוי כמה הטבלה שלך "מועסקת" בהכנסה בו זמנית - יש לי טבלה עם עשרות אלפי רשומות ++ ושם הקפיצה הייתה 630 בערך