תופעות
נניח שאתה משתמש בשכפול טרנזקציות ב-Microsoft SQL Server 2008, וקיימת שאילתת עדכון הפועלת בפרסום. בעת שדרוג ה-SQL Server ל-SQL Server 2012 או ל-SQL Server 2014, ושאילתת העדכון אינה מופצת לפני השדרוג, ייתכן שהסוכן קורא היומן ייכשל עם השגיאה הבאה:
<Date> <Time> Publisher: {call sp_replcmds (500, 0, 0,, 0, 500000)}<Date> <Time> מצב: 0, code: 20011, text: ' התהליך לא הצליח לבצע ' sp_replcmds ' ב-'< Publisher Name>'.<Date> <Time> התהליך לא הצליח לבצע את ' sp_replcmds ' ב-'<Publisher Name>'.<Date> <Time> מצב סוכן Repl: 6<Date> <Time> מצב: 0, code: 542, text: התגלתה ערך datetime לא חוקי. הערך חורג מהשנה 9999. '.<Date> <Time> מצב: 0, code: 3621, text: ' המשפט הופסק. '.<Date> <Time> מצב: 0, code: 22037, text: ' התהליך לא הצליח לבצע ' sp_replcmds ' ב-'<Publisher Name>'.
גם אם בעיה זו לא התרחשה, עדיין לא היתה אפשרות להתפרש בצורה מפורשת על-ידי סוכן יומני הרישום המשודרג והשגיאה הבאה עשויה להיווצר בסוכן ההפצה:
ל-515 אין אפשרות להוסיף את הערך NULL לעמודה '<Column Name>', טבלה '<Table Name>'; העמודה אינה מאפשרת ערכי null. העדכון נכשל.
הערה
-
סוגי נתונים ואילוצים שונים עלולים לגרום לדיווח שגיאות שונות, ובעיה זו אף עלולה לגרום לאי-התכנסות.
-
הבעיה מתרחשת בעת שדרוג מ-SQL Server 2008 או מ-SQL Server 2008 R2 ל-SQL Server 2012 או ל-SQL Server 2014.
פתרון
אם השגיאה "515 אינו יכול להוסיף את הערך NULL לעמודה '<Column Name>', טבלה '<Table Name>'; העמודה אינה מאפשרת ערכי null. העדכון נכשל "במקרה שסוכן ההפצה התרחש, עליך לאתחל מחדש את השכפול. תיקון חם זה אינו פותר שגיאה זו. כדי להימנע משגיאה זו, עליך להפוך את הסוכן קורא יומן הרישום ללא זמין לפני השדרוג, ולאחר מכן לשדרג את כל הדרך לתיקון זה ולאחר מכן להפוך מחדש את סוכן יומן הרישום לזמין. הבעיה נפתרה לראשונה בעדכון המצטבר הבא של SQL Server.
עדכון מצטבר 2 עבור SQL Server 2012 SP2 /en-us/help/2983175
עדכון מצטבר 3 עבור SQL Server 2014 /en-us/help/2984923
עדכון מצטבר 11 עבור SQL Server 2012 SP1 /en-us/help/2975396
כל עדכון מצטבר חדש עבור SQL Server מכיל את כל התיקונים החמים ואת כל תיקוני האבטחה שנכללו בעדכון המצטבר הקודם. עיין בעדכונים המצטברים האחרונים עבור SQL Server:
מצב
Microsoft אישרה שזוהי בעיה במוצרי Microsoft המופיעים בסעיף "חל על".