טעינת נתונים מ-Microsoft SQL Server ל-BigQuery
הערה: כדי לקבל תמיכה או לשלוח משוב על התכונה הזו, אפשר לפנות אל dts-preview-support@google.com.אפשר לטעון נתונים מ-Microsoft SQL Server ל-BigQuery באמצעות שירות העברת הנתונים ל-BigQuery למחבר של Microsoft SQL Server. המחבר של Microsoft SQL Server תומך בטעינת נתונים ממופעי Microsoft SQL Server שמתארחים בסביבות מקומיות ובספקי ענן אחרים, כמו Cloud SQL, Amazon Web Services (AWS) או Microsoft Azure. באמצעות שירות העברת הנתונים ל-BigQuery, אתם יכולים ליצור משימות להעברת נתונים לפי דרישה ומשימות חוזרות להעברת נתונים ממופע Microsoft SQL Server ל-BigQuery.
מגבלות
העברות נתונים של Microsoft SQL Server כפופות למגבלות הבאות:
- יש מספר מוגבל של חיבורים בו-זמניים למסד נתונים של Microsoft SQL Server. לכן, גם מספר ההעברות שפועלות בו-זמנית למסד נתונים יחיד של Microsoft SQL Server מוגבל. מוודאים שמספר העבודות להעברה בו-זמנית קטן ממספר החיבורים המקבילים המקסימלי שנתמך במסד הנתונים של Microsoft SQL Server.
- יכול להיות שסוגים מסוימים של נתונים ב-Microsoft SQL Server ימופו לסוג
STRINGב-BigQuery כדי למנוע אובדן נתונים. לדוגמה, סוגים מסוימים של נתונים מספריים ב-Microsoft SQL Server שלא מוגדרים להם דיוק וקנה מידה עשויים להיות ממופים ל-STRINGב-BigQuery. מידע נוסף זמין במאמר בנושא מיפוי סוגי נתונים.
מגבלות על העברות מצטברות
העברות מצטברות של Microsoft SQL Server כפופות למגבלות הבאות:- אפשר לבחור רק
TIMESTAMPעמודות כעמודות של סימן מים. - הטמעה מצטברת נתמכת רק בנכסים עם עמודות סימן מים תקינות.
- הערכים בעמודת סימן המים חייבים להיות בסדר עולה.
- העברות מצטברות לא יכולות לסנכרן פעולות מחיקה בטבלת המקור.
- הגדרת העברה אחת יכולה לתמוך רק בהעברה מצטברת או בהעברה מלאה.
- אחרי ההפעלה הראשונה של ההעלאה המצטברת, אי אפשר לעדכן אובייקטים ברשימה
asset. - אי אפשר לשנות את מצב הכתיבה בהגדרת העברה אחרי ההפעלה הראשונה של הטמעה מצטברת.
- אי אפשר לשנות את העמודה של סימן המים או את המפתח הראשי אחרי ההפעלה הראשונה של הטמעת נתונים מצטברת.
- הטבלה ב-BigQuery שמוגדרת כיעד מסודרת באשכולות באמצעות המפתח הראשי שצוין, והיא כפופה למגבלות של טבלאות מסודרות באשכולות.
- כשמעדכנים הגדרת העברה קיימת למצב של העברה מצטברת בפעם הראשונה, ההעברה הראשונה של הנתונים אחרי העדכון מעבירה את כל הנתונים הזמינים ממקור הנתונים. כל העברה מצטברת של נתונים שתתבצע לאחר מכן תעביר רק את השורות החדשות והמעודכנות ממקור הנתונים.
- מומלץ ליצור אינדקסים בעמודה של סימן המים. המחבר הזה משתמש בעמודות של סימני מים לסינון בהעברות מצטברות, ולכן יצירת אינדקס של העמודות האלה יכולה לשפר את הביצועים.
- כשמבצעים העברה מצטברת, צריך להשתמש במיפוי המעודכן של סוגי הנתונים.
אפשרויות להטמעת נתונים
בקטע הבא מפורטות האפשרויות להעברת נתונים כשמגדירים העברת נתונים מ-Microsoft SQL Server.
הגדרת TLS
המחבר של Microsoft SQL Server תומך בהגדרה של אבטחה ברמת התעבורה (TLS) כדי להצפין את העברת הנתונים ל-BigQuery. מחבר Microsoft SQL Server תומך בהגדרות ה-TLS הבאות:
מצב הצפנת נתונים ואימות של רשות האישורים ושם המארח. במצב הזה מתבצע אימות מלא של השרת באמצעות TLS דרך פרוטוקול TCPS. הוא מצפין את כל הנתונים בזמן ההעברה ומוודא שהאישור של שרת מסד הנתונים נחתם על ידי רשות אישורים (CA) מהימנה. בנוסף, במצב הזה נבדק ששם המארח שאליו מתחברים תואם בדיוק לשם הנפוץ (CN) או לשם חלופי של בעלים (subject) (SAN) באישור של השרת. המצב הזה מונע מהתוקפים להשתמש באישור תקף לדומיין אחר כדי להתחזות לשרת מסד הנתונים שלכם.
אם שם המארח לא תואם ל-CN או ל-SAN באישור, החיבור נכשל. צריך להגדיר פתרון DNS שתואם לאישור או להשתמש במצב אבטחה אחר. מומלץ להשתמש במצב הזה כדי למנוע מתקפות מסוג 'אדם באמצע' (PITM) בצורה הכי מאובטחת.
המצב הצפנת נתונים ואימות CA בלבד. במצב הזה, כל הנתונים מוצפנים באמצעות TLS על גבי פרוטוקול TCPS, ונבדק אם האישור של השרת חתום על ידי רשות אישורים שהלקוח סומך עליה. עם זאת, במצב הזה לא מתבצע אימות של שם המארח של השרת. החיבור במצב הזה יתבצע בהצלחה כל עוד האישור תקף והונפק על ידי רשות אישורים מהימנה, בלי קשר לשאלה אם שם המארח באישור תואם לשם המארח שאליו מתחברים.
משתמשים במצב הזה אם רוצים לוודא שמתחברים לשרת שהאישור שלו חתום על ידי רשות מהימנה שמנפיקה אישורים (CA), אבל אי אפשר לאמת את שם המארח או שאין לכם שליטה על הגדרת שם המארח.
המצב הצפנה בלבד. במצב הזה כל הנתונים שמועברים בין הלקוח לשרת מוצפנים. היא לא מבצעת אימות של אישורים או של שמות מארחים.
המצב הזה מספק רמת אבטחה מסוימת על ידי הגנה על נתונים במעבר, אבל הוא עלול להיות פגיע למתקפות PITM.
משתמשים במצב הזה אם רוצים לוודא שכל הנתונים מוצפנים, אבל לא יכולים או לא רוצים לאמת את זהות השרת. מומלץ להשתמש במצב הזה כשעובדים עם רשתות VPC פרטיות.
מצב ללא הצפנה או אימות. במצב הזה לא מתבצעת הצפנה של נתונים ולא מתבצע אימות של אישורים או שמות מארחים. כל הנתונים נשלחים כטקסט פשוט.
לא מומלץ להשתמש במצב הזה בסביבה שבה מתבצע טיפול במידע אישי רגיש. מומלץ להשתמש במצב הזה רק למטרות בדיקה ברשת מבודדת שבה האבטחה לא מהווה בעיה.
אישור שרת מהימן (PEM)
אם אתם משתמשים במצב הצפנת נתונים ואימות של רשות אישורים ושם מארח או במצב הצפנת נתונים ואימות של רשות אישורים, אתם יכולים גם לספק אישור אחד או יותר בקידוד PEM. האישורים האלה נדרשים בתרחישים מסוימים שבהם שירות העברת הנתונים ל-BigQuery צריך לאמת את הזהות של שרת מסד הנתונים במהלך חיבור TLS:
- אם אתם משתמשים באישור שחתום על ידי רשות אישורים פרטית בארגון שלכם או באישור עם חתימה עצמית, אתם צריכים לספק את שרשרת האישורים המלאה או את האישור היחיד עם החתימה העצמית. הדרישה הזו חלה על אישורים שהונפקו על ידי רשויות אישורים פנימיות של שירותי ספקי ענן מנוהלים, כמו Amazon Relational Database Service (RDS).
- אם האישור של שרת מסד הנתונים שלכם חתום על ידי רשות אישורים ציבורית (לדוגמה, Let's Encrypt, DigiCert או GlobalSign), אתם לא צריכים לספק אישור. אישורי הבסיס של רשויות ה-CA הציבוריות האלה מותקנים מראש ומהימנים על ידי שירות העברת הנתונים ל-BigQuery.
אפשר לציין אישורים בקידוד PEM בשדה Trusted PEM Certificate (אישור PEM מהימן) בהגדרות ההעברה, עם הדרישות הבאות:
- האישור צריך להיות שרשרת אישורים חוקית בקידוד PEM.
- האישור חייב להיות נכון לחלוטין. אם יש אישורים חסרים בשרשרת או תוכן שגוי, חיבור ה-TLS ייכשל.
- אם יש לכם אישור אחד, אתם יכולים לספק אישור אחד עם חתימה עצמית משרת מסד הנתונים.
- כדי לספק שרשרת אישורים מלאה שהונפקה על ידי רשות אישורים פרטית, צריך לספק את שרשרת האמון המלאה. הוא כולל את האישור משרת מסד הנתונים ואת כל אישורי הביניים והאישורים הבסיסיים של רשות האישורים (CA).
העברות מלאות או מצטברות
כשמגדירים העברה מ-Microsoft SQL Server, אפשר לציין איך הנתונים נטענים ל-BigQuery על ידי בחירה באפשרות מלאה או מצטברת בהעדפות הכתיבה בהגדרות ההעברה. העברות מצטברות נתמכות בגרסת Preview.
אפשר להגדיר העברת נתונים מלאה כדי להעביר את כל הנתונים ממערכי הנתונים של Microsoft SQL Server בכל העברת נתונים.לחלופין, אפשר להגדיר העברת נתונים מצטברת (בגרסת Preview) כדי להעביר רק את הנתונים שהשתנו מאז העברת הנתונים האחרונה, במקום לטעון את כל מערך הנתונים בכל העברת נתונים. אם בוחרים באפשרות מצטבר להעברת הנתונים, צריך לציין את מצבי הכתיבה הוספה או עדכון והוספה כדי להגדיר איך הנתונים ייכתבו ל-BigQuery במהלך העברת נתונים מצטברת. בקטעים הבאים מתוארים מצבי הכתיבה הזמינים.
הוספה למצב כתיבה
מצב הכתיבה 'הוספה' מוסיף רק שורות חדשות לטבלת היעד. האפשרות הזו מוסיפה את הנתונים שהועברו בלי לבדוק אם קיימות רשומות, ולכן המצב הזה עלול לגרום לשכפול נתונים בטבלת היעד.
כשבוחרים במצב הוספה, צריך לבחור עמודה של סימן מים. כדי לעקוב אחרי שינויים בטבלת המקור, צריך להוסיף עמודה של סימן מים למחבר של Microsoft SQL Server.
בהעברות של Microsoft SQL Server, מומלץ לבחור עמודה שמתעדכנת רק כשהרשומה נוצרה, ולא משתנה בעדכונים הבאים. לדוגמה, העמודהCREATED_AT.
מצב כתיבה של Upsert
במצב הכתיבה upsert, המערכת מעדכנת שורה או מוסיפה שורה חדשה בטבלת היעד על ידי בדיקה של מפתח ראשי. אתם יכולים לציין מפתח ראשי כדי לאפשר למחבר של Microsoft SQL Server לקבוע אילו שינויים נדרשים כדי שהטבלה שלכם ביעד תהיה מעודכנת בהתאם לטבלת המקור. אם המפתח הראשי שצוין קיים בטבלת היעד ב-BigQuery במהלך העברת נתונים, המחבר של Microsoft SQL Server מעדכן את השורה הזו עם נתונים חדשים מטבלת המקור. אם מפתח ראשי לא קיים במהלך העברת נתונים, המחבר של Microsoft SQL Server מוסיף שורה חדשה.
כשבוחרים במצב upsert, צריך לבחור עמודה של סימן מים ומפתח ראשי:
- כדי לעקוב אחרי שינויים בטבלת המקור, מחבר Microsoft SQL Server מחייב עמודה של סימן מים.
- בוחרים עמודת סימן מים שמתעדכנת בכל פעם שמשנים שורה. מומלץ להשתמש בעמודות דומות לעמודות
UPDATED_ATאוLAST_MODIFIED.
- בוחרים עמודת סימן מים שמתעדכנת בכל פעם שמשנים שורה. מומלץ להשתמש בעמודות דומות לעמודות
המפתח הראשי יכול להיות עמודה אחת או יותר בטבלה שנדרשות למחבר Microsoft SQL Server כדי לקבוע אם צריך להוסיף או לעדכן שורה.
בוחרים עמודות שמכילות ערכים לא ריקים שהם ייחודיים בכל השורות של הטבלה. מומלץ להשתמש בעמודות שכוללות מזהים שנוצרו על ידי המערכת, קודי הפניה ייחודיים (לדוגמה, מזהים עם הגדלה אוטומטית) או מזהים של רצפים קבועים על בסיס זמן.
כדי למנוע אובדן נתונים או פגיעה בנתונים, בעמודות של המפתח הראשי שבוחרים צריכים להיות ערכים ייחודיים. אם יש לכם ספק לגבי הייחודיות של עמודת המפתח הראשי שבחרתם, מומלץ להשתמש במקום זאת במצב כתיבה של הוספה.
התנהגות של הוספה מצטברת
כשמבצעים שינויים בסכימת הטבלה במקור הנתונים, העברות נתונים מצטברות מהטבלאות האלה משתקפות ב-BigQuery בדרכים הבאות:
| שינויים במקור הנתונים | התנהגות של הוספה מצטברת |
|---|---|
| הוספת עמודה חדשה | עמודה חדשה נוספת לטבלת היעד ב-BigQuery. כל הרשומות הקודמות בעמודה הזו יקבלו ערכי null. |
| מחיקת עמודה | העמודה שנמחקה נשארת בטבלת היעד ב-BigQuery. ערכים חדשים בעמודה שנמחקה יאכלסו בערכי null. |
| שינוי סוג הנתונים בעמודה |
המחבר תומך רק בהמרות של סוגי נתונים שנתמכות על ידי הצהרת ה-DDL ALTER COLUMN.
המרות של סוגי נתונים אחרים גורמות לכך שהעברת הנתונים תיכשל.
אם נתקלים בבעיות, מומלץ ליצור הגדרת העברה חדשה. |
| שינוי שם של עמודה | העמודה המקורית נשארת בטבלת היעד ב-BigQuery כמו שהיא, ועמודה חדשה מתווספת לטבלת היעד עם השם המעודכן. |
לפני שמתחילים
כדי לתזמן העברת נתונים מ-Microsoft SQL Server, צריך לוודא שהתנאים הבאים מתקיימים.
דרישות מוקדמות ל-Microsoft SQL Server
צריך ליצור חשבון משתמש במסד הנתונים של Microsoft SQL Server. מידע נוסף זמין במאמר יצירת משתמש עם פרטי כניסה.
דרישות מוקדמות ל-BigQuery
- מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת נתונים ל-BigQuery.
- יוצרים מערך נתונים ב-BigQuery לאחסון הנתונים.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת העברת נתונים של Microsoft SQL Server, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM BigQuery Admin (roles/bigquery.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות ליצירת העברת נתונים של Microsoft SQL Server. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור העברת נתונים מ-Microsoft SQL Server, צריך את ההרשאות הבאות:
-
bigquery.transfers.update -
bigquery.datasets.get
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הגדרת רשת
אם אין כתובת IP ציבורית זמינה לחיבור למסד הנתונים של Microsoft SQL Server, צריך להגדיר תצורות רשת ספציפיות. מידע נוסף זמין בקטעים הבאים:
הגדרת העברת נתונים של Microsoft SQL Server
בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף העברות נתונים.
לוחצים על Create transfer (יצירת העברה).
בקטע Source type (סוג המקור), בשדה Source (מקור), בוחרים באפשרות Microsoft SQL Server (שרת Microsoft SQL).
בקטע Data source details (פרטים של מקור הנתונים), מבצעים את הפעולות הבאות:
- בקטע Network attachment (צירוף לרשת), בוחרים צירוף קיים לרשת או לוחצים על Create Network Attachment (יצירת צירוף לרשת).
- בשדה מארח, מזינים את שם המארח או את כתובת ה-IP של מסד הנתונים של Microsoft SQL Server.
- בשדה מספר יציאה, מזינים את מספר היציאה של מסד הנתונים של Microsoft SQL Server.
- בשדה שם מסד הנתונים, מזינים את השם של מסד הנתונים של Microsoft SQL Server.
- בשדה שם משתמש, מזינים את שם המשתמש של משתמש Microsoft SQL Server שיוזם את החיבור למסד הנתונים של Microsoft SQL Server.
- בשדה סיסמה, מזינים את הסיסמה של משתמש Microsoft SQL Server שיזם את החיבור למסד הנתונים של Microsoft SQL Server.
- בתפריט מצב TLS, בוחרים באחת מהאפשרויות. מידע נוסף על מצבי TLS זמין במאמר בנושא הגדרת TLS.
- בשדה Trusted PEM Certificate (אישור PEM מהימן), מזינים את האישור הציבורי של רשות האישורים (CA) שהנפיקה את אישור ה-TLS של שרת מסד הנתונים. מידע נוסף זמין במאמר אישור שרת מהימן (PEM).
- בשדה הפעלת מיפוי מדור קודם, בוחרים באפשרות true (ברירת מחדל) כדי להשתמש במיפוי מדור קודם של סוגי נתונים. בוחרים באפשרות false כדי להשתמש במיפוי המעודכן של סוג הנתונים. אם אתם מבצעים העברה מצטברת, הערך הזה חייב להיות false. למידע נוסף על עדכוני מיפוי של סוגי נתונים, אפשר לעיין במאמר 16 במרץ 2027.
- בקטע סוג ההעברה, בוחרים באפשרות מלאה או מצטברת.
- אם בוחרים באפשרות מצטבר (תצוגה מקדימה) במצב כתיבה, בוחרים באפשרות הוספה או עדכון והוספה. מידע נוסף על מצבי הכתיבה השונים זמין במאמר בנושא העברות מלאות או מצטברות.
- בקטע Microsoft SQL Server objects to transfer (אובייקטים של Microsoft SQL Server להעברה), מעיינים בטבלה של Microsoft SQL Server או מזינים ידנית את שמות הטבלאות שנדרשות להעברה.
בקטע הגדרות יעד, בשדה קבוצת נתונים, בוחרים את קבוצת הנתונים שיצרתם לאחסון הנתונים, או לוחצים על יצירת קבוצת נתונים חדשה ויוצרים קבוצת נתונים לשימוש כקבוצת נתוני היעד.
בקטע שם הגדרת ההעברה, בשדה שם מוצג, מזינים שם להעברה. שם ההעברה יכול להיות כל ערך שיאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
בקטע Schedule options:
- בוחרים את תדירות החזרה. אם בוחרים באפשרות שעות, ימים (ברירת מחדל), שבועות או חודשים, צריך לציין גם תדירות. אפשר גם לבחור באפשרות בהתאמה אישית כדי ליצור תדירות חזרה ספציפית יותר. אם בוחרים באפשרות על פי דרישה, העברת הנתונים תתבצע רק כשמפעילים אותה באופן ידני.
- אם רלוונטי, בוחרים באפשרות התחלה מיידית או התחלה בשעה מוגדרת ומזינים תאריך התחלה ומשך זמן הפעלה.
אופציונלי: בקטע אפשרויות התראות, מבצעים את הפעולות הבאות:
- כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל ומעבירים אותו למצב מופעל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל אם ההעברה נכשלת.
- כדי להגדיר התראות ב-Pub/Sub להעברה, לוחצים על המתג Pub/Sub notifications (התראות Pub/Sub) למצב מופעל. אפשר לבחור את שם הנושא או ללחוץ על יצירת נושא כדי ליצור נושא.
אופציונלי: בקטע Advanced options, בוחרים סוג הצפנה להעברה הזו. אפשר לבחור מפתח של Google Cloud-powered encryption keyאו מפתח של Cloud Key Management Service בבעלות הלקוח. מידע נוסף על מפתחות הצפנה זמין במאמר מפתחות הצפנה בניהול הלקוח (CMEK).
לוחצים על Save.
BQ
מזינים את הפקודה bq mk ומספקים את הדגל --transfer_config ליצירת העברה:
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --data_source=DATA_SOURCE \ --display_name=DISPLAY_NAME \ --target_dataset=DATASET \ --params='PARAMETERS'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID(אופציונלי): מזהה הפרויקט ב- Cloud de Confiance . אם לא מציינים פרויקט ספציפי באמצעות הדגל--project_id, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
DATA_SOURCE: מקור הנתונים, שהואsqlserver. -
DISPLAY_NAME: השם המוצג של הגדרות העברת הנתונים. שם ההעברה יכול להיות כל ערך שיעזור לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך. -
DATASET: מערך הנתונים של היעד להגדרת העברת הנתונים.
PARAMETERS: הפרמטרים של הגדרות ההעברה שנוצרו בפורמט JSON. לדוגמה:--params='{"param":"param_value"}'. אלה הפרמטרים להעברה של Microsoft SQL Server:-
connector.networkAttachment(אופציונלי): השם של קובץ הרשת המצורף שאליו רוצים להתחבר במסד הנתונים של Microsoft SQL Server. -
connector.database: השם של מסד הנתונים של Microsoft SQL Server. -
connector.endpoint.host: שם המארח או כתובת ה-IP של מסד הנתונים. -
connector.endpoint.port: מספר היציאה של מסד הנתונים. -
connector.authentication.username: שם המשתמש של המשתמש במסד הנתונים. -
connector.authentication.password: הסיסמה של משתמש מסד הנתונים. -
connector.legacyMapping: הערך שמוגדר הואtrue(ברירת מחדל) כדי להשתמש במיפוי סוגי הנתונים מדור קודם. הערך שמוגדר הואfalseכדי להשתמש במיפוי המעודכן של סוגי הנתונים. אם אתם מבצעים העברה מצטברת, הערך הזה חייב להיותfalse. מידע נוסף על עדכוני המיפוי של סוגי הנתונים זמין במאמר בנושא 16 במרץ 2027. -
connector.tls.mode: מציינים תצורת TLS לשימוש בהעברה הזו:-
ENCRYPT_VERIFY_CA_AND_HOSTכדי להצפין נתונים ולאמת את ה-CA ואת שם המארח -
ENCRYPT_VERIFY_CAלהצפנת נתונים ולאימות CA בלבד -
ENCRYPT_VERIFY_NONEלהצפנת נתונים בלבד -
DISABLEללא הצפנה או אימות
-
-
connector.tls.trustedServerCertificate: (אופציונלי) מציינים אישור אחד או יותר בפורמט PEM. חובה להזין את המאפיין הזה רק אם הערך שלconnector.tls.modeהואENCRYPT_VERIFY_CA_AND_HOSTאוENCRYPT_VERIFY_CA. -
ingestionType: מצייניםfullאוincremental. העברות מצטברות נתמכות בגרסת טרום-השקה. מידע נוסף זמין במאמר בנושא העברות מלאות או מצטברות. -
writeMode: מצייניםWRITE_MODE_APPENDאוWRITE_MODE_UPSERT. -
watermarkColumns: מציינים עמודות בטבלה כעמודות של סימן מים. חובה למלא את השדה הזה כדי לבצע העברות מצטברות. -
primaryKeys: ציון עמודות בטבלה כמפתחות ראשיים. חובה למלא את השדה הזה כדי לבצע העברות מצטברות. -
assets: רשימה של שמות הטבלאות ב-Microsoft SQL Server שיועברו ממסד הנתונים של Microsoft SQL Server כחלק מההעברה.
-
לדוגמה, הפקודה הבאה יוצרת העברה של Microsoft SQL Server בשם My Transfer:
bq mk \ --transfer_config --target_dataset=mydataset --data_source=sqlserver --display_name='My Transfer' --params='{"assets":["DB1/DEPARTMENT","DB1/EMPLOYEES"], "connector.authentication.username": "User1", "connector.authentication.password":"ABC12345", "connector.database":"DB1", "connector.endpoint.host":"192.168.0.1", "connector.endpoint.port":"1520", "connector.networkAttachment":"projects/dev-project1/regions/us-central1/networkattachments/na1", "ingestionType":"incremental", "writeMode":"WRITE_MODE_APPEND", "watermarkColumns":["createdAt","createdAt"], "primaryKeys":[['dep_id'], ['report_by','report_title']], "connector.tls.mode": "ENCRYPT_VERIFY_CA_AND_HOST", "connector.tls.trustedServerCertificate": "PEM-encoded certificate"}'
כשמציינים כמה נכסים במהלך העברה מצטברת, הערכים בשדות watermarkColumns ו-primaryKeys תואמים למיקום הערכים בשדה assets. בדוגמה הבאה, dep_id תואם לטבלה DB1/DEPARTMENT, ו-report_by ו-report_title תואמים לטבלה DB1/EMPLOYEES.
"primaryKeys":[['dep_id'], ['report_by','report_title']], "assets":["DB1/DEPARTMENT","DB1/EMPLOYEES"],
כדי להפעיל העברת נתונים ידנית מחוץ ללוח הזמנים הרגיל, אפשר להתחיל הרצה של מילוי חוסרים.
מיפוי סוגי נתונים
בטבלה הבאה ממופים סוגי נתונים של Microsoft SQL Server לסוגי הנתונים התואמים ב-BigQuery:
| סוג נתונים של Microsoft SQL Server | סוג נתונים ב-BigQuery | סוג הנתונים המעודכן ב-BigQuery |
|---|---|---|
tinyint |
INTEGER |
|
smallint |
INTEGER |
|
int |
INTEGER |
|
bigint |
BIGNUMERIC |
|
bit |
BOOLEAN |
|
decimal |
BIGNUMERIC |
|
numeric |
NUMERIC |
|
money |
BIGNUMERIC |
|
smallmoney |
BIGNUMERIC |
|
float |
FLOAT |
|
real |
FLOAT |
|
date |
DATE |
|
time |
TIME |
|
datetime2 |
TIMESTAMP |
DATETIME |
datetimeoffset |
TIMESTAMP |
|
datetime |
TIMESTAMP |
DATETIME |
smalldatetime |
TIMESTAMP |
DATETIME |
char |
STRING |
|
varchar |
STRING |
|
text |
STRING |
|
nchar |
STRING |
|
nvarchar |
STRING |
|
ntext |
STRING |
|
binary |
BYTES |
|
varbinary |
BYTES |
|
image |
BYTES |
|
geography |
STRING |
|
geometry |
STRING |
|
hierarchyid |
BYTES |
|
rowversion |
BYTES |
|
sql_variant |
BYTES |
|
uniqueidentifier |
STRING |
|
xml |
STRING |
|
json |
STRING |
|
vector |
STRING |
סוגי הנתונים json ו-vector נתמכים רק ב-Azure.
סוג הנתונים JSON נתמך במסדי נתונים של Azure SQL ובמופעים מנוהלים של Azure SQL שהוגדרו עם מדיניות העדכון 'תמיד מעודכן'. סוג הנתונים JSON לא נתמך במופעים מנוהלים של Azure SQL שהוגדרו עם מדיניות העדכון של Microsoft SQL Server 2022.
ב-Microsoft SQL Server, נתוני JSON מאוחסנים כ-NVARCHAR(MAX) ולא כסוג JSON. מומלץ להשתמש ב-CHECK (ISJSON(json_col) = 1) לאימות וב-JSON_VALUE() לשליחת שאילתות.
ל-Microsoft SQL Server אין תמיכה בווקטורים עבור סוג הנתונים vector. מומלץ לאחסן וקטורים כמערכי JSON ב-NVARCHAR(MAX) ולהשתמש ב-JSON_VALUE() לחילוץ, עם חישובים ידניים של FLOAT כדי למצוא דמיון.
פתרון בעיות
כדי לפתור בעיות בהעברת הנתונים, אפשר לעיין במאמר בנושא בעיות בהעברת נתונים מ-Microsoft SQL Server.
תמחור
העברת נתונים מ-Microsoft SQL Server ל-BigQuery לא כרוכה בתשלום בזמן שהתכונה הזו נמצאת בגרסת Preview.
המאמרים הבאים
- סקירה כללית על שירות העברת הנתונים ל-BigQuery
- מידע נוסף על ניהול העברות, כולל קבלת מידע על הגדרת העברה, הצגת רשימה של הגדרות העברה וצפייה בהיסטוריית ההרצה של העברה.
- איך טוענים נתונים באמצעות פעולות BigQuery Omni