Skip to main content

Long Term Retention Backup in Azure SQL DB

ערב טוב
לילה, בחירות, זמן - סוף סוף יש זמן לכתוב פוסט.
והיום על פיצ'ר החדש הקרוי:
 Long-Term Backup Retention
אפשר לבצע פעולות אלו גם בפורטל וגם ב PS
אני אציג בפוסט זה את הדרך לבצע גיבויים אלו דרך הפורטל.
מצורפים 2 לינקים, ראשון ההכרזה עצמה, הלינק השני מכיל תיאור כיצד לבצע ב PS.
 
Announcement:
 
PS:
 
אז קדימה בואו נצלול לעולם הגיבויים ארוכי הטווח.
המפתח הוא להבין מה היה עד היום ומה מציעים עכשיו.
עד היום היה ניתן לשחזר אחורה עד 35 ימים (לפי ה tier המתאים) לכל נקודה בזמן (PIT).
עכשיו מציעים ללא קשר ל tier שמירה של עד 10 שנים של עותק של בסיס הנתונים.
במענה לשאלה שלי ענו לי ככה:
 
The SQL Long term backup retention only saves the weekly backup to Recovery Service Vault.
 
כלומר הם שומרים רק Full backups. ואותם מעבירים ל Recovery Service Vault.
שזהו המחסן או ה Storage שנשמרים בו הקבצים.
 
Backup: 

התהליך הוא פשוט יחסית - ברמת השרת מקנפגים מחסן זכרון לאותו איזור ולאותו סבסקרפשין, ואז מחליטים על מדיניות שמירה, ואז שומרים בסיס נתונים לאותה מחסנית לפי המדניות המתאימה.
 
Restore:
התהליך גם כן פשוט - ניגשית להיכן שמשחזרים בסיס נתונים, לוחצים על טווח ארוך (בדיוק כמו החניות בשדה תעופה), בוחרים את המחסנית הרצויה ומשחזרים ...
 
זהו.
שאלות שנשאלות :
אם מוחקים בסיסי נתונים או שרת - איך משיגים שיחזור? ובכן באמצעות פקודות PS זה אפשרי .
אם שומרים את הגיבוי המלא אז מה יהיה אם רוצים לשחזר לאמצע שבוע? אי אפשר שיזחור רק לזמן גיבוי שהוא גיבוי full.
 
נעבור על התהליך בתמונות:
 
  • ברמת השרת אנו לוחצים על השורה המסומנת
 
 
 
 
 
 
  •  מאשרים תנאים, בחלון שנפתח בוחרים את כל מה שצריך. אם אין vault, צריך לייצר כזה אחד.
 
 
  • הנה ההודעה - כאשר לא קיים Vault - Recovery Service.
 
 
  • נייצר Recovery Service - באותו הסבסקרפשין ובאותו איזור של בסיס הנתונים שלנו - ומצורפת התמונה.
 

  •  לאחר שייצרנו נראה שקיים כזה שירות - הוא יופיע לנו אחרי כן אוטמטית בחלון של LTR.
 
 
 
  • לאחר שייצרנו ושייכנו אליו בסיס נתונים ויצרנו Policy מתאים שאומר כמה שנים לשמור את הקובץ, אנו לוחצים save - ורואים לאחר כמה דקות שמתעדכנת העמודה עם פרטי ה Policy.
 
 

  • שימו לב שרואים ב vault את הגדלים של הקבצים שנשמרו - אולם עדיין לא מצליחים להגיע לזה ממש מתוך מוצר זה.
\
 
  • לאחר מכן מגיע שלב ה Restore. שימו לב הוא יופיע רק לאחר שיתבצע גיבוי מלא לבסיס הנתונים Full. ניגשים לבסיס הנתונים ולוחצים על restore.
 
  • לוחצים על Long Term
 
 
  • בוחרים את המחסנית המתאימה
 
 
  • ומאשרים - לאחר זמן מה מסתיים השיחזור ורואים את בסיס הנתונים במקום. יש גם הודעה בלוגים:
 
 
  • גם התרעת מייל על יטצירת בסיס נתונים חדש קיבלתי (מבטיח לכם להסביר איך עושים את זה בהזדמנות...) 
 
 
זהו - ניתן לשחזר ולשמור שנים רבות - כמו שציינתי בסיסי נתונים שנמחקו טרם בדקתי - הם טוענים שזה עובד ב PS.
 
שיהיה לכם יום מופלא
 
פיני
 

 
 
 
 
 

 
 

 

 


Comments

Popular posts from this blog

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. לכן אני ממליץ בחום לכולם לאפשר את הקונפיגורציה הזו.

How to restore deleted Azure Synapse dedicated SQL pool

  Existing dedicated pool can be easily restored from Azure portal or PowerShell command, but for now deleted pool could be restored from PowerShell only! Example: # Connect to Azure with system-assigned managed identity $AzureContext = (Connect-AzAccount -Identity).context # set and store context $AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile $AzureContext # $AzureContext = Set-AzContext -SubscriptionName $SubscriptionName -DefaultProfile $AzureContext $SubscriptionName="Databases" $ResourceGroupName="stg-rg-we" $ServerName="stg-synapse-we"   $DatabaseName="sql_we_2023_11_07_13_42" $NewDatabaseName="sql_dp_we_deleted" ######################################## $token = (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token $SubscriptionId = "ce088f9e-1111111a3914b" $DedicatedPoolEndPoint = "stg-synapse-we.sql.azuresynapse.net" $DedicatedPoolName = $DatabaseNam...

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...