כללי

  • עובדים עם SQL Server? אתם צריכים לעקוב אחרי ה- CU שמתפרסמים

    אם אתם עובדים עם SQL Server בסביבת production, אתם צריכים לעקוב אחרי רשימת ה- CU שמתפרסמים. אם אתם DBA-ים, אז כנראה שזה לא מחדש עבורכם (אני מקווה…). אם, לעומת זאת, אתם מפתחים שיוצא להם לעבוד עם אפליקציה מבוססת DB, ואתם אלה “שחיים” את האפליקציה, פותרים בעיות שצצות בה (גם ברמת התחזוקה), ומתמודדים עם נושאים לכל…

  • SQL Server למפתחים: Unique Index ו- IGNORE_DUP_KEY

    אחד הפיצ’רים הבסיסיים לסכימה של מסדי נתונים, היא היכולת להגדיר unique constraint. מאחורי הקלעים, Unique Constraints מתבססים על Unique Indexes שנוצרים כדי לשרת את ה- constraint, כלומר – כדי לאפשר ל- SQL Server לבדוק בזמן ביצוע פעולות הוספה ועדכון שה- constraint לא מופר. את הפוסט הזה אני רוצה להקדיש לפיצ’ר שימושי שמפתחים צריכים גם כן…

  • SQL Server למפתחים: Transaction Isolation Level

    הקדמה SQL Server, כמו כל דטאבייס רלציוני טוב, עונה על סט של עקרונות שנקראים ACID: ר”ת של Atomicity, Consistency, Isolation, Durability שמטרתם להבטיח את שלמות הנתונים במסד הנתונים. ממש ממש בגדול – העקרונות הללו אומרים שכשאתם מכניסים מידע לדטאבייס הוא נשאר שם, כשאתם שולפים נתונים אתם מקבלים נתונים אמיתיים ונכונים [בלי להיכנס להגדרה של “אמיתיים…

  • SQL Server למפתחים: Indexed Views לטיפול בנתונים סיכומיים

    הקדמה Indexed view הוא פיצ’ר מאד שימושי, אבל גם באופן יחסי פחות מוכר – לפחות לאוכלוסיית המפתחים. מדובר למעשה בשילוב בין Views לבין אינדקסים “רגילים” (non-clustered indexes) שקיימים על טבלאות. לפני שנבין מה הבעייה, ואיך אפשר להשתמש ב- Indexed Views כדי לפתור אותה, ניישר קו לגבי מס’ מונחים. View – אפשר לחשוב על view בתור…

  • SQL Server למפתחים: Bulk Insert ו- SqlBulkCopy

    הקדמה כל מפתח שעובד/עבד מול דטאבייס באשר הוא יודע איך מכניסים שורות לטבלה. מדובר באחת מהפעולות הבסיסיות, INSERT,. למשל, אם יש לי טבלה שמכילה 3 עמודות: עמודת ID עולה (IDE CREATE TABLE [dbo].[BulkInsertDemo]( [ID] [int] IDENTITY(1,1) NOT NULL, [NumCol] [int] NOT NULL, [LongTextCol] [varchar](2000) NOT NULL, CONSTRAINT [PK_BulkInsertDemo] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH…

  • ייצור אוטומטי של סקריפטי התקנה והסרה של SQL CLR Functions / Stored Procedures

    לפני כמה ימים פרסמתי פוסט על משהו קטן שעבדתי עליו בין תרגיל אינפי לתרגיל לינארית, שכולל למעשה אוסף של functions ו- stored procedures המאפשרים עבודה מול Redis מ- SQL Server, כאשר מרבית הפרוייקט זה סה”כ תפירה בין קוד C# קיים לעבודה מול Redis ל- SQL Server – שמתבצעת באמצעות SQL CLR, פיצ’ר חביב (למרות שהיה…

  • SQL: להפוך XML במבנה לא ידוע (חלקית) לתצוגה טבלאית

    היכולת לעבוד עם XML-ים ב- SQL Server לא חדשה בכלל וקיימת מזה גרסאות. בין הדברים שמתאפשרים בעבודה עם XML-ים זה אכסון XML-ים בטבלאות באמצעות datatype מותאם לכך, פונקציות לפירסור XML, ויכולת לייצא תוצאות של שאילתות לפורמט XML במקום לפורמט טבלאי. למשל, אם אנחנו רוצים לשלוף מ- sys.tables ולהציג את התוצאות כ-XML בפורמט טבלאי, כל שצריך…