注意事項
- 本文介紹的存儲過程不包括SQL Server本身自帶的系統存儲過程,僅介紹天翼云SQL Server對外提供的存儲過程。
- 僅高權限賬號root有權限執行以下存儲過程,普通賬號無權限執行。
創建Login賬號
說明
該存儲過程僅支持開通時間在2024-08-28及之后的實例,若您的實例在此日期之前開通且需要使用以下存儲過程,請通過咨詢工單申請。
如果為主備實例,使用后僅在主節點上創建賬號。如實例發生過主備切換,且仍需要使用該賬號,請在切換后再次執行。
使用該存儲過程創建的賬號與控制臺普通賬號具有相同的權限。
操作步驟
執行以下命令,創建賬號。
exec msdb.dbo.TYY_CreateLogin '@loginName', '@password';
- @loginName:創建的賬號的登錄名。
- @password:創建的賬號的密碼。
賬號創建成功后,系統將會提示:
create Login [loginName] success
創建數據庫
操作步驟
執行以下命令,創建數據庫。
exec msdb.dbo.TYY_CreateDatabase '@dbName', '@charset';
- @dbName:創建的數據庫名稱。
- @charset:創建的數據庫的支持字符集。
數據庫創建成功后,系統將會提示:
create database [dbName] success
變更數據捕獲(CDC)
說明
該存儲過程僅支持開通時間在2024-08-28及之后的實例,若您的實例在此日期之前開通且需要使用以下存儲過程,請通過咨詢工單申請。
該存儲過程僅支持變更庫級數據捕獲,變更表級數據捕獲請通過sp_cdc_enable_table存儲過程實現。
約束
- 系統庫不支持變更數據捕獲,如果您試圖對系統庫進行此操作,將會提示:
TYY_ERROR: CDC can not open on system database
- 僅關系數據庫SQL Server企業版和關系數據庫SQL Server 2016及其以上版本的標準版支持變更數據捕獲,如果您在其他版本進行此操作,將會提示:
TYY_ERROR: SQL Server version is lower than 2016. This procedure requires SQL Server 2016 or higher for non-Enterprise editions
- 變更數據捕獲操作類型僅包括1和0,如果您嘗試其他操作,將會提示:
The action parameter must be either 0 or 1.
操作步驟
執行以下命令,變更數據捕獲。
exec msdb.dbo.TYY_SetDbCDC '@dbName', @action;
- @dbName:需要變更數據捕獲的數據庫名稱。
- @action:操作類型,1為開啟數據捕獲,0為關閉數據捕獲。
變更數據捕獲成功后,系統將會提示:
[dbName] enable CDC success 或 [dbName] disable CDC success
跟蹤標記
說明
該存儲過程僅支持開通時間在2024-08-28及之后的實例,若您的實例在此日期之前開通且需要使用以下存儲過程,請通過咨詢工單申請。
如果為主備實例,使用后僅在主節點上設置跟蹤標記。如實例發生過主備切換,請在切換后再次執行該存儲過程。
約束
- 跟蹤標記操作類型僅包括1、0和-1,如果您嘗試其他操作,將會提示:
TYY_ERROR: the action parameter must be -1, 0 or 1
操作步驟
執行以下命令,設置或查看跟蹤標記狀態。
exec msdb.dbo.TYY_SetTraceFlag @traceFlag, @action;
- @traceFlag:指定跟蹤標記的序號。
- @action:操作類型,1為打開跟蹤標記,0為關閉跟蹤標記,-1為查看跟蹤標記。
更新數據庫統計信息
說明
該存儲過程僅支持開通時間在2024-08-28及之后的實例,若您的實例在此日期之前開通且需要使用以下存儲過程,請通過咨詢工單申請。
該存儲過程會更新所有ONLINE狀態數據庫的統計信息,包括系統庫。
操作步驟
執行以下命令,更新數據庫統計信息。
exec msdb.dbo.TYY_UpdateStatistics;
堵塞事件
說明
該存儲過程僅支持開通時間在2024-08-28及之后的實例,若您的實例在此日期之前開通且需要使用以下存儲過程,請通過咨詢工單申請。
如果為主備實例,使用后僅在主節點上開啟或調整堵塞事件。如實例發生過主備切換,請在切換后再次執行該存儲過程。
第一次執行該存儲過程會自動開啟堵塞事件,后續執行僅調整堵塞事件采集閾值。
操作步驟
執行以下命令,開啟堵塞日志采集,或調整堵塞事件采集閾值。
exec msdb.dbo.TYY_CreateBlockedEvent @timeThreshold;
- @timeThreshold:堵塞事件采集閾值。
堵塞事件調整成功后,系統將會提示:
TYY: create blocked event session success
授予庫級db_owner角色
說明
該存儲過程僅支持開通時間在2024-08-28及之后的實例,若您的實例在此日期之前開通且需要使用以下存儲過程,請通過咨詢工單申請。
約束
- 僅支持授予非系統庫的db_owner角色,如果您授予系統庫,將會提示:
TYY_ERROR: can not operate system database
操作步驟
執行以下命令,授予庫級db_owner角色。
exec msdb.dbo.TYY_GrantDbOwner '@dbName', '@login';
- @dbName:需要授予的數據庫名稱。
- @login:被授予db_owner角色的賬號名。
授予庫級db_owner角色成功后,系統將會提示:
grant db_owner to database [dbName] for [login] success
創建SQL執行跟蹤會話
說明
該存儲過程僅支持開通時間在2025-02-28及之后的實例,若您的實例在此日期之前開通且需要使用以下存儲過程,請通過咨詢工單申請。
該存儲過程基于?SQL?Server?擴展事件(Extended?Events)?技術實現,而非已棄用的?SQL?Trace。
如果為主備實例,使用后僅在主節點上創建擴展事件會話。如實例發生過主備切換,請在切換后再次執行該存儲過程。
重復執行會把已經存在的擴展事件會話刪除,然后重新創建。
操作步驟
執行以下命令,創建SQL執行跟蹤會話。
exec msdb.dbo.TYY_CreateSqlExecutionEvent '@EventNames', '@MaxFileSize', '@MaxRolloverFiles'
- @EventNames:支持是事件名,僅支持 sql_statement_completed、rpc_completed、query_post_execution_showplan 3個事件,默認3個事件都添加到會話中。
- @MaxFileSize:單個事件日志文件大小上限(單位:MB),默認值為50。
- @MaxRolloverFiles:最大保留的日志文件數(滾動覆蓋策略),默認值為10。
執行創建SQL執行跟蹤會話成功后,系統會提示:
The extended event session "sql_execution event session"has been created and started successfully.