בקטע הזה מתוארים פרוצדורות מאוחסנות למכונות 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. הוא משתמש בCloud Storage interoperable API ובמפתחות 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 (שמשמעותו false) ו-1 (שמשמעותו true). |
@keepnulls |
BIT |
מציין אם עמודות ריקות צריכות לשמור על ערך null במהלך פעולת הייבוא בכמות גדולה, במקום להוסיף ערכי ברירת מחדל לעמודות. הערכים הם 0 (שמשמעותו false) ו-1 (שמשמעותו true). |
@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
מידע על שימוש בפונקציונליות של 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 זמין במאמר הפעלת 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
תיאור
תהליך מאוחסן של עטיפה שמגדיר מסד נתונים של הפצה. הסקריפט העוטף קורא לפרוצדורות הבאות: 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 – פרטי הכניסה שמשמשים לגישה לכלי למעקב אחר שכפול.
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
תיאור
מסירה את המנוי, ופועלת כפרוצדורה מאוחסנת של עטיפה עבור 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) Compatibility Level.
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)
- איך מגדירים רפליקות חיצוניות