שאלות נפוצות בנושא Cloud SQL ל-SQL Server

מידע כללי

מה זה Cloud SQL?
‫Cloud SQL הוא שירות שמספק מסדי נתונים מנוהלים של SQL בענן. ‫Cloud SQL מספק מסדי נתונים של PostgreSQL,‏ SQL Server ו-MySQL.
מה היתרונות בשימוש ב-Cloud SQL?
‫
Cloud SQL מאפשר לכם להעביר ל-Google משימות שגרתיות, אבל הכרחיות ולרוב גוזלות זמן רב – כמו החלת תיקונים ועדכונים, ניהול גיבויים והגדרת שכפולים – כדי שתוכלו להתמקד בפיתוח אפליקציות מצוינות. מכיוון שאנחנו משתמשים בפרוטוקולים סטנדרטיים של העברת נתונים, אתם יכולים להתחבר כמעט מכל אפליקציה, בכל מקום.
אילו גרסאות של מסדי נתונים זמינות ב-Cloud SQL? איך מתבצע ניהול של עדכונים?

‫Cloud SQL ל-SQL Server תומך בגרסאות הבאות של SQL Server: ‏ SQL Server 2017 Standard,‏ SQL Server 2017 Enterprise,‏ SQL Server 2017 Express,‏ SQL Server 2017 Web,‏ SQL Server 2019 Standard,‏ SQL Server 2019 Enterprise,‏ SQL Server 2019 Express,‏ SQL Server 2019 Web,‏ SQL Server 2022 Standard (ברירת המחדל), SQL Server 2022 Enterprise,‏ SQL Server 2022 Express ו-SQL Server 2022 Web.

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

כדי לראות את הגרסה הנוכחית של המכונה, נכנסים למסוףGoogle Cloud ולוחצים על שם המכונה כדי לפתוח את הדף Instance details. אפשר גם להשתמש בפקודה gcloud sql instances describe.

האם Cloud SQL תומך בכל התכונות של מסדי נתונים?
‫Cloud SQL תומך ברוב התכונות הנפוצות של SQL Server. במאמר תכונות של SQL Server שלא זמינות ב-Cloud SQL מפורטות התכונות שלא נתמכות.
האם יש הגבלות על הגודל או על מספר השאילתות לשנייה?
אין מגבלות על מספר השאילתות לשנייה (QPS) במכונות של Cloud SQL. מכסות ומגבלות: מידע על מגבלות שקשורות לחיבור, לגודל ול-App Engine.
איך אפשר לקבל התראות על שינויים ב-Cloud SQL?
אפשר להירשם לפיד ה-RSS של הדף SQL Server Release Notes.
איך מדווחים על באג, מבקשים להוסיף תכונה או שואלים שאלה?

אתם יכולים לשאול שאלות בפורום הקהילה של Google Cloud Developer Program. למידע נוסף, אפשר לעיין בפורומים הבאים של Cloud SQL:

כדי לראות את הסטטוס הכללי של Google Cloud , אפשר להיכנס אל Google Cloud Status Tracker.

אם נתקלתם בבאג ב-Cloud SQL שניתן לשחזור או שאתם רוצים לבקש תכונה חדשה, אתם יכולים להיכנס לIssue Tracker.

חזרה למעלה

תחילת העבודה

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

אחסון נתונים, שכפול ואימות

איפה מאוחסנים הנתונים שלי?

נתוני המופע מאוחסנים באזור שבו המופע נמצא. אם לא תציינו מיקום לאחסון, הגיבויים יאוחסנו במספר אזורים שקרובים מבחינה גיאוגרפית למיקום של המכונה שלכם ב-Cloud SQL. לדוגמה, אם המכונה של Cloud SQL נמצאת ב-us-central1, הגיבויים מאוחסנים כברירת מחדל במספר אזורים ב-us. עם זאת, מיקום ברירת מחדל כמו australia-southeast1 נמצא מחוץ למספר אזורים. האזור הקרוב ביותר במספר אזורים הוא asia.

מה זה אזור?

תחום (zone) הוא ישות עצמאית במיקום גיאוגרפי ספציפי שבו אפשר להשתמש במשאבים. לדוגמה, אזור בשם us-central1-a מציין מיקום במרכז ארצות הברית.

למידע נוסף על אזורים, קראו את מאמר העזרה של Compute Engine בנושא משאבים של אזורים.

מהן מגבלות האחסון?
מידע על מגבלות אחסון זמין במאמר מכסות ומגבלות.
איך הנתונים שלי משוכפלים?

מכונות SQL Server מספקות הגדרה של זמינות גבוהה ורפליקות לקריאה.

אילו סוגים של רפליקות לקריאה אפשר ליצור?

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

איך מתבצע מעבר לגיבוי כשל ב-Cloud SQL?

למידע נוסף על יתירות כשל, ראו סקירה כללית על הגדרת זמינות גבוהה.

האם הנתונים שלי מוצפנים?
נתוני לקוחות ב-Cloud SQL מוצפנים כשהם מאוחסנים בטבלאות של מסד הנתונים, בקבצים זמניים ובגיבויים. אפשר להצפין את החיבורים החיצוניים באמצעות SSL או באמצעות Cloud SQL Auth Proxy.
איך מנוהלת ההצפנה של נתונים במנוחה?

הנתונים שלכם מוצפנים באמצעות תקן Advanced Encryption Standard (AES-256)‎‏ 256 ביט, או באמצעות הצפנה טובה יותר, עם מפתחות סימטריים: כלומר, אותו מפתח משמש להצפנת הנתונים כשהם מאוחסנים ולפענוח שלהם כשהם בשימוש. מפתחות הנתונים האלה מוצפנים בעצמם באמצעות מפתח שמאוחסן במאגר מפתחות מאובטח, והם משתנים באופן קבוע.

פרטים נוספים זמינים במאמר הצפנה במנוחה ב-Google Cloud.

איך מתבצעת הצפנה של נתונים בזמן ההעברה?

‫Google מצפינה ומאמתת את כל הנתונים במעבר בשכבת רשת אחת או יותר, כשהנתונים מועברים אל מחוץ לגבולות הפיזיים שאינם בשליטתה של Google או מטעמה של Google. הנתונים במעבר בגבולות הפיזיים האלה מאומתים בדרך כלל, אבל יכול להיות שהם לא מוצפנים כברירת מחדל. אם מתחברים למכונה באמצעות כתובת ה-IP הציבורית שלה, צריך להשתמש באישורי SSL/TLS כדי שהנתונים יהיו מאובטחים במהלך השידור. אתם יכולים לבחור אילו אמצעי אבטחה נוספים להחיל על סמך מודל האיומים שלכם. לדוגמה, אפשר להגדיר SSL לחיבורים בתוך אזור ל-Cloud SQL.

מידע נוסף זמין במאמר הצפנה במעבר ב-Google Cloud.

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

גיבוי ושחזור

איך משחזרים מכונה?

כדי לשחזר מגיבוי, אפשר להשתמש במסוףGoogle Cloud או בכלי שורת הפקודה gcloud. פרטים נוספים זמינים במאמר בנושא שחזור מופע.

כדי לשחזר מכונה לנקודה מסוימת בזמן, משתמשים בשחזור מערכת מנקודה מסוימת בזמן (PITR). מידע נוסף מופיע במאמר בנושא שימוש בשחזור לנקודת זמן מסוימת.

כמה עולים הגיבויים?

מידע נוסף על תמחור של אחסון במכונות וירטואליות ותעריפים של מכונות וירטואליות זמין במאמר בנושא תמחור.

האם אפשר לגשת לגיבויים אוטומטיים שנוצרו לפני יותר משבעה ימים?

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

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

מתי כדאי להשתמש ברפליקציה חיצונית ומתי ברפליקציה חוצת-אזורים כדי להגן מפני כשלים באזור?
רפליקציה חיצונית שכפול בין אזורים
בניהול עצמי של הלקוח רפליקה מנוהלת של Cloud SQL באזורים שונים
אפשר לשכפל בין מופעים שאינם ב-Google Cloud לבין מופעים ב-Google Cloud אפשר לשכפל רק בין מכונות של Cloud SQL
כדי להעביר נתונים אל Google Cloud או ממנו, לצמצם את זמן ההשבתה או להגן על נתונים בענן היברידי או בענן מרובה כדי להעביר נתונים בין אזורים ב-Google Cloud ולצמצם את זמן ההשבתה
תמיכה בשכפול בין גרסאות ראשיות לא תומך בשכפול בין גרסאות ראשיות שונות
חזרה למעלה

ניהול המופעים

אילו פעולות עלולות לגרום להפעלה מחדש של מכונות Cloud SQL?
יכול להיות שהמכונות של Cloud SQL יופעלו מחדש כשאתם או Cloud SQL מבצעים את הפעולות הבאות:
  • עדכון
  • יצירה
  • קידום רפליקה
  • תחזוקה
  • יצירת רפליקה מחדש
  • יתירות כשל
  • הפעלה מחדש
  • שחזור מכונה מגיבוי
  • הפעלת זמינות גבוהה במכונה קיימת (זהו עדכון למכונה)
  • הוספת דגל לניהול מסד נתונים שדורש הפעלה מחדש

הפעלה מחדש של מכונה לא משנה את כתובות ה-IP הציבוריות או הפרטיות של המכונה.

כמה זמן המכונות מושבתות במהלך ההפעלה מחדש?

כמה זמן המכונות מושבתות במהלך הפעלה מחדש?

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

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

האם אפשר להגדיל או להקטין את מסד הנתונים?

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

האם אפשר לשדרג ולשנמך את מספר ליבות ה-vCPU?

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

האם צריך להשתמש במסוף Google Cloud כדי לנהל את Cloud SQL?
לא. כל משימות הניהול שאפשר לבצע באמצעות המסוף אפשר לבצע גם באופן פרוגרמטי באמצעות Cloud SQL Admin API, או באמצעות סקריפט באמצעות כלי שורת הפקודה gcloud.
איך אפשר לפנות את נפח האחסון שמשמש לקבצים זמניים?
הגודל של קבצים זמניים יכול לגדול כששאילתות SQL יוצרות הרבה טבלאות זמניות. כדי לפנות את המקום שתופסות הטבלאות הזמניות, צריך להפעיל מחדש את מסד הנתונים. חשוב לדעת שהפעלה מחדש של מסד הנתונים לא מקטינה את נפח האחסון שהוקצה בדיסק כתוצאה מהגידול בקבצים הזמניים.
האם אפשר לייבא או לייצא מסד נתונים ספציפי?
כן. אתם יכולים לייבא או לייצא מסד נתונים ספציפי או את כל מסדי הנתונים במכונה. מידע נוסף זמין במאמר בנושא שיטות מומלצות לייבוא וייצוא נתונים.
אפשר לייבא או לייצא קובץ CSV?
בשלב הזה, אין תמיכה ב-CSV ב-Cloud SQL ל-SQL Server.
האם צריך חשבון Cloud Storage כדי לייבא או לייצא נתונים למכונה?
ב-Cloud SQL אפשר לייבא ולייצא מסדי נתונים. מידע נוסף זמין במאמרים ייצוא וייבוא באמצעות קובצי SQL dump ו ייצוא וייבוא באמצעות קובצי BAK.
אם מוחקים מכונה, אפשר להשתמש שוב בשם שלה?
כן.
מהי רמת הבידוד של העסקאות ב-Cloud SQL?

מכונות של SQL Server: ב-Cloud SQL יש את כל רמות הבידוד של טרנזקציות. לכן, אפשר להשתמש בערכים הבאים: UNCOMMITTED,‏ READ COMMITTED,‏ REPEATABLE READ,‏ SNAPSHOT ו-SERIALIZABLE.

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

תובנות

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

תמחור וחיוב

איך אפשר לנסות את Cloud SQL?
המופע הקטן ביותר הוא db-f1-micro. אתם יכולים להשתמש בו כדי לנסות את השירות. חשוב לזכור שהסכם ה-SLA לא חל על מכונות עם ליבת מעבד משותפת.
כמה מופעים אפשר ליצור בפרויקט?
למידע על מגבלת המכונות, ראו מכסות ומגבלות.
איזה גודל של מכונה של מסד נתונים צריך? כמה זיכרון RAM?
באופן כללי, אפשר לשפר את הביצועים של מסד הנתונים על ידי בחירת מכונה גדולה יותר עם יותר זיכרון RAM ומעבד (CPU). השינוי הזה משפר את הביצועים של הרבה שאילתות שכוללות כמות גדולה של חישובים, כמו שאילתות שכוללות הצטרפויות, ORDER BY או GROUPing, אבל לא ישפיע באופן משמעותי על הביצועים של עדכונים שמשפיעים על שורות בודדות. עם זאת, ככל שהמכונה גדולה יותר, כך זמן האחזור התפעולי ארוך יותר. מידע נוסף על גדלי המכונות והתמחור מופיע בדף התמחור.
איך מחושב השימוש במכונה שלי?

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

איך מחושב נפח האחסון?
החישוב של נפח האחסון מבוסס על נפח האחסון שהקציתם למופע. החיוב על אחסון של גיבויים נקבע לפי נפח האחסון שהגיבויים תופסים. החיוב על האחסון מתבצע גם אם המכונה פועלת וגם אם היא כבויה.
איך אפשר לראות כמה אשלם?
בכרטיסייה Billing של Google Cloud console מוצגים החיובים שנצברו על השימוש במופעים מאז החשבון האחרון שהונפק.
מה קורה כשהמופע מגיע לגודל המותר?
אם המכונה מגיעה לגודל האחסון שהוקצה, ולא הפעלתם הגדלה אוטומטית של נפח האחסון או שהיא הגיעה למגבלה שהוגדרה, לא תוכלו לכתוב למסד הנתונים עד שתגדילו את נפח האחסון. הגדלת נפח האחסון לא מחייבת הפעלה מחדש של המופע או השבתה.
למה המכונה שלי מושעית?
כנראה שיש בעיה בחשבון Google Cloud שלך. כדי לבדוק את סטטוס החיוב, אפשר לשלוח בקשה לתמיכה בנושאי חיוב. אחרי שפותרים את הבעיה בחיוב, המכונה חוזרת לסטטוס "ניתן להרצה" תוך כמה שעות. חשוב לדעת: מכונות מושעות של SQL Server נמחקות אחרי 90 יום.
למה המכונה שלי נמחקה?
מכונות שמושעות למשך 90 יום נמחקות. ההגדרה הזו חלה על מכונות במצב SUSPENDED. מופעים שהופסקו, עם סטטוס RUNNABLE, לא נמחקים.
איך אפשר לבטל את החשבון ב-Cloud SQL?
כדי להשבית את Cloud SQL בפרויקט, נכנסים לGoogle Cloud מסוף, בוחרים את הפרויקט ובוחרים את שירות ה-API כדי לפתוח את לוח הבקרה של ה-API. מוצאים את Cloud SQL API ולוחצים על Disable.
איך משביתים את החיוב?
כדי להשבית את החיוב, לוחצים על השבתת החיוב בחלונית Billing & settings במסוף Google Cloud . אם תשביתו את החיוב, גם השירות של Cloud SQL יושבת. לפני שמשביתים את החיוב, חשוב לוודא שרוצים להשבית את שירות Cloud SQL.

אחרי שתשביתו את החיוב, תקבלו חשבון אחרון על חיובים שצברתם בתקופה שבין תחילת מחזור החיובים ועד למועד הביטול.

חזרה למעלה

שימוש ב-Cloud SQL עם App Engine

אפשר להתחבר מ-App Engine למכונה של SQL Server?
אפשר להתחבר מאפליקציית App Engine למופע של SQL Server, בהתאם לסביבה ולשפה שבהן אתם משתמשים. מידע נוסף זמין במאמרים איך מתחברים מסביבת ברירת המחדל ב-App Engine או איך מתחברים מסביבה גמישה ב-App Engine.
האם אפליקציית App Engine בארה"ב יכולה לגשת למכונה של Cloud SQL באיחוד האירופי (ולהפך)?

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

איזה Google Cloud שירות מסד נתונים מתאים לי?
האפשרות הזו תלויה בדרישות של האפליקציה שלכם. Google Cloud מציע מספר אפשרויות לאחסון, לניהול ולשליפה של הנתונים. מידע נוסף זמין במאמר מסדי נתונים שלGoogle Cloud .
האם צריך להתקין שרת מסד נתונים מקומי כדי להשתמש בשרת הפיתוח של App Engine?
לא. אתם יכולים להגדיר את App Engine כך שישתמש ב-Cloud SQL או בשרת מסד נתונים שהותקן באופן מקומי כשהוא פועל בשרת הפיתוח.
באילו שפות אפשר להשתמש כדי לגשת למכונה?
בסביבת ברירת המחדל ב-App Engine יש תמיכה בכמה שפות שאפשר להשתמש בהן כדי להתחבר למכונות. מידע נוסף זמין במאמרים חיבור מסביבת ברירת המחדל ב-App Engine או חיבור מסביבה גמישה ב-App Engine.

אם אתם לא משתמשים ב-App Engine, אתם יכולים להשתמש בכל שפה שיש לה מחבר או API משויכים.

אפשר להשתמש ב-Django עם Cloud SQL?
כן. ‫Cloud SQL תואם ל-Django. למידע נוסף, קראו את המאמר תחילת העבודה עם Django.
באילו placeholders אפשר להשתמש במחרוזת השאילתה של Python?
משתמשי Python יכולים להשתמש רק בקוד הפורמט %s בהחלפת פרמטרים. לכן, ההצהרה הבאה לא תקפה: cursor.execute('INSERT INTO entries (guestAge) VALUES (%d)', (age)).
איך מנהלים את החיבורים?

ניהול יעיל של החיבורים למסד הנתונים הוא היבט חשוב בפיתוח של אפליקציות למסדי נתונים, כולל שימוש במאגר חיבורים (connection pooling) ובנסיגה אקספוננציאלית (exponential backoff). דוגמאות לשימוש בטכניקות האלה במגוון שפות ומסגרות זמינות במאמר ניהול חיבורים למסד נתונים.

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

מה המשמעות של SQLException עם ההודעה "Invalid connection ID"?
המשמעות היא שהחיבור כבר לא פתוח בשרת והלקוח מבטל אותו.  אין צורך לקרוא 'close' בחיבורים האלה, הם כבר סגורים.
האם אפשר לגשת למכונת Cloud SQL באופן פרוגרמטי מחוץ ל-App Engine?
כן. אתם יכולים לגשת למכונות של Cloud SQL באופן פרוגרמטי מאפליקציות חיצוניות, באמצעות כל שפה נתמכת. סקירה כללית על החיבור
חזרה למעלה