SVL_ 多語句違規 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SVL_ 多語句違規

使用 SVL_MULT_MULT_STATEMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_

當您運行 Amazon Redshift 限制在事務塊或多語句請求內部的任何 SQL 命令時,會發生違規:

注意

如果此視圖中有任何條目,則更改相應的應用程序和 SQL 腳本。我們建議您更改應用程序代碼,以便將這些受限 SQL 命令的使用移到事務塊之外。如果您需要進一步的協助,請聯繫AWSSupport。

所有使用者都可看見 SVL_MED_MED_MED_STATED_STATED_STATED 超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱 系統資料表和檢視中資料的可見性

資料表欄位

資料欄名稱 資料類型 描述
userid integer 導致違規的使用者 ID。
database character(32) 使用者連線的資料庫名稱。
命名 character(20) 無法在事務塊或多語句請求內運行的命令的名稱。例如,創建數據庫、刪除數據庫、更改表附加、創建外部表、刪除外部表、重命名外部表、更改外部表、創建庫、刪除庫、REBUILDCAT、INDEXCAT、重新索引數據庫、真空、授予外部資源、羣集、複製、創建表空間和刪除表空間。
xid bigint 與陳述式關聯的交易 ID。
pid integer 陳述式的進程 ID。
label character(320) 用於執行查詢的檔案名稱,或以 SET QUERY_GROUP 命令定義的標籤。如果查詢不是檔案型,或未設定 QUERY_GROUP 參數,則此欄位為空白。
starttime timestamp 陳述試開始執行的確切時間,精確度為 6 位數的小數秒,例如:2009-06-12 11:29:19.131358
endtime timestamp 陳述試完成執行的確切時間,精確度為 6 位數的小數秒,例如:2009-06-12 11:29:19.193640
sequence integer 當單一陳述式包含不只 200 個字元時,會將該陳述式的其他資料列記錄下來。序列 0 是第一列,1 是第二列,以此類推。
類型 varchar(10) SQL 陳述式的類型:QUERYDDL, 或UTILITY
text character(200) SQL 文字,以 200 個字元的方式增量。此欄位可能包含反斜線 (\\) 和換行符號 (\n) 等特殊字元。

範例查詢

以下查詢返回具有違規的多個語句。

select * from svl_multi_statement_violations order by starttime asc; userid | database | cmdname | xid | pid | label | starttime | endtime | sequence | type | text ============================================================================================================================== 1 | dev | CREATE DATABASE | 1034 | 5729 |label1 | ********* | ******* | 0 | DDL | create table c(b int); 1 | dev | CREATE DATABASE | 1034 | 5729 |label1 | ********* | ******* | 0 | UTILITY | create database b; 1 | dev | CREATE DATABASE | 1034 | 5729 |label1 | ********* | ******* | 0 | UTILITY | COMMIT ...