תהליכים מאוחסנים ב-Cloud SQL

בקטע הזה מתוארות פרוצדורות מאוחסנות במכונות Cloud SQL.

פרוצדורה מאוחסנת מכילה קוד SQL שאפשר להשתמש בו שוב.

כדי להריץ פרוצדורה מאוחסנת, משתמשים בפקודה EXEC ומחליפים את המשתנים הבאים:

  • ‫procedure_name הוא השם של התהליך המאוחסן.
  • ‫database_name הוא שם מסד הנתונים שבו רוצים להריץ את הפרוצדורה.
  • ‫schema_name הוא שם הסכימה שבה רוצים להריץ את הפרוצדורה.
EXEC database_name.schema_name.procedure_name @param1, @param2;
מידע נוסף זמין בדף העזר EXECUTE (Transact-SQL)‎.

כדי ליצור פרוצדורה מאוחסנת משלכם, קראו את המאמר יצירת פרוצדורה מאוחסנת.

פרוצדורות מאוחסנות ב-Cloud SQL ל-SQL Server

תהליך מאוחסן לשימוש בהוספה בכמות גדולה

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

msdb.dbo.gcloudsql_bulk_insert

תחביר

EXEC msdb.dbo.gcloudsql_bulk_insert @database @schema @object @file ...

תיאור

לפרוצדורה המאוחסנת הזו יש פרמטרים והתנהגות דומים לפקודה BULK INSERT.

הפרוצדורה המאוחסנת מייבאת נתונים למכונה של Cloud SQL מקובץ שמאוחסן בקטגוריה של Cloud Storage. הוא משתמש ב-API של Cloud Storage שפועל עם מערכות אחרות ובמפתחות HMAC כדי לאמת את הגישה לקטגוריה של Cloud Storage.

התהליך המאוחסן הזה כולל את הפרמטרים הבאים:

פרמטר סוג תיאור
@database SYSNAME מציין את השם של מסד הנתונים שאליו רוצים לייבא את הנתונים.
@schema SYSNAME מציין את שם הסכימה שאליה הטבלה שייכת.
@object NVARCHAR מציין את שם הטבלה שבה הנתונים יוכנסו.
@file NVARCHAR מציין את הנתיב לקובץ הייבוא בקטגוריה של Cloud Storage.

הנתיב צריך להיות בפורמט הבא:

 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

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

  • ‫BUCKET_NAME: מציין את שם הקטגוריה של Cloud Storage.
  • ‫FILE_PATH: מציין את הנתיב לקובץ שמאוחסן בקטגוריה של Cloud Storage.
@batchsize INT מציין את מספר השורות באצווה.
@checkconstraints BIT מציין שצריך לבדוק את כל האילוצים בטבלת היעד.
@codepage NVARCHAR מציין את דף הקוד של הנתונים בקובץ. RAW היא האפשרות היחידה והיא מוגדרת כברירת מחדל.
@datafiletype NVARCHAR מציין את סוג הקובץ להוספה בכמות גדולה.
@datasource NVARCHAR מציין את השם של מקור הנתונים החיצוני שממנו רוצים לייבא את הנתונים.
@errorfile NVARCHAR מציינת את הנתיב לקובץ שמשמש לאיסוף שורות שיש בהן שגיאות בפורמט.

הנתיב צריך להיות בפורמט הבא:

 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

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

  • ‫BUCKET_NAME: מציין את שם הקטגוריה של Cloud Storage.
  • ‫FILE_PATH: מציין את הנתיב לקובץ שמאוחסן בקטגוריה של Cloud Storage.

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

@errorfiledatasource NVARCHAR מציין את השם של מקור הנתונים החיצוני שבו רוצים ליצור את קובץ השגיאות.
@firstrow INT מציין את המזהה המספרי של השורה הראשונה שצריך לטעון.
@firetriggers BIT מציין שכל טריגר הוספה שמוגדר בטבלת היעד יופעל במהלך פעולות ההוספה בכמות גדולה.
@formatfiledatasource NVARCHAR מציין את השם של מקור הנתונים החיצוני שממנו צריך לטעון את קובץ הפורמט.
@keepidentity BIT מציין את השימוש בנתוני זהות מקובץ הייבוא עבור עמודת הזהות. הערכים הם 0, שמשמעותו "לא", ו-1, שמשמעותו "כן".
@keepnulls BIT מציין אם עמודות ריקות צריכות לשמור על ערך null במהלך פעולת הייבוא בכמות גדולה, במקום להוסיף ערכי ברירת מחדל לעמודות. הערכים הם 0, שמשמעותו "לא", ו-1, שמשמעותו "כן".
@kilobytesperbatch INT מציינת את כמות הנתונים בכל אצווה, ביחידות KB.
@lastrow INT מציין את המזהה המספרי של השורה האחרונה שצריך לטעון.
@maxerrors INT מציין את מספר השגיאות המותרות לפני ש-Cloud SQL מבטל את הפעולה.
@ordercolumnsjson NVARCHAR מציינת את סדר המיון ואת העמודות, בפורמט JSON. לדוגמה:
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}]

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

  • ‫COLUMN_NAME: שם העמודה.
  • ‫ORDER: סדר המיון. הערך של הפרמטר הזה יכול להיות asc לסדר עולה או desc לסדר יורד.
@rowsperbatch INT מציין את מספר השורות בכל אצווה.

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

@tablock BIT מציינת שנעילת הטבלה מתבצעת למשך פעולת ההוספה בכמות גדולה.
@format NVARCHAR מציינת את הפורמט של הקובץ. משתמשים ב-CSV כערך של הפרמטר הזה.
@fieldquote NVARCHAR מציין את התו שישמש כתו המירכאות בקובץ ה-CSV.

אם לא מציינים ערך, Cloud SQL משתמש בערך ברירת המחדל ".

@formatfile NVARCHAR מציינת את הנתיב של הקובץ ב-Cloud Storage שמתאר את הפורמט של הנתונים שצריך לייבא.

הנתיב צריך להיות בפורמט הבא:

 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

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

  • ‫BUCKET_NAME: מציין את שם הקטגוריה של Cloud Storage.
  • ‫FILE_PATH: מציין את הנתיב לקובץ שמאוחסן בקטגוריה של Cloud Storage.
@fieldterminator NVARCHAR מציין את תו סיום השדה בקובצי נתונים מסוג char ו-widechar.
@rowterminator NVARCHAR מציין את תו סיום השורה בקובצי נתונים מסוג char ו-widechar.

תהליכים מאוחסנים לפונקציונליות של SQL Server Audit

למידע על השימוש בפונקציונליות של SQL Server Audit, קראו את המאמר ביקורת של מסד נתונים ב-SQL Server.

msdb.dbo.gcloudsql_fn_get_audit_file

תחביר

msdb.dbo.gcloudsql_fn_get_audit_file

תיאור

אחזור הנתונים מקובץ ביקורת שנוצר על ידי הפונקציונליות של SQL Server Audit.

הפרוצדורה המאוחסנת הזו מקבלת את אותם הפרמטרים כמו הפונקציה sys.fn_get_audit_file. מידע נוסף על msdb.dbo.gcloudsql_fn_get_audit_file מופיע במאמרי העזרה של הפונקציה הזו.

תהליכים מאוחסנים לסימון נתונים שהשתנו (CDC)

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

msdb.dbo.gcloudsql_cdc_enable_db

תחביר

exec msdb.dbo.gcloudsql_cdc_enable_db databaseName

תיאור

הפעלת סימון נתונים שהשתנו (CDC) במסד נתונים.

  • ‫databaseName – שם מסד הנתונים שבו רוצים להריץ את הפרוצדורה המאוחסנת.

msdb.dbo.gcloudsql_cdc_disable_db

תחביר

exec msdb.dbo.gcloudsql_cdc_disable_db databaseName

תיאור

השבתת CDC במסד נתונים.

  • ‫databaseName – שם מסד הנתונים שבו רוצים להריץ את הפרוצדורה המאוחסנת.

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

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

msdb.dbo.gcloudsql_transrepl_setup_distribution

תחביר

    exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password

תיאור

תהליך מאוחסן של wrapper שמגדיר מסד נתונים של הפצה. ה-wrapper קורא לפונקציות הבאות: sp_adddistributor,‏ sp_adddistributiondb ו-sp_adddistpublisher.

  • ‫login – פרטי התחברות קיימים שמשמשים להתחברות וליצירת מסד הנתונים של ההפצה.
  • password – הסיסמה שמשמשת להתחברות למפיץ.

msdb.dbo.gcloudsql_transrepl_replicationdboption

תחביר

    exec msdb.dbo.gcloudsql_transrepl_replicationdboption @db,@value

תיאור

הפעלה או השבתה של אפשרות הפרסום של מסד נתונים עבור בעל התוכן הדיגיטלי שמשתמש ב-sp_replicationdboption.

  • ‫db – מסד הנתונים שבו מוגדרת אפשרות הרפליקציה.
  • ‫value – מאפשר לציין True כדי להפעיל את אפשרות הפרסום, או False כדי להשבית אותה.

msdb.dbo.gcloudsql_transrepl_addlogreader_agent

תחביר

    exec msdb.dbo.gcloudsql_transrepl_addlogreader_agent @db,@login,@password

תיאור

מגדיר את סוכן קורא היומן למסד נתונים שמשתמש ב-sp_addlogreader_agent.

  • ‫db – מסד הנתונים שרוצים לפרסם.
  • login – פרטי ההתחברות שמשמשים להתחברות לאתר החדשות.
  • ‫password – הסיסמה שמשמשת להתחברות.

msdb.dbo.gcloudsql_transrepl_addpublication

תחביר

    exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication

תיאור

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

  • ‫db – מסד הנתונים שמתפרסם.
  • ‫publication – השם של אתר החדשות החדש שנוצר.

msdb.dbo.gcloudsql_transrepl_droppublication

תחביר

    exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication

תיאור

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

  • ‫db – מסד הנתונים שהפרסום שלו נמחק.
  • publication – שם אתר החדשות שהוסר.

msdb.dbo.gcloudsql_transrepl_addpublication_snapshot

תחביר

    exec msdb.dbo.gcloudsql_transrepl_addpublication_snapshot  @db,@publication,@login,@password

תיאור

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

  • ‫db – מסד הנתונים שהפרסום שלו נמחק.
  • publication – שם אתר החדשות שהוסר.
  • login – פרטי ההתחברות שמשמשים להתחברות לאתר החדשות.
  • ‫password – הסיסמה שמשמשת להתחברות.

msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent

תחביר

    exec msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
      @db,@publication,@subscriber_db,@subscriber_login,
        @subscriber_password,@subscriber

תיאור

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

  • ‫db – מסד הנתונים שפורסם.
  • ‫publication – שם אתר החדשות שאליו רוצים להוסיף נציג למינוי דחיפה.
  • ‫subscriber_db – מסד הנתונים של המנוי.
  • ‫subscriber_login – פרטי ההתחברות שמשמשים להתחברות למנוי.
  • ‫subscriber_password – הסיסמה שמשמשת להתחברות למנוי.
  • ‫subscriber – שם ה-IP של מכונת המנוי. אפשר לציין את הערך הזה בתור: <Hostname>,<PortNumber>

msdb.dbo.gcloudsql_transrepl_addmonitoraccess

תחביר

    exec msdb.dbo.gcloudsql_transrepl_addmonitoraccess @login

תיאור

מספק גישה ל-Replication Monitor ולהצהרה SELECT בטבלאות שקשורות לשכפול במסד הנתונים של ההפצה.

  • ‫login – פרטי ההתחברות שמשמשים לגישה ל-replication monitor.

msdb.dbo.gcloudsql_transrepl_changedistributor_property

תחביר

    exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value

תיאור

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

  • ‫property – הנכס של מסד נתונים להפצה.
  • ‫value – הערך שצריך לספק למאפיין שצוין.

msdb.dbo.gcloudsql_transrepl_dropsubscriber

תחביר

    exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber

תיאור

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

  • ‫subscriber – שם ה-IP של המנוי שרוצים להסיר. אפשר לציין את הערך הזה בתור: <Hostname>,<PortNumber>

msdb.dbo.gcloudsql_transrepl_remove_distribution

תחביר

     exec msdb.dbo.gcloudsql_transrepl_remove_distribution

תיאור

הסרת הגדרת ההפצה, שפועלת כמעטפת של פרוצדורה מאוחסנת עבור: sp_dropdistpublisher, sp_dropdistributiondb, ו- sp_dropdistributor.

פרוצדורה מאוחסנת להגדרת רמות תאימות של מסד נתונים

למידע על רמות תאימות של מסדי נתונים, ראו רמת תאימות של ALTER DATABASE (Transact-SQL).

msdb.dbo.gcloudsql_set_compat_level_for_master_db

תחביר

EXEC msdb.dbo.gcloudsql_set_compat_level_for_master_db @compatibility_level

תיאור

הגדרת רמת התאימות למסד הנתונים של master. ב-Cloud SQL ל-SQL Server, למשתמשים אין את ההרשאות שנדרשות כדי לשנות את מסד הנתונים master באופן ישיר. הפרוצדורה המאוחסנת הזו מאפשרת לשנות את רמת התאימות שלה, ומשמשת כמעטפת לפקודה ALTER DATABASE [master] SET COMPATIBILITY_LEVEL.

  • ‫compatibility_level: ערך מסוג מספר שלם שמציין את רמת התאימות שרוצים להחיל (לדוגמה, 130, 140 או 150). הערך חייב להיות 130 או יותר.

תהליך מאוחסן לייצוא פרטי כניסה

למידע על ייצוא פרטי כניסה, ראו ייצוא פרטי כניסה ל-SQL Server.

msdb.dbo.sp_help_revlogin

תחביר

EXEC msdb.dbo.sp_help_revlogin [@login_name = 'LOGIN_NAME']

תיאור

יוצר סקריפטים של Transact-SQL‏ (T-SQL) שמכילים הצהרות CREATE LOGIN כדי להעביר פרטי כניסה, מזהי אבטחה (SID) וגיבובי סיסמאות ממכונה של Cloud SQL ל-SQL Server.

כדי להתקין את הפרוצדורה המאוחסנת sp_help_revlogin במסד הנתונים msdb, צריך להפעיל את הדגל לניהול מסד הנתונים cloud sql enable sp_help_revlogin במכונה.

  • ‫login_name: (אופציונלי) מציין את השם של פרטי כניסה ספציפיים לייצוא. אם משמיטים את הפרמטר או מגדירים אותו כ-NULL, הפרוצדורה המאוחסנת יוצרת סקריפטים לכל פרטי ההתחברות שעומדים בדרישות.

התהליך המאוחסן מפיק סקריפטים שנוצרו באמצעות הצהרות T-SQL PRINT, ולא קבוצות של תוצאות בטבלה. ב-Cloud SQL Studio מוצגות רק תוצאות של שאילתות בטבלאות, לכן צריך להשתמש בכלי לקוח כמו SQL Server Management Studio ‏ (SSMS), ‏Visual Studio Code עם התוסף MSSQL או sqlcmd כדי להציג ולייצא את הסקריפטים שנוצרו.

‫sp_help_revlogin מחריג באופן אוטומטי Google Cloud חשבונות שירות, חשבונות מערכת פנימיים של SQL Server (כמו פרטי כניסה עם הקידומת ##) ופרטי כניסה שהוקצו ל-sysadmin או לתפקידים מוגבלים אחרים של שרת אדמין.

המאמרים הבאים