בדף הזה מוסבר איך להגדיר לכידת נתונים משתנים (CDC) כדי להזרים נתונים ממסד נתונים של Azure SQL אל יעד נתמך, כמו BigQuery או Cloud Storage.
כדי להגדיר מסד נתונים של Azure SQL:
מפעילים את התכונה 'תיעוד שינויים בנתונים' (CDC) במסד הנתונים של Azure SQL כמקור. כדי לעשות זאת, מתחברים למסד הנתונים באמצעות Azure Data Studio או SQL Server Management Studio ומריצים את הפקודה הבאה:
EXEC sys.sp_cdc_enable_db; GOמפעילים את CDC בטבלאות שרוצים לתעד בהן שינויים:
EXEC sys.sp_cdc_enable_table @source_schema = N'SCHEMA_NAME', @source_name = N'TABLE_NAME', @role_name = NULL GOמחליפים את מה שכתוב בשדות הבאים:
-
SCHEMA_NAME: השם של הסכימה שאליה שייכות הטבלאות -
TABLE_NAME: שם הטבלה שרוצים להפעיל בה CDC
-
הפעלת בידוד תמונת מצב.
כשמבצעים מילוי חוזר של נתונים ממסד נתונים של SQL Server, חשוב לוודא שהתמונות המיידיות עקביות. אם לא תפעילו את ההגדרות שמתוארות בקטע הזה, שינויים שיתבצעו במסד הנתונים במהלך תהליך המילוי החוזר עלולים להוביל לכפילויות או לתוצאות שגויות, במיוחד בטבלאות ללא מפתחות ראשיים.
הפעלת בידוד snapshot יוצרת תצוגה זמנית של מסד הנתונים בתחילת תהליך מילוי החוסרים (backfill). כך תוכלו לוודא שהנתונים שמועתקים יישארו עקביים, גם אם משתמשים אחרים יבצעו שינויים בטבלאות הפעילות בו-זמנית. הפעלת בידוד snapshot עשויה להשפיע מעט על הביצועים, אבל היא חיונית לחילוץ נתונים מהימן.
כדי להפעיל בידוד snapshot:
- מתחברים למסד הנתונים באמצעות לקוח SQL Server.
- מריצים את הפקודה הבאה:
ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;מחליפים את DATABASE_NAME בשם של מסד הנתונים.
יוצרים משתמש Datastream:
מתחברים למסד הנתונים
masterויוצרים פרטי כניסה:USE master; CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';מתחברים למסד הנתונים של המקור ויוצרים משתמש לכניסה:
USE DATABASE_NAME CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;מקצים למשתמש את התפקידים
db_ownerו-db_denydatawriter:EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';מעניקים למשתמש את ההרשאה
VIEW DATABASE STATE:GRANT VIEW DATABASE STATE TO USER_NAME;