השימוש ב-Session_Context החדש תוך השוואה ל-Context_Info הישן

24/11/2015

אחד החידושים בגרסת 2016 הוא Session_Context: מדובר בשדרוג של Context_Info, כלומר – ביכולת לשמור מידע ברמת ה-Session כך שיהיה נגיש מכל הפרוצדורה וה”קונטקסטים” של ה-Session.הרקע לנושא הוא טכנולוגיית ה-Row Level Security בה כל משתמש יכול לגשת רק לנתונים “שלו” מהטבלה. הבעייה היא שבאתרי אינטרנט, כל המשתמשים מזוהים עם אותו משתמש: אם אני מתחבר לאתר הבנק שלי כדי לברר פרטים על החשבון, המערכת בוודאי מזהה אותי אישית ומציגה לי רק את הנתונים שאני רשאי לראות; אבל ברור שבמערכת בסיסי הנתונים של הבנק אין Login או User ספציפי עבורי, כי אם כן – היו צריכים לתחזק מאות אלפים ואף מיליונים עבור...

אופציית Geo-Replication ב-Azure

23/11/2015

בכל כמה ימים חל איזה שינוי ב-Azure, מתווספות אופציות חדשות, והשמחה רבה.הפוסט הזה מתאר את המצב נכון לעכשיו, ולא ירחק היום והוא יהיה לא אקטואלי; אז כדאי למהר בטרם נאחר.. המצרכים: אנחנו מחוברים ל-Azure, וכבר יש לנו שני שרתים- במערב אירופה ובצפון אירופה (מדובר ב-Paas ולא בשרתים וירטואליים!).בשרת שבצפון אירופה יש SQL Database בשם Test2 שניצור לו רפליקה במערב אירופה: אבוי: אנחנו ב-tier נחות ויש לשדרג את הדטבייס לגרסה יותר מהודרת כדי שנוכל לרפלק: אנחנו נסתפק במינימום ההכרחי – S0, ונמתין שהשדרוג יסתיים: ונמתין שהשדרוג יסתיים: ולוחצים להמשך: נקבל את המלצת המערכת ונבחר במערב...
אין תגובות

הקצאת משאבים למשימות

20/11/2015

אתגר שצץ לו מרחבי הרשת: יש משימות שלכל אחת מועד התחלה ומועד סיום, למשל – טיולים מאורגנים שנמשכים מספר ימים, מי יותר ומי פחות, וכל אחד מתחיל במועד אחר. בנוסף יש אוטובוסים שצריך להקצות לאותן משימות: את אוטובוס 1 נקצה למשימה הראשונה, למשימה 2 נקצה את אוטובוס 1 רק אם הוא סיים בינתיים את משימתו, ולא – את אוטובוס 2 וכך הלאה. לכל משימה נחפש את האוטובוס הפנוי הראשון ואותו נקצה.ברור שאם כל המשימות קורות בו זמנית נצטרך אוטובוסים כמספר המשימות ואז האתגר לא יהיה מעניין, אך בהנחה שחלק מסתיימות בטרם האחרות מתחילות – מספר האוטובוסים שנצטרך לכולן הוא...
אין תגובות

Live and Let Die

09/11/2015

נא להתעדכן: DIE = Delete If Exists. סינטקס חדש ב-CTP 3.0 של SQL 2016 שצפוי לצאת בשנה הבאה בגרסה מסחרית,וכותרת הפוסט היא מחווה לסרט בסדרת ג’יימס בונד מאמצע שנות השיבעים, ולשיר של פול מקרטני ולהקת כנפיים שליווה אותו (אז היה מקובל לתרגם את שמות הלהקות לעברית). --Create Table MyTbl(ID Int);Drop Table If Exists MyTbl; כך נראה הסינטקס החדש לטובת כל אלו שמסתבכים (כמוני) עם פקודות מותנות Drop לאובייקטים: כל אובייקט יש לחפש בטבלת מערכת אחרת, והבלגן חוגג. מעתה ואילך סינטקס פשוט וקל לשינון (ראשי תיבות DIE, כבר אמרנו?) שמטפל ברוב סוגי האובייקטים: AGGREGATEASSEMBLYColumnConstraintDATABASEDEFAULTFUNCTIONINDEXPrimary KeyPROCEDUREROLERULESCHEMASECURITY POLICYSEQUENCESYNONYMTABLETRIGGERTYPEUSERVIEW כפי שניתן לראות, ניתן להיעזר בה...
תגיות:
תגובה אחת