בקטע הזה מתוארות פרוצדורות מאוחסנות במכונות Cloud SQL.
פרוצדורה מאוחסנת מכילה קוד SQL שאפשר להשתמש בו שוב.
כדי להריץ פרוצדורה מאוחסנת, משתמשים בפקודה EXEC ומחליפים את המשתנים הבאים:
- procedure_name הוא השם של התהליך המאוחסן.
- database_name הוא שם מסד הנתונים שבו רוצים להריץ את הפרוצדורה.
- schema_name הוא שם הסכימה שבה רוצים להריץ את הפרוצדורה.
EXEC database_name.schema_name.procedure_name @param1, @param2;
כדי ליצור פרוצדורה מאוחסנת משלכם, קראו את המאמר יצירת פרוצדורה מאוחסנת.
פרוצדורות מאוחסנות ב-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 מחליפים את מה שכתוב בשדות הבאים:
|
@batchsize |
INT |
מציין את מספר השורות באצווה. |
@checkconstraints |
BIT |
מציין שצריך לבדוק את כל האילוצים בטבלת היעד. |
@codepage |
NVARCHAR |
מציין את דף הקוד של הנתונים בקובץ.
RAW היא האפשרות היחידה והיא מוגדרת כברירת מחדל. |
@datafiletype |
NVARCHAR |
מציין את סוג הקובץ להוספה בכמות גדולה. |
@datasource |
NVARCHAR |
מציין את השם של מקור הנתונים החיצוני שממנו רוצים לייבא את הנתונים. |
@errorfile |
NVARCHAR |
מציינת את הנתיב לקובץ שמשמש לאיסוף שורות שיש בהן שגיאות בפורמט.
הנתיב צריך להיות בפורמט הבא: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH מחליפים את מה שכתוב בשדות הבאים:
בנוסף, Cloud SQL יוצר קובץ עם הסיומת |
@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"}] מחליפים את מה שכתוב בשדות הבאים:
|
@rowsperbatch |
INT |
מציין את מספר השורות בכל אצווה.
למידע נוסף על בחירת גודל אצווה, ראו שיקולי ביצועים. |
@tablock |
BIT |
מציינת שנעילת הטבלה מתבצעת למשך פעולת ההוספה בכמות גדולה. |
@format |
NVARCHAR |
מציינת את הפורמט של הקובץ. משתמשים ב-CSV כערך של הפרמטר הזה. |
@fieldquote |
NVARCHAR |
מציין את התו שישמש כתו המירכאות בקובץ ה-CSV.
אם לא מציינים ערך, Cloud SQL משתמש בערך ברירת המחדל |
@formatfile |
NVARCHAR |
מציינת את הנתיב של הקובץ ב-Cloud Storage שמתאר את הפורמט של הנתונים שצריך לייבא.
הנתיב צריך להיות בפורמט הבא: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH מחליפים את מה שכתוב בשדות הבאים:
|
@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 או לתפקידים מוגבלים אחרים של שרת אדמין.
המאמרים הבאים
- איך מייצאים פרטי כניסה ל-SQL Server
- איך מפעילים את התכונה "סימון נתונים שהשתנו" (CDC)
- איך מגדירים רפליקות חיצוניות