SVL_ 多重陳述式違規 - Amazon Redshift

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

SVL_ 多重陳述式違規

您可以使用 SVL_MULT_STATEMENT_違規檢視,取得在違反交易區塊限制之系統上執行之所有 SQL 命令的完整記錄。

當您在交易區塊或多陳述式請求內執行 Amazon Redshift 限制的下列任何 SQL 命令時,就會發生違規情形:

注意

如果此檢視中有任何項目,請變更對應的應用程式和 SQL 命令檔。我們建議您變更應用程式程式碼,將這些受限制 SQL 命令的使用移至交易區塊之外。如果您需要進一步協助,請聯絡 Sup AWS port 部門。

SVL_ 多重狀態 _ 違規對所有使用者都可以看到。超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱系統資料表和檢視中資料的可見性

資料表欄位

資料欄名稱 資料類型 描述
userid integer 造成違規的使用者 ID。
database character(32) 使用者連線的資料庫名稱。
指令程式名 character(20) 無法在交易區塊或多重陳述式要求內執行的命令名稱。例如,建立資料庫、刪除資料庫、ALTER 資料表附加、建立外部資料表、刪除外部表格、重新命名外部表格、變更外部表格、建立程式庫、刪除程式庫、REBUILDCAT、INDACKCAT、重新索引資料庫、真空、授與外部資源、叢集、複製、建立表格空間和刪除表格空間。
xid bigint 與陳述式關聯的交易 ID。
pid integer 陳述式的處理程序識別碼。
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 ...