חידת SQL ולצידה אתגר מתימטי

26/02/2015

נתחיל מהחידה שהיא רק המתאבן לאתגר:נתונה טבלה בשם MyTbl ובה עמודת ID מסוג Int.נריץ את השליפה הבאה: Select *From MyTbl T1Inner Join MyTbl T2 On T1.ID=T2.ID; כמה שורות יחזרו? בשלב הזה צריך לעצום את העיניים כדי לא לקלקל את האתגר ולנסות לבד לחשוב,ומי שמתעצל- יכול להציץ בתשובה ולשכנע את עצמו שהוא היה מגיע לזה לבד..בכל מקרה- מכיוון שלא נאמר מה טיבה של אותה עמודת ID אזי יכולים להיות בה ערכי Null, ערכים שאינם יחודיים וכו’;ומספר השורות החוזרות ינוע בין אפס שורות במקרה שכל העמודה היא Nulls (ואז אין אף...
אין תגובות

Dynamic Data Masking

25/02/2015

כלי חדש בגרסת V12 של Azure (כלומר- SQL Databases שהשרת שלהם שודרג לגרסת ההתנסות V12), שנועד לאפשר הסתרה חלקית של המידע.כלומר- אם עד לאחרונה הפתרונות המובנים היחידים היו לאפשר לראות את הטבלה או לא, או לחילופין לאפשר לראות עמודות ספציפיות ואחרות לא;הרי לפני מספר שבועות התווסף פתרון ה-Row Level Permission שמאפשר גם לקבוע אילו שורות משתמש פלוני יראה ואילו לא,וכעת גם פתרון שמטשטש חלקית את המידע; כל זה ברמת הדטבייס ולא האפליקציה. קודם כל יש לאפשר את השימוש ב-DDM (הכלי הנ”ל)- בוחרים ב-(Dynamic Data Masking (Preview, בצד ימין מאפשרים את השימוש בכלי (Enabled),וניתן להחליט אם ה-Security Enabled Access (שיטת...
אין תגובות

הרשאות ברמת שורה: Row Level Permission

12/02/2015

בעוונותי, רק לפני מספר חודשים התחלתי להשתמש בסמארטפון, ואני מרגיש כמו דוב המנגן בפסנתר בשעה שאני מקליד: מנסה לנגן “דו” בכפו המגושמת, ומקבל קקפוניה שלמה. מה רבה הייתה שמחתי עת גיליתי לאחרונה שניתן להתחבר מהמחשב האישי ל-”ווצאפ”, ולרכל ולקשקש הבלים כמשתמש מיומן.בצד ההקלה הטכנית שבדבר יש כאן חידוש בכך שלראשונה ישום שנועד לסמארטפון זכה לשידרוג לגרסת PC (ולא להיפך).כל זה אינו אלא הקדמה ל-feature הנ”ל : עד כה התרגלנו שבגרסאות הרגילות של SQL Server מופיעים חידושים כאלה ואחרים, ואילו ב-Azure מדדים הרחק מאחור ומנסים לצמצם פערים, אך הנה בגרסה האחרונה של Azure – לא רק שהתיימרו להשלים את כל...
אין תגובות

Timeout: Connection & Query

05/02/2015

מדובר בשני פרמטרים ב-Linked Servers שבדרך כלל מותירים אותם עם ערכי ברירת המחדל 0.למה הם משמשים? ניצור Linked Server ונראה.ניכנס קודם כל לשרת היעד (אליו פונה ה-Linked Server) וניצור בו Login מתאים בו נשתמש כשנפנה משרת המקור, ונפנק אותו בהרשאות מלאות כדי שלא זה מה שיעצור אותנו: Use master;GoCreate Login MyLogin With Password='123456',Check_Policy=Off;Go Alter Server Role sysadmin Add Member MyLogin;Go כדאי לוודא שהשרת מקונפג בתור SQL Authentication ולאתחל אותו אם משנים את ההגדרה: בלי זה זה לא יעבוד.נחזור לשרת המקור, ניצור Linked Server ונקנפג אותו: Use master;Go EXEC master.dbo.sp_dropserver @server=N'MyLinkedServer', @droplogins='droplogins'EXEC master.dbo.sp_addlinkedserver @server = N'MyLinkedServer', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'MyRemoteServerEXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'MyLinkedServer',@useself=N'False',@locallogin=NULL,@rmtuser=N'MyLogin',@rmtpassword='123456'GO EXEC master.dbo.sp_serveroption @server=N'MyLinkedServer',...
אין תגובות