התחברות למסד נתונים של Azure SQL: מדריך מקיף

Azure SQL נתונים הוא שירות מנוהל של מסד נתונים SQL הנבנה כך שמפתחים ומנהלים לא צריכים לבצע את המשימות המשעממות של התקנת שרת SQL או שליטה של שעות בהגדרת אשכולות חילוץ.

Microsoft Azure עשתה את העבודה הכבדה של הגדרת שכבת מסד הנתונים, ולכן הכל שנותר לעשות הוא להתחבר אליו, וזהו מה שמאמר זה יכסה. ישנם מספר דרכים שונות להתחבר למסד נתונים Azure SQL.

תנאים מוקדמים

אם ברצונך להתחבר למסד נתונים Azure SQL, יהיה עליך לעמוד בכמה דרישות מראש.

  1. חשבון Azure או גישה אל אחד
  2. מסד נתונים Azure SQL (ניתן להשתמש במשלך אם תרצה, אך אני אשתמש במסד דוגמה.
  3. A Windows 10, Mac OS, or Linux laptop or desktop with PowerShell, Visual Studio Code and SQL Server Management Studio installed. The screenshots are all from Windows 10.

יש עשרות דרכים שונות להתחבר ל- Azure SQL, ולצערי אני לא יכול לכסות את כולן, אך אני אכסה את אלה שאני אכסה בפוסט הזה:

  • הפורטל של Azure
  • סטודיו לניהול שרת SQL
  • קוד סטודיו חזותי
  • PowerShell

הגדרת מסד הנתונים של Azure

לפני שתתחיל, עליך לוודא שיש לך מסד נתונים זמין ואתה יכול להתחבר אליו. באמצעות ההוראות מתוך המסמך התחלה מהירה, הגדרתי מסד נתונים לדוגמה בשם ata-demo. במסד הנתונים זה יש לי משתמש SQL מנהל (sa) בשם AtaAdmin והסיסמה היא Admin123.

הסיסמה שאני משתמש בה אינה הכי מאובטחת, אך היא תעשה את העבודה לצורך הדגמה. בשם של כל הקדושים, בבקשה השתמש בפרקטיקות הטובות לסיסמאות כאשר אתה הולך להגדיר משהו כזה בסביבת הפיתוח או הייצור!

באמצעות הקישור פורטל Azure, יש לך להתחבר ולוודא שהמכשיר שלך יכול להתחבר למסד הנתונים. ניתן לחבר זאת לרשת וירטואלית קיימת ב-Azure או להגדיר טווח כתובות IP שיכול לגשת למסד הנתונים, וזהו מה שנעשה בדמויות למטה. לך לעמוד המשאב של מסד הנתונים שאתה רוצה להתחבר אליו וחפש אפשרות בשם הגדר חומת הגנה לשרת.

Setting an Azure SQL Server firewall rule

לאחר מכן, יש לך אפשרות לבחור טווח כתובות IP. בדף זה גם מוצגת כתובת ה-IP של המכשיר שלך, שזו אשר אשתמש בה בזמן הדגמה. אך בפועל, זו תהיה טווח התת־רשת או הרשת הווירטואלית של שכבת היישום שלך. לאחר שזה נעשה, אתה מוכן להמשיך לדמו הראשון!

התחברות למסד נתונים SQL של Azure באמצעות פורטל Azure

מכיוון שאתה כבר נמצא בפורטל Azure, ניתן להישאר כאן לדמונסטרציה הראשונה.

עבור לדף סקירה באמצעות תפריט הניווט בצד שמאל וחפש את עורך השאילתות. כאשר אתה שם, יתבקש להתחבר עם חשבון Microsoft או פרטי כניסה ל־SQL. השתמש בחשבון SA שהגדרת בקודם כדי להתחבר (AtaAdmin:Admin123).

לאחר שתתחבר, תראה לוח בצד שמאל של טבלאות, תצורות ונפרדות בתוך עורך השאילתות. ככל שלדעתי כרגע, אין כאן פונקציות לחיצה ימנית בממשק המשתמש, לכן האפשרות היחידה שלך להתקשר עם מסד הנתונים היא דרך עורך השאילתות. אם אתה משתמש במסד הנתונים לדוגמה, אתה יכול להשתמש בשאילתה לדוגמה מתחת.

SELECT pc.Name as CategoryName, p.name as ProductName
FROM [SalesLT].[ProductCategory] pc
JOIN [SalesLT].[Product] p
ON pc.productcategoryid = p.productcategoryid;
Querying the Azure SQL server database

עכשיו שאתה יודע שהוגדרו את חוקי האש, אפשר להתחיל לנסות את זה מפלטפורמות אחרות.

התחברות למסד נתונים של Azure SQL עם סטודיו לניהול שרת SQL (SSMS)

הכלי הכי איתורי לניהול שרת מסדי נתונים SQL הוא בהחלט SSMS. מובן לעולם וקרב מצויד, זהו הכלי המועדף על מנהלי מסדי נתונים של שרת SQL למעלה מעשור.

SSMS גם תואם לחלוטין מסדי נתונים של Azure SQL. אם אין לך אותו מותקן, אתה יכול להוריד את הגרסה האחרונה ממיקרוסופט או להתקין אותו באמצעות מנהל חבילות.

חזור לדף משאבי בסיס הנתונים שלך ב- SQL והעתק את שם השרת. שם השרת יהיה <שם בסיס הנתונים שלך>.database.windows.net.

פתח את סביבת העבודה של SQL Server Management כדי להתחבר לשם בסיס הנתונים באמצעות אימות של SQL Server ומשתמש SA שהגדרת מראש. אם עדיין לא הגדרת את כלל האש הגנה, תתבקש לאמת את חשבון ה-Azure שלך על ידי SSMS.

עכשיו שהתבצע אימות לבסיס הנתונים והכלל של כלי האש הגנה מוגדר, תוכל להתחיל להריץ שאילתות על ידי גישה ל- <שם השרת שלך> –> מסדי נתונים, לחיצה ימנית על בסיס הנתונים שלך ובחירה ב- שאילתה חדשה. עכשיו, הפעל את השאילתה שהשתמשת בה בעבר וצפה בקסם קורה.

Connecting to an Azure SQL Database with SSMS

התחברות לבסיס נתונים של Azure SQL עם Visual Studio Code (Code)

כדי להתחבר לבסיס נתונים של Azure SQL עם Visual Studio Code, עליך להתקין את התוסף mssql עבור Visual Studio Code. לאחר ההתקנה, לחץ על Ctrl + Shift + P כדי לפתוח את תיבת הדו-שיח וחפש MS SQL: Connect.

Using the MSSql extension in Visual Studio Code

כאשר תבחר את זה, Visual Studio Code יפעיל אותך דרך אשתוף פעולה שבה תתבקש להזין את פרטי המידע של בסיס הנתונים שברצונך להתחבר אליו. תתבקש להזין את שם השרת, שם הבסיס נתונים, שם המשתמש והסיסמה. לאחר שתספק את כל הפרטים האלו, הם יישמרו בפרופיל החיבור ויהיו יכולים לשמש לביצוע שאילתות כנגד בסיס הנתונים הזה.

הזן שאילתת SQL להרצתה נגד מסד הנתונים שלך בחלון העורך. עם השאילתה פתוחה, לחץ על Ctrl + Shift + E. תתבקש לציין איזו חיבור ברצונך להריץ את השאילתה עם. בחר את החיבור שיצרת וקוד יפתח חלון נוסף עם התוצאות מבלי לעזוב את המסך!

Connecting to mySql in Visual Studio Code

מחבר למסד נתונים של Azure SQL באמצעות PowerShell

כדי להתחבר למסד נתונים של Azure SQL באמצעות PowerShell, תצטרך להתקין את המודול Az של PowerShell. ניתן למצוא את המודול הזה בגלריית PowerShell. הורד והתקן את המודול על ידי הרצת הפקודה Install-Module Az. בזמן כתיבת זו, המודול נמצא בגרסה 2.5

המודול צריך להתקין פעם אחת בלבד על המכשיר שבו ברצונך להריץ את התסריט שלך. לאחר מכן, יש לאמת את זיהוי המשתמש ב-Azure על ידי הרצת Connect-AzAccount. למידע נוסף על איך להשתמש בפקודת Connect-AzAccount, אם ברצונך לדעת יותר.

כדי לוודא שהכל עובד, ניתן למצוא את מסד הנתונים על ידי הרצת Get-AzSqlServer -ResourceGroupName <שם קבוצת המשאבים שלך>. אם הוא מחזיר את מסד הנתונים שברצונך להתחבר אליו, אתה מוכן להריץ את התסריט.

עכשיו שאתה מאומת ורואה את מסד הנתונים, ניתן לשאול אותו על ידי הרצת התסריט שלמטה. הקוד יייבא את מודול Azure SQL, יגדיר את הפרמטרים (מסד נתונים, שם משתמש, הרשאות ושאילתה) ויריץ Invoke-SqlCmd כדי להתחיל את השאילתה של Transact SQL.

# יבא את המודול
Import-Module Az.Sql -Force
 
# הגדר את הפרמטרים שלך
$Params = @{
   'ServerInstance' = 'atademo.database.windows.net';
   'Database' = 'ata-demo';
   'Username' = 'ataadmin';
   'Password' = 'Admin123';
   'Query' = 'SELECT pc.Name as CategoryName, p.name as ProductName
FROM [SalesLT].[ProductCategory] pc
JOIN [SalesLT].[Product] p
ON pc.productcategoryid = p.productcategoryid;'
}
 
# פשוט
Invoke-Sqlcmd @Params

באפשרותך גם להשתמש ב-PowerShell כדי לקרוא מהשרת ומבסיס הנתונים של Azure SQL ולהשתמש במידע זה להעברת השאילתה כפי שמוצג למטה. בהנחה שיש לך את $rgName מוגדר ואתה מעביר את הסיסמה כ-מחרוזת מאובטחת, אין הבחנה פונקציונלית בין התסריט הראשון והשני.

Import-Module Az.Sql -Force
 
$rgName = '<Resource Group Name>'
$sqlServer = Get-AzSqlServer -ResourceGroupName $rgName
$sqlDatabase = Get-AzSqlDatabase -ServerName $sqlServer.ServerName -ResourceGroupName $rgName
 
$Params = @{
   'ServerInstance' = $sqlServer.FullyQualifiedDomainName;
   'Database' = $sqlDatabase.DatabaseName[0];
   'Username' = $sqlServer.SqlAdministratorLogin;
   'Password' = ‘<Password>’;
   'Query' = 'SELECT pc.Name as CategoryName, p.name as ProductName
       FROM [SalesLT].[ProductCategory] pc
       JOIN [SalesLT].[Product] p
       ON pc.productcategoryid = p.productcategoryid;'
}
 
Invoke-Sqlcmd @Params

סיום

עכשיו שהתחברת למסד נתונים של Azure SQL בכמה דרכים שונות, אתה אמור להרגיש בשימוש בו גם כך או במקום התקנת שרת SQL מסורתית!

קריאה נוספת

Source:
https://adamtheautomator.com/connect-to-azure-sql-database/