Microsoft SQL Server היא מערכת של מסדי נתונים שפועלת ב-Windows Server ובחלק מההפצות של Linux. אתם יכולים להשתמש ב-SQL Server ב-Compute Engine כחלק מהקצה העורפי של האפליקציות שלכם, כסביבת פיתוח ובדיקה גמישה, או בנוסף למערכות המקומיות שלכם לגיבוי ולהתאוששות מאסון.
Compute Engine מספק תמונות עם Microsoft SQL Server שמותקן מראש ב-Windows Server. בתמונות האלה של SQL Server, Compute Engine מנהל את הרישיון גם ל-Windows Server וגם ל-SQL Server, וכולל את העלות בחשבון החודשי. יצירת מכונות וירטואליות (VM) עם SQL Server והרחבת הקיבולת (scale out) להגדרות גדולות של כמה צמתים כשצריך.
ב-Compute Engine, הנתונים מאוחסנים בדיסקים של אחסון בלוקים עמידים עם יתירות אוטומטית והצפנה אוטומטית במנוחה. אפשר להשתמש בדיסקים האלה כדי לאחסן את הנתונים של SQL Server, ולא צריך לדאוג לגבי העמידות או האבטחה של הנתונים. כדי לשפר את הביצועים, כדאי ליצור את מכונות ה-VM עם SSD מקומי כמטמון שמספק IOPS וביצועים נוספים לשאילתות SQL Server.
אפשר ליצור מכונות וירטואליות של Compute Engine שמריצות SQL Server בדרכים הבאות:
יצירת מכונה וירטואלית באמצעות קובץ אימג' של SQL Server. קובצי האימג' האלה כוללים אחת מכמה מהדורות של SQL Server שפועלות ב-Windows Server. אתם יכולים להשתמש בתמונות האלה כדי להריץ את SQL Server ב-Compute Engine, בלי שתצטרכו לקבל רישיון נפרד משלכם מ-Microsoft.
העברת רישיונות קיימים של SQL Server למכונה וירטואלית של Windows Server ב-Compute Engine וניהול הרישיונות האלה בעצמכם.
איך מתקינים SQL Server במכונה וירטואלית של Linux ב-Compute Engine
רשימה מלאה של התמונות הזמינות שכוללות SQL Server שהותקן מראש זמינה במאמר פרטים על מערכת ההפעלה.
דרישות לגבי סוגי מכונות לתמונות של SQL Server
סוג המכונה המתאים ביותר ל-SQL Server תלוי במהדורה של SQL Server שאתם מריצים.
SQL Server Standard
אפשר להריץ את SQL Server Standard במכונות וירטואליות שנוצרו עם כל סוג מכונה, אבל סוגי מכונות עם ליבה משותפת (shared-core) לא מספקים ביצועים אופטימליים. Google ממליצה להשתמש במכונות וירטואליות עם לפחות vCPU אחד כדי להפעיל את SQL Server Standard.
SQL Server Enterprise
למכונות וירטואליות שמופעל בהן SQL Server Enterprise צריכים להיות לפחות 4 מעבדים וירטואליים. כדי להשיג ביצועים אופטימליים, Google ממליצה להפעיל את SQL Server Enterprise על מכונות וירטואליות עם קיבולות זיכרון גדולות יותר. בהתאם לעומס העבודה, מומלץ להשתמש בhighmem מכונות עם קונפיגורציה מוגדרת (predefined) עם 8 ליבות vCPU או יותר, כמו N2. highmemמכונות עם קונפיגורציה מוגדרת מראש ממקסמות את היחס בין הזיכרון לכל vCPU שזמין ב-Compute Engine, וזה אופטימלי למכונות וירטואליות של SQL Server Enterprise.
אתם יכולים להשתמש ב-SQL Server Enterprise ב-Compute Engine כדי ליצור קבוצות זמינות של SQL Server.
רכיבי ברירת המחדל
כברירת מחדל, קובצי אימג' של SQL Server כוללים כמה רכיבים. רכיבי ברירת המחדל תלויים במהדורה של SQL Server שבחרתם.
מידע על רכיבי ברירת המחדל שכלולים בגרסה של SQL Server זמין במאמר מהדורות ותכונות נתמכות של SQL Server 2019.
מידע על שינוי רכיבי SQL Server זמין במאמר הוספת תכונות למופע של SQL Server.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מופיעה שגיאת אימות, ודאו ש נכנסתם ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
יצירת מכונה של SQL Server
כדי ליצור מכונה של SQL Server, צריך לציין את משפחת קובצי האימג' לגרסה הספציפית של SQL Server שדרושה לכם. לרשימה של משפחות קובצי האימג' של SQL Server, קראו את המאמר פרטים על מערכת ההפעלה.
כדי להשיג ביצועים אופטימליים, פלטפורמות של שרתי מסדי נתונים דורשות סוגי מכונות עם יותר מעבדים וירטואליים וכמויות גדולות יותר של זיכרון. Google ממליצה להשתמש בסוגי מכונות עם לפחות 2 vCPU ולפחות 4 GB של זיכרון כשמפעילים מופעים של SQL Server. אתם יכולים להשתמש בסוגי מכונות בהתאמה אישית כדי להגדיר מופעים של SQL Server בהתאם לדרישות הביצועים של עומס העבודה. כדי לשפר את הביצועים של האפליקציות, אתם יכולים להשתמש בדיסקים גדולים יותר או בסוגי דיסקים מהירים יותר.
צריך להגדיר כללים ספציפיים של חומת אש כדי לאפשר תעבורת נתונים של SQL Server ברשת ה-VPC או בתת-הרשת שהמכונה הווירטואלית שייכת אליה. מידע נוסף זמין במאמר שיטות מומלצות ל-SQL Server.
המסוף
כדי ליצור מופע של SQL Server:
נכנסים לדף Create an instance במסוף Google Cloud .
מציינים את פרטי המכונה הווירטואלית.
לוחצים על הכרטיסייה מערכת הפעלה ואחסון.
לוחצים על שינוי ואז מבצעים את הפעולות הבאות:
- בכרטיסייה תמונות ציבוריות, לוחצים על הרשימה מערכת הפעלה ובוחרים באפשרות SQL Server on Windows Server.
- ברשימה Version, בוחרים גרסה.
- ברשימה Boot disk type, בוחרים את סוג דיסק האתחול.
- בשדה Size (GB) מגדירים את גודל דיסק האתחול.
- אופציונלי: כדי לשנות את ההגדרות המתקדמות של דיסק האתחול, לוחצים על הצגת הגדרות מתקדמות ומציינים את ההגדרות הרצויות.
- כדי לשמור את ההגדרות של דיסק האתחול, לוחצים על Select.
בחלון Create an instance, לוחצים על Create.
אחרי שיוצרים את המכונה הווירטואלית, יוצרים כלל של חומת אש כדי לאפשר גישה ל-SQL Server במכונה. יציאת ברירת המחדל של SQL Server היא 1433.
נכנסים לדף Firewall Rules במסוף Google Cloud .
בחלק העליון של הדף, לוחצים על יצירת כלל חומת אש.
מציינים את הפרטים של כלל חומת האש.
- בשדה שם, מציינים שם לכלל חומת האש.
- בשדה Network (רשת), בוחרים את רשת ה-VPC שבה נמצא מופע SQL Server.
- בקטע Direction of traffic, בוחרים באפשרות Ingress.
- בשדה Targets בוחרים את היעדים של כלל חומת האש. היעדים יכולים להיות כל המכונות, או תגי יעד או חשבונות שירות ספציפיים. לדוגמה, אפשר לבחור באפשרות All instances in the network. אם הגדרתם תג או חשבון שירות למופע של SQL Server, תוכלו להגביל את כלל חומת האש לתג או לחשבון השירות הספציפיים.
- בשדה Source filter, בוחרים את טווח כתובות ה-IP שרוצים לאפשר להן גישה ליציאה הזו. בכלל תעבורת נתונים נכנסת, אפשר לבחור טווחי IPv4 של מקור, טווחי IPv6 של מקור, תגי מקור או חשבונות שירות. בשדות שמופיעים אחרי מסנן מקור, מציינים פרטים נוספים על הבחירה.
- בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות שצוינו) ומזינים את היציאה שבה נעשה שימוש ב-SQL Server. בדוגמה הזו, בוחרים באפשרות TCP ומזינים את הערך
1433, שהוא יציאת ברירת המחדל.
לוחצים על יצירה כדי ליצור את כלל חומת האש הזה ולאפשר גישה למכונת SQL Server דרך היציאה שצוינה.
אם אתם צריכים להוסיף עוד כללים של חומת האש למכונה הווירטואלית, קראו את המסמכים בנושא כללים של חומת האש.
gcloud
משתמשים בפקודה compute images list כדי לראות רשימה של קובצי אימג' זמינים של SQL Server:
gcloud compute images list --project windows-sql-cloud --no-standard-images
משתמשים בפקודה
compute instances create
כדי ליצור מכונה וירטואלית חדשה ולציין את משפחת האימג' לאחד מהאימג'ים הציבוריים של Windows Server או SQL Server.
gcloud compute instances create VM_NAME \
--image-project windows-sql-cloud \
--image-family IMAGE_FAMILY \
--machine-type MACHINE_TYPE \
--boot-disk-size BOOT_DISK_SIZE \
--boot-disk-type BOOT_DISK_TYPE
מחליפים את מה שכתוב בשדות הבאים:
- VM_NAME: השם של המכונה החדשה.
- IMAGE_FAMILY: אחת ממשפחות האימג'ים הציבוריות של אימג'ים של Windows Server או SQL Server.
- MACHINE_TYPE: אחד מסוגי המכונות הזמינים.
- BOOT_DISK_SIZE: גודל דיסק האתחול ב-GB. לדיסקים מתמידים גדולים יותר יש תפוקה גבוהה יותר.
- BOOT_DISK_TYPE: הסוג של דיסק האתחול של המכונה. לדוגמה,
pd-balanced.
אחרי שיוצרים את המכונה הווירטואלית, צריך ליצור כלל בחומת האש כדי לאפשר גישה ל-SQL Server במכונה הווירטואלית. יציאת ברירת המחדל של SQL Server היא 1433.
gcloud compute firewall-rules create sql-server-1433 \
--description "Allow SQL Server access from all sources on port 1433." \
--allow tcp:1433 --network NETWORK
כאשר NETWORK הוא השם של רשת ה-VPC שבה נמצאת המכונה הווירטואלית.
אם אתם צריכים להוסיף כללים נוספים לחומת האש למכונה הווירטואלית, תוכלו לעיין במסמכי התיעוד בנושא כללים של חומת האש.
Terraform
כדי ליצור את המכונות הווירטואליות של SQL Server, משתמשים במשאב google_compute_instance.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
REST
כדי ליצור מכונה וירטואלית באמצעות ה-API, צריך לכלול את המאפיין initializeParams בבקשה ליצירת המכונה הווירטואלית ולציין תמונת Windows.
POST https://compute./compute/v1/projects/PROJECT_ID/zones/ZONE/instances
instance = {
"name": "VM_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [{
"boot": "true",
"type": "PERSISTENT",
"initializeParams": {
"diskName": "DISK_NAME",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY",
"diskSizeGb": "BOOT_DISK_SIZE",
"diskType": "BOOT_DISK_TYPE",
}
}],
"networkInterfaces": [{
"accessConfigs": [{
"type": "ONE_TO_ONE_NAT",
"name": "External NAT"
}],
"network": "global/networks/default"
}],
"serviceAccounts": [{
"email": DEFAULT_SERVICE_EMAIL,
"scopes": DEFAULT_SCOPES
}]
}
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: המזהה של הפרויקט.
- ZONE: האזור של המכונה.
- VM_NAME: השם של מכונת ה-VM החדשה.
- MACHINE_TYPE: סוגי המכונות הזמינים.
- IMAGE_PROJECT:
windows-cloudלתמונות של Windows Server אוwindows-sql-cloudלתמונות של Windows Server עם SQL Server שהותקן מראש. - IMAGE_FAMILY: משפחות האימג'ים הציבוריות של אימג'ים של Windows Server או SQL Server.
- BOOT_DISK_SIZE: גודל דיסק האתחול ב-GB. לדיסקים מתמידים גדולים יותר יש תפוקה גבוהה יותר.
- BOOT_DISK_TYPE: הסוג של דיסק האתחול של המכונה הווירטואלית. לדוגמה,
pd-ssd.
אחרי שיוצרים את המכונה הווירטואלית, משתמשים ב-method firewalls.insert כדי ליצור כלל של חומת אש שמאפשר גישה ל-SQL Server במכונה הווירטואלית. יציאת ברירת המחדל של SQL Server היא 1433.
POST https://compute./compute/v1/projects/PROJECT_ID/global/firewalls
{
"name": "sql-server-1433",
"network": "global/networks/NETWORK",
"allowed": [
{
"IPProtocol": "tcp",
"ports": [
"1433"
]
}
]
}
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: המזהה של הפרויקט.
- NETWORK: השם של רשת ה-VPC שבה נמצאת המכונה הווירטואלית.
אחרי שיוצרים את המכונה של SQL Server, מגדירים את הסיסמה הראשונית ל-VM כדי שתוכלו להתחבר ל-VM באמצעות RDP. מריצים את SQL Server Management Studio כאדמינים כדי לנהל מסדי נתונים במכונה של SQL Server.
אפשר לשפר את ההתקנה של SQL Server באמצעות אחד או יותר מהפריטים הבאים:
- מתקינים את SQL Server Data Tools (SSDT) במכונת SQL Server כדי ליצור ולנהל את מסדי הנתונים של SQL Server באמצעות Visual Studio. מתחברים למכונות הווירטואליות של Windows באמצעות RDP, מורידים את SSDT ומתקינים אותו מהאתר של Microsoft.
- תמונות של SQL Server כוללות כמה רכיבי ברירת מחדל.
אפשר להוסיף תכונות להתקנה של SQL Server.
תמונות של SQL Server תמיד כוללות את קובץ ההפעלה של ההגדרה בנתיב
C:\sql_server_install\setup.exe. - כדי להתקין את SQL Server בדיסק משני, צריך להוסיף דיסק שאינו דיסק אתחול למכונה הווירטואלית.
לאחר מכן, מתחברים למופע של מכונת ה-VM ומריצים את
C:\sql_server_install\setup.exeהתוכנה להתקנה, ובוחרים נתיב התקנה חדש בדיסק המשני. - אם אתם צריכים נפח אחסון נוסף בדיסק האתחול או בדיסקים משניים, אתם יכולים לשנות את הגודל ואת הביצועים המוקצים של נפח אחסון מסוג Hyperdisk או לשנות את הגודל של Persistent Disk, גם בזמן שהמכונה הווירטואלית פועלת.
ניהול מסדי נתונים של SQL Server
מריצים את SQL Server Management Studio כאדמינים כדי להגדיר את מסדי הנתונים של SQL Server. אפשר להוריד ולהתקין את SQL Server Management Studio בתחנת העבודה המקומית, ולהשתמש בו כדי להתחבר למנוע של מסד הנתונים במכונה הווירטואלית.
אם אתם לא יכולים להתקין את Management Studio בתחנת העבודה המקומית, אתם יכולים להתחבר למכונות וירטואליות של Windows באמצעות RDP ולהריץ את Management Studio במכונה הווירטואלית עצמה. SQL Server 2012 ו-SQL Server 2014 כוללים את SQL Server Management Studio כברירת מחדל. ב-SQL Server 2016, צריך להוריד את SQL Server Management Studio מאתר Microsoft ולהתקין אותו במכונה הווירטואלית.
כברירת מחדל, SQL Server משתמש במצב אימות של Windows כדי לשלוט בגישה ל-SQL Server עצמו. כדי להשתמש במצב SQL Server Authentication, אפשר לשנות את מצב האימות.
עדכון השמות של מכונות SQL Server
אם משנים את השם של מכונה וירטואלית שמארחת את SQL Server, צריך לעדכן את שם המכונה של SQL Server. מידע נוסף זמין במאמר בנושא שינוי השם של מחשב שמארח מופע עצמאי של SQL Server.
המאמרים הבאים
- מוודאים שהמכונה הופעלה בהצלחה.
- יוצרים נפח Hyperdisk חדש או יוצרים נפח חדש של דיסק אחסון מתמיד ומצרפים אותו למופע של מכונה וירטואלית כדי לאחסן את הנתונים בנפרד מדיסק האתחול.
- שיטות מומלצות ל-SQL Server ב- Google Cloud
- יצירה והגדרה של מכונה של SQL Server עם ביצועים גבוהים.
- משתמשים ב-HammerDB כדי להריץ בדיקות עומס ב-SQL Server.
- שימוש ב-SQL Server עם אפליקציות .NET