סקריפט לשדרוג טבלאות ל-Clusterd ColumnStore Index

יום רביעי, פברואר 1, 2017

תחום ה-ColumnStore עבר כמה וכמה שינויים מאז שהוצג לראשונה בגרסת 2012.כיום, בגרסת 2016, ניתן ליצור כבר Clusterd ColumnStore Index שזו טבלה הבנוייה כ-ColumnStore, ולא רק טבלה סטנדארטית שיש לה בנוסף אינדקס ColumnStore; והרבה מהמגבלות שצויינו בפוסט שלי מאז – הוסרו.כדאי לציין שהמונח Clusterd ColumnStore Index קצת מטעה, כי בניגוד ל-Clustered Index “רגיל” (RowStore) – הוא אינו ממויין פיזית; ולכן ראוי היה לקרוא לו ColumnStore Heap, אלא ששם זה לא נשמע כל כך טוב.. אני מצרף בזאת סקריפט לשדרוג טבלאות ל-Clustered ColumnStore Index (מחולל את פקודות ה-TSQL הרלוונטיות): טבלאות שיש להן כבר Clustered Index “רגיל” (RowStore) יכולות להשתדרג בשלב...

Linked Servers – מקרים מיוחדים

יום שלישי, ינואר 31, 2017

ברוב במקרים, כשיוצרים Linked Server הולכים בדרך הישר: קישור לשרת ב-Dommain שלנו אליו אנחנו פונים ב-Linked Server ששמו כשם השרת, ויוצרים אותו בקלילות בעזרת ה-Wizard ב-SSMS.לעיתים יש מקרים מיוחדים, ואז צריך להתחיל לעבוד עם פרוצדורות המערכת ולהסתבך קצת (אני מדבר רק על עצמי..). לפני כשנה וחצי הצגתי את הקוד ליצירת Linked Server ל-SQL Azure, אך אחזור על כך לידיעת המאזינים שהצטרפו זה עתה: Exec master.dbo.sp_addlinkedserver @server=N'MyLinkedServer', ...
אין תגובות

תזמון משימות ב-SQL Azure בעזרת Azure Function

יום חמישי, ינואר 26, 2017

(תודה מראש לפיני קרישר על העזרה והמידע המועיל) אחת הבעיות המעט משעשעות שהיו ל-Azure בתחילת דרכו הייתה שלא ניתן היה להשתמש בו ללא שרת On Premise שאיפשר את כל מה ש-Azure לא.למשל: כיצד עובדים מול Azure? הרי לא מדובר בהתקנה שכוללת כלי Client כמו ה-SSMS.. צריך היה איזו התקנה – זמנית או מוזלת או לא חוקית כדי שיהיה ממשק עבודה. נכון שהפורטל הישן איפשר פעם הרצה של פקודות SQL, אך האפשרות הזו נוטרלה משיקולים השמורים למיקרוסופט, וכל מה שנשאר אלו אתרים בלתי תלויים (למשל- SkyVia). ההגינות מחייבת לציין שה-SSMS הוא בחינם כיום ולכן אין בעייה להוריד ולהתקין, אבל אני...
תגיות: , , ,
אין תגובות

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

יום שני, נובמבר 23, 2015

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

Linked Server to SQL Azure

יום רביעי, אוגוסט 19, 2015

יש כמה דגשים ביצירת Linked Server ל-SQL Database ב-Azure (המכונה במקומנו PAAS).ראשית, הסינטקס ליצירת ה-Linked Server: Use master;Go Exec master.dbo.sp_addlinkedserver @server = N'MyLinkedServer', @srvproduct=N'', @provider=N'sqlncli', @datasrc=N'SQLAzureServer.database.windows.net', @catalog=N'MyDB';Exec master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'MyLinkedServer',@useself=N'False',@locallogin=NULL,@rmtuser=N'MyLogin',@rmtpassword='MyPassword';Go MyLinkedServer – השם של האובייקט שניצורSQLAzureServer.database.windows.net – שם השרת (תמיד SQL Database יהיה משוייך לשרת)MyDB – שם הדטבייס, ובניגוד למקובל – כאן חובה לציינו.MyLogin – שם ה-Login ב-Azure.MyPassword – הסיסמה ב-Azure. השימוש ב-Linked Server: השימוש הוא כמקובל, יש לציין כמובן את שם הדטבייס בפנייה, וניתן לפנות רק לזה שצויין בהגדרת ה-Linked Server. כלומר- זהו Linked Server לדטבייס ספציפי ולא לכל הדטבייסים בשרת.
אין תגובות

Truncate Table With Partitions

יום חמישי, מרץ 26, 2015

ניתן כעת לבצע פעולות Truncate על פרטישנים (partitions) ספציפיים בטבלה מפורטשת, בשלב זה רק בגרסת SQL Azure V12.מה? מי? מו? מה: עד לפני מספר חודשים היינו רגילים שמיקרוסופט מוציאה גרסת SQL Server חדשה אחת לכמה שנים עם שלל חידושים טכנולוגיים ושלל כנסי השקה כדי לחשוף אותם ולקדם את המכירות; ואילו גרסת SQL Azure השתרכה מאחור עם יכולת מופחתות, מנסה לא לפתוח פער גדול מדי מגרסאות On Prem.לפני מספר חודשים מיקרוסופט הוציאה את גרסת V12 של Azure שסגרה חלק גדול מהפערים ברמת ה-TSQL מגרסת 2014, וכעת החידושים מועלים תחילה אליה, ורק בהמשך לגרסאות On Prem העתידיות.גרסת V12 עצמה תיעלם עם...
אין תגובות

Alter Table OnLine

יום שני, מרץ 2, 2015

עוד חידוש ב-V12 של Azure: היכולת לשנות טבלה OnLine מבלי לנעול אותה למשתמשים, בערך כמו אופציות דומות ביצירה או בתחזוקה של אינדקסים.לרוב נשתדל לעשות פעולות כאלו בלילה ובשעות בהן אין משתמשים, אך במערכות שפועלות מסביב לשעון – זה בלתי אפשרי. נכון- נשתדל לתזמן את זה למועדים בהם הפעילות נמוכה יחסית, אך עדיין- איננו רוצים לנעול את הטבלאות למשך כל זמן הפעילות, בעיקר בטבלאות גדולות בהן זה יכול להימשך דקות ארוכות. נתחיל מהבעייה. ניצור טבלת Clustered Index: Select 1 N, *Into T_msFrom sys.messages; Alter...
תגיות: , ,
אין תגובות

Dynamic Data Masking

יום רביעי, פברואר 25, 2015

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

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

יום חמישי, פברואר 12, 2015

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

עבודה ב-SSMS על מספר שרתים בו זמנית

יום ראשון, יוני 13, 2010

רבים ניגשים לשרתים אותם הם מנהלים דרך מסגרת ה-Object Explorer שב-SSMS (בשוליו השמאליים של המסך) מכיוון שזו ברירת המחדל בממשק, אך ניתן לפנות גם דרך ה-Registered Servers (יש לבחור באפשרות זו בתפריט View והמסגרת תוצג באופן דומה ל-Object Explorer בשמאל המסך) ולהרוויח כמה אופציות ששוות תשומת לב. מאיר דודאי ציין לפני מספר חודשים את האפשרות "לצבוע" את השוליים של כל Query בצבע אחר כדי להימנע מטעויות הרות גורל. אופציה אחרת היא להפעיל שאילתות שיפנו למספר שרתים בו זמנית: קליק ימני על ה-Server Group שמאגד מספר שרתים יחד, ובחירה ב-Query. זה יפתח Query חדש שהשוליים שלו בצבע...