本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SVL_ 多重陳述式違規
您可以使用 SVL_MULT_STATEMENT_違規檢視,取得在違反交易區塊限制之系統上執行之所有 SQL 命令的完整記錄。
當您在交易區塊或多陳述式請求內執行 Amazon Redshift 限制的下列任何 SQL 命令時,就會發生違規情形:
刪除外部表格
更名外部資料表
變更外部表格
建立表空間
DROP TABLESPACE
重建貓
索引貓
重新索引資料庫
注意
如果此檢視中有任何項目,請變更對應的應用程式和 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 陳述式的類型:QUERY DDL 、或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 ...