הגדרת מסד נתונים של Amazon RDS SQL Server ל-CDC

בדף הזה מוסבר איך להגדיר לכידת נתונים משתנים (CDC) כדי להזרים נתונים ממסד נתונים של Amazon RDS SQL Server אל יעד נתמך, כמו BigQuery או Cloud Storage.

  1. מפעילים את התכונה 'לכידת שינויי נתונים' (CDC) במסד הנתונים של המקור. כדי להפעיל CDC במסד הנתונים של המקור, מתחברים למסד הנתונים ומריצים את הפקודה הבאה בהנחיית SQL, בטרמינל או באמצעות לוח הבקרה של Amazon RDS:

    EXEC msdb.dbo.rds_cdc_enable_db 'DATABASE_NAME'
    

    מחליפים את DATABASE_NAME בשם של מסד הנתונים של המקור.

  2. מפעילים CDC בכל טבלה שרוצים לתעד בה שינויים:

    USE [DATABASE_NAME]
    EXEC sys.sp_cdc_enable_table
    @source_schema = N'SCHEMA_NAME',
    @source_name = N'TABLE_NAME',
    @role_name = NULL
    GO
    

    מחליפים את מה שכתוב בשדות הבאים:

    • DATABASE_NAME: השם של מסד הנתונים של המקור
    • SCHEMA_NAME: השם של הסכימה שאליה שייכות הטבלאות
    • TABLE_NAME: שם הטבלה שרוצים להפעיל בה CDC
  3. מפעילים את SQL Server Agent ומוודאים שהוא פועל כל הזמן. אם SQL Server Agent לא יפעל במשך תקופה ארוכה, יכול להיות שהיומנים ייחתכו, מה שיוביל לאובדן קבוע של נתוני השינויים שלא נקראו על ידי Datastream.

    מידע על הפעלת SQL Server Agent זמין במאמר הפעלה, עצירה או הפעלה מחדש של מופע של SQL Server Agent.

  4. הפעלת בידוד של תמונות מצב.

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

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

    כדי להפעיל בידוד snapshot:

    1. מתחברים למסד הנתונים באמצעות לקוח SQL Server.
    2. מריצים את הפקודה הבאה:
    ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;
    

    מחליפים את DATABASE_NAME בשם של מסד הנתונים.

  5. יוצרים משתמש Datastream:

    1. מתחברים למסד הנתונים של המקור ומזינים את הפקודה הבאה:

      USE DATABASE_NAME;
      
    2. יוצרים פרטי כניסה לשימוש בזמן הגדרת פרופיל החיבור ב-Datastream.

      CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';
      
    3. יוצרים משתמש ומקצים לו את התפקידים db_owner ו-db_denydatawriter:

      CREATE USER USER_NAME FOR LOGIN