טעינת נתונים מ-Microsoft SQL Server ל-BigQuery
הערה: כדי לקבל תמיכה או לשלוח משוב על התכונה הזו, אפשר לפנות אל dts-preview-support@google.com.כדי לתזמן העברות נתונים חוזרות מ-Microsoft SQL Server ל-BigQuery, אפשר ליצור הגדרת העברה כדי לציין אילו אובייקטים של נתונים להעביר, ובאיזו תדירות לתזמן את העברת הנתונים. אחרי שמגדירים את ההעברה, שירות העברת הנתונים ל-BigQuery מעביר את הנתונים העדכניים לטבלה ב-BigQuery לפי לוח הזמנים שצוין.
כאן אפשר לקרוא על העברה של Microsoft SQL Server.
מגבלות
משימות העברת נתונים מ-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, צריך לעמוד בדרישות המוקדמות הבאות.
דרישות מוקדמות ל-Microsoft SQL Server
צריך ליצור חשבון משתמש במסד הנתונים של Microsoft SQL Server. מידע נוסף זמין במאמר יצירת משתמש עם פרטי התחברות.
דרישות מוקדמות ל-BigQuery
- מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת הנתונים ל-BigQuery.
- יוצרים מערך נתונים ב-BigQuery כדי לאחסן את הנתונים.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת העברת נתונים של Microsoft SQL Server, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של BigQuery (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, בוחרים באפשרות Microsoft SQL Server בשדה Source.
בקטע Data source details (פרטים של מקור הנתונים), מבצעים את הפעולות הבאות:
- בשדה Network attachment, בוחרים חיבור רשת קיים או לוחצים על Create Network Attachment.
- בשדה Host, מזינים את שם המארח או את כתובת ה-IP של מסד הנתונים של Microsoft SQL Server.
- בשדה Port number, מזינים את מספר היציאה של מסד הנתונים של Microsoft SQL Server.
- בשדה Database name, מזינים את השם של מסד הנתונים ב-Microsoft SQL Server.
- בשדה שם משתמש, מזינים את שם המשתמש של משתמש Microsoft SQL Server שיוצר את החיבור למסד הנתונים של Microsoft SQL Server.
- בשדה Password (סיסמה), מזינים את הסיסמה של משתמש Microsoft SQL Server שיזם את החיבור למסד הנתונים של Microsoft SQL Server.
- בקטע מצב TLS, בוחרים אפשרות מהתפריט. מידע נוסף על מצבי TLS זמין במאמר הגדרת TLS.
- בשדה Trusted PEM Certificate, מזינים את האישור הציבורי של רשות האישורים (CA) שהנפיקה את אישור ה-TLS של שרת מסד הנתונים. מידע נוסף זמין במאמר אישור שרת מהימן (PEM).
- בשדה Enable legacy mapping (הפעלת מיפוי מדור קודם), בוחרים באפשרות true (ברירת מחדל) כדי להשתמש במיפוי מדור קודם של סוגי נתונים. בוחרים באפשרות false כדי להשתמש במיפוי המעודכן של סוגי הנתונים. אם מבצעים העברה מצטברת, הערך הזה חייב להיות false. למידע נוסף על עדכוני מיפוי של סוגי נתונים, אפשר לעיין במאמר בנושא 16 במרץ 2027.
- בקטע סוג ההטמעה, בוחרים באפשרות מלאה או מצטברת.
- אם בוחרים באפשרות מצטבר (תצוגה מקדימה) במצב כתיבה, בוחרים באפשרות הוספה או עדכון והוספה. למידע נוסף על מצבי הכתיבה השונים, קראו את המאמר העברות מלאות או מצטברות.
- בשדה Microsoft SQL Server objects to transfer, מחפשים את הטבלה של Microsoft SQL Server או מזינים ידנית את שמות הטבלאות שנדרשות להעברה.
בקטע הגדרות יעד, בוחרים באפשרות קבוצת נתונים את קבוצת הנתונים שיצרתם לאחסון הנתונים, או לוחצים על יצירת קבוצת נתונים חדשה ויוצרים קבוצת נתונים לשימוש כקבוצת נתוני היעד.
בקטע Transfer config name, בשדה השם המוצג, מזינים שם להעברה. שם ההעברה יכול להיות כל ערך שמאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
בקטע Schedule options:
- בוחרים את תדירות החזרה. אם בוחרים באפשרות שעות, ימים (ברירת מחדל), שבועות או חודשים, צריך לציין גם תדירות. אפשר גם לבחור באפשרות בהתאמה אישית כדי ליצור תדירות חזרה ספציפית יותר. אם בוחרים באפשרות על פי דרישה, העברת הנתונים הזו מתבצעת רק כשמפעילים את ההעברה באופן ידני.
- אם רלוונטי, בוחרים באפשרות התחלה עכשיו או התחלה בזמן מוגדר ומציינים תאריך התחלה וזמן ריצה.
אופציונלי: בקטע אפשרויות התראה, מבצעים את הפעולות הבאות:
- כדי להפעיל התראות באימייל, מעבירים את המתג Email notifications למצב מופעל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל אם הפעלת ההעברה נכשלת.
- כדי להגדיר התראות על הפעלת Pub/Sub להעברה, לוחצים על המתג Pub/Sub notifications למצב מופעל. אפשר לבחור את שם הנושא או ללחוץ על Create a topic כדי ליצור נושא.
אופציונלי: בקטע Advanced options, בוחרים סוג הצפנה להעברה הזו. אתם יכולים לבחור מפתח של Google-owned and Google-managed 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(אופציונלי): מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט מסוים באמצעות הדגל--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כדי להצפין נתונים, ולאמת את רשות האישורים ואת שם המארח -
ENCRYPT_VERIFY_CAכדי להצפין נתונים, ולאמת את רשות האישורים בלבד -
ENCRYPT_VERIFY_NONEלהצפנת נתונים בלבד -
DISABLEללא הצפנה או אימות
-
-
connector.tls.trustedServerCertificate: (אופציונלי) מספקים אישור אחד או יותר בקידוד PEM. חובה רק אם הערך שלconnector.tls.modeהואENCRYPT_VERIFY_CA_AND_HOSTאוENCRYPT_VERIFY_CA. -
ingestionType: מצייניםfullאוincremental. העברות מצטברות נתמכות בגרסת Preview. למידע נוסף, קראו את המאמר העברות מלאות או מצטברות. -
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.
העברת מטא-נתונים
אתם יכולים גם להשתמש במחבר של Microsoft SQL Server כדי להעביר מטא-נתונים ל-Knowledge Catalog. מידע נוסף זמין במאמר טעינת מטא-נתונים של Microsoft SQL Server ל-Knowledge Catalog.המאמרים הבאים
- סקירה כללית על שירות העברת נתונים ל-BigQuery
- מידע ולמידה על ניהול העברות, כולל קבלת מידע על הגדרת העברה, הצגת רשימה של הגדרות העברה וצפייה בהיסטוריית ההרצה של העברה.
- איך טוענים נתונים באמצעות פעולות של BigQuery Omni