Skip to main content

Posts

Configuring secondary database in Azure SQL DB - Bug found

Hi All Last week we had an issue with a secondary DB in geo replication and fail over group. To make the long story short we had to delete the secondary and recreate a secondary from scratch . And now let me tell you the story, we build a DB in P6 tier - very high, expensive and highly available. Then we add a geo replication copy via the platform, like it shows here. This is take from MSFT documentation: https://docs.microsoft.com/en-us/azure/azure-sql/database/active-geo-replication-overview It is written:  " Both primary and secondary databases are required to have the same service tier. It is also strongly recommended that the secondary database is created with the same backup storage redundancy and compute size (DTUs or vCores) as the primary. If the primary database is experiencing a heavy write workload, a secondary with lower compute size may not be able to keep up with it. That will cause redo lag on the secondary, and potential unavailability of the secondary. To mit...

Availability Zones in Azure and the relation to SLA in Azure SQL DB

שלום לכולם כאשר מקנפגים Azure SQL DB מנוהל והוא תחת Premium or Business Critical Toers מיקרוסופט שואלים אותך: Would you like to make this database zone redundant? מה זו השאלה הזו? מה ההשפעה שלה ומה העלות שלה? אז עשינו ובדקנו מה ההשפעה. הלינק הבסיסי להסבר הקונפיגורציה הזו הוא זה: https://azure.microsoft.com/is-is/blog/azure-sql-database-now-offers-zone-redundant-premium-databases-and-elastic-pools/ מה זה אומר? זה מסביר על המושג הקריטי Availability Zones ועל השימוש שלו ב SLA של הדיבי שלנו. ובכן בכל דאטה סנטר בענן יש בעצם 3 דאטה סנטרים, הכל מנותק אחד מהשני. https://docs.microsoft.com/en-us/azure/availability-zones/az-overview לכל Azure SQL DB יש 3 עותקים ניסתרים, מיקרוסופט נותנת אופציה לשמור את אחד העותקים הניסתרים ב Availability Zone אחר. הדבר מעלה את ה SLA כך שאם יש תקלה ב Availability Zone אחד זה לא משפיע על ה DB. לכן אני ממליץ בחום לכולם לאפשר את הקונפיגורציה הזו.

Azure SQL DB Tiers - Improvments in hardware options

שלום לכולם והיום על שיפורים בקונפיגורציות של Azure SQL DB in v-Core mode       תחת v-Core mode יש 3 אפשרויות: General Purpose Provisioned Server Less Hyper Scale  Business Critical בכל אחד מאלו אפשר לקבוע את כמות ה CPU והכמות סטורג'   כאשר Hyper Scale זו טכנולוגיה אחרת ועליה נכתוב בפעם אחרת.   General Purpose vs Business Critical - ההבדל ביניהם הוא האם ה SSD הוא מקומי בתוך השרת או שזה סטורג' מרכזי.   בכל אחד משני אלו עד היום אפשר היה לבחור בין Gen4 & Gen 5 כאשר ההבדל ביניהם הוא זה:   Gen 4 CPUs are based on Intel E5-2673 v3 (Haswell) 2.4 GHz processors. Gen 5 CPUs are based on Intel E5-2673 v4 (Broadwell) 2.3 GHz processors.     עכשיו הוסיפו עוד 2 אפשרויות M-Series FSv2 Series זה נהיה מורכב - שימו לב תחת General Purpose אפשר לבחור רק  FSv2 בנוסף ל Gen4 \ Gen5     תחת Business Critical אפשר לבחור רק M בנוסף ל Gen4 \ Gen5...

Cloud SQL for SQL Server at GCP - Part 2

שלום לכולם והיום נסביר איך עושים scale up and scale down. אם התרגלנו ב Azure SQL DB להעלות Tier ולהוריד Tier על ידי בחירת Tier ואז הכל יושפע וישתנה ממנו, פה ניתנת אפשרות להוסיף זזכרות מעבדים וסטורג'. הדבר הוא יותר דינמי כי אפשר לפתור בעיה ספציפית, אבל מצש שני נותן לנו אין סוף אפשרויות לביצוע ולעיתים אתה לא יודע מה להחליט ומה עולה כמה. להלן המסכים: נכנסים למסך הקונפיגורציה על ידי לחיצה על הלינק המסומן:     מכאן המסך מתפצל לסוגי קונפיגורציות - אנו נתמקד בחומרה:         אנו נשנה את מה שצריך למשל זיכרון ו cpu. נשנה את הסטורג' ובצד ימין יש סיכום.     לחצנו סימנו ובחרנו ואז לאחר האישור מופיעה ההודעה שהשרת יעבור איתחול בכדי לתפוס את השינויים.  כמה דקות אחרי כן כשהשרת עולה - הכל מקונפג לפי ההגדרות. זהו ממש פשוט... תבצעו את זה ובפעם הבאה נתחיל לבדוק ולראות מה שונה ומה שווה... ניתן לבדוק בהרצת שאילתות אלו לבדיקת cpu וזיכרון: -- CPU assigned to database SELECT  scheduler_id,  cpu_id,  status,  is_...

Cloud SQL for SQL Server at GCP - Part 1

שלום לכולם בסיסי נתונים מנוהלים (PAAS) הם הדבר האהוב עליי, ולכן כבר ב 2010 התחברתי ל Azure SQL DB. תן לספק הענן להיות אחראי על הכול, כולל גיבויים, כולל שחזורים, כולל שדרוג מערכות הפעלה וכדומה. מיקרוסופט נהנית מיתרון. המוצר המרכזי שלהם SQL Server בעולם בסיסי הנתונים עבר מתיחת פנים ראויה והוא מוצר יעיל, נמכר ויציב. מיקרוסופט הוסיפו גרסאות מנוהלות של MySQL, Postgress ועוד. אמזון החלה כבר ממזמן לספק בסיסי נתונים מנוהלים במוצר שנקרא RDS, החל מ MySQL, Oracle, postgres and SQL Server. כמובן גם גוגל נכנסת לתמונה והם מציעים 3 מוצרים של בסיס נתונים מנוהלים בענן שלהם הידוע בשמו GCP תחת הכותר: Cloud SQL. אם בפורטל של גוגל נכנסים ל SQL זה מה שרואים: 3 סוגים של בסיסי נתונים מוצעים למכירה:  במקרה שלנו נבחר כמובן SQL Server. לאחר הבחירה עולה מסך קונפיגורציות: בוחרים שם של מכונה ססמא מיקום של הדאטה סנטר הרלוונטי. ואז יש 6 תתי מסכים לשינויים והגדרות: סוג המכונה והסטורג' שימו לב אלו הגרסאות של ה SQL המוצעות. (בניגוד ל Azure SQL DB שספק הענ...

Azure SQL DB tiers Short Overview

שלום לכולם היום אסקור בקצרה את ה tiers השונים לבחירת DB. במילה tiers מסתתרת משמעות רחבה מאד, טווח רחב מאד של אפשרויות ביצועים. בפוסט שפרסמתי בחודש מרץ ביצעתי השוואות ביצועים בין tiers שונים: http://www.sqlazure.co.il/2019/03/azure-sql-db-tiers-comparison.html והיום אציג טבלה ובה החומרה מתחת לפני השטח נכון להיום! כידוע יש 2 קבוצות שונות של שרתים שאפשר לבחור עבור Azure SQL DB DTU vCore כאשר באפשרות הראשונה אין אפשרות לבחור קומבינציה של רכיבים - פשוט  בוחרים:  Basic\Standard1..12\Premium1...15 שזה שוני שנובע מ Local SSD וכאשר באפשרות השנייה יש אפשרות לבחור בין סוגי CPU שונים Gen 4 / Gen 5 Gen 4 CPUs are based on   Intel   E5-2673 v3 (Haswell) 2.4 GHz processors Gen 5 CPUs are based on   Intel   E5-2673 v4 (Broadwell) 2.3 GHz processors שזה גם משפיע על כמות ה RAM והאם Busines critical \ General purpose שגם זה שוני שנובע מ Local SSD תחת vCore - יש אפשרות לבצע תשלום מראש לכמה שנים ובכך לחסוך המון כסף למי שמשתמש ב  vCore (ועל זה...

Auto Pause in Azure SQL Database Serverless

שלום לכולם והפעם נציג את האפשרות שבסיס הנתונים יהיה ב - Pause. ובכך העלות על ה Compute לא יתבצע אלא רק העלות על Storage. עד היום אם רציתם בסיס נתונים בעלות נמוכה וגם כשהוא לא פעיל היה אפשר לשים אותו או ב tier - basic or in Standard 0 שהעלות שלו היא הגונה 15 דולר לחודש על 250 ג'יגה. מיקרוסופט הציעו סוג חדש שכשהוא לא פעיל x שעות הוא נכנס למצב של pause ואז אין עלות אלא על storage. בחישוב מהיר שלי עולה כי אם בסיס הנתונים קטן מ 90 ג'יגה והוא לא פעיל רוב הזמן כדאי לעבור אליו. איך זה עובד? אם הוא מזהה 0 DTU במשך הזמן שהוגדר הוא קופא, בפניה הראשונה מקבלים שגיאה. ואז בפניה השנייה אחרי שממתינים כמה שניות בסיס הנתונים דלוק. התהליך פשוט: הולכים למסך קונפיגורציה בוחרים את Serveless מגדירים תוך כמה שעות ללא פעילות הוא ייכנס למצב pause. מגדירים מינימום cpu ומקסימים cpu. מגדירים כמה storage יוקצה. וזהו. מצורפים המסכים הבאים: מסך ההגדרה עצמו. מסך של בסיס נתונים פעיל מסך של בסיס נתונים שנעצר מסך של שגיאה מ SSMS בחיבור. ומסכים של המסך הראשי - בו יש גרף טיפה אחרת שמציג מידע...