本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SVL_MULTI_STATEMENT_VIOLATIONS
使用 SVL_MULTI_STATMENT_VIOLATIONS 檢視來取得系統上執行的所有違反交易區塊限制的 SQL 命令的完整記錄。
當您執行 Amazon Redshift 限制在交易區塊或多重陳述式請求內的下列任何 SQL 命令時,就會發生違規:
DROP EXTERNAL TABLE
RENAME EXTERNAL TABLE
ALTER EXTERNAL TABLE
CREATE TABLESPACE
DROP TABLESPACE
REBUILDCAT
INDEXCAT
REINDEX DATABASE
注意
如果此檢視中有任何項目,請變更對應的應用程式和 SQL 命令檔。我們建議您變更應用程式程式碼,將這些受限制 SQL 命令的使用移至交易區塊之外。如果您需要進一步協助,請聯絡 AWS Support。
所有使用者都可看見 SVL_MULTI_STATEMENT_VIOLATIONS。超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱系統資料表和檢視中資料的可見性。
此資料表中的部份或所有資料也會在 SYS 監控檢視 SYS_QUERY_HISTORY 中找到。SYS 監視檢視中的資料會格式化為更易於使用和理解。我們建議您使用 SYS 監控檢視進行查詢。
資料表欄
欄名稱 | 資料類型 | 描述 |
---|---|---|
userid | integer | 造成違規的使用者 ID。 |
database | character(32) | 使用者連接的資料庫名稱。 |
cmdname | character(20) | 無法在交易區塊或多重陳述式要求內執行的命令名稱。例如,CREATE DATABASE、DROP DATABASE、ALTER TABLE APPEND、CREATE EXTERNAL TABLE、DROP EXTERNAL TABLE、RENAME EXTERNAL TABLE、ALTER EXTERNAL TABLE、CREATE LIBRARY、DROP LIBRARY、REBUILDCAT、INDEXCAT、REINDEX DATABASE、VACUUM、外部資源上的 GRANT、CLUSTER、COPY、CREATE TABLESPACE 以及 DROP TABLESPACE。 |
xid | bigint | 與陳述式關聯的交易 ID。 |
pid | integer | 陳述式的處理程序 ID。 |
label | character(320) | 用於執行查詢的檔案名稱,或以 SET QUERY_GROUP 命令定義的標籤。如果查詢不是檔案型,或未設定 QUERY_GROUP 參數,則此欄位為空白。 |
starttime | timestamp | 陳述式開始執行的確切時間,精確度為六位數的小數秒,例如:2009-06-12 11:29:19.131358 |
endtime | timestamp | 陳述式完成執行的確切時間,精確度為六位數的小數秒,例如:2009-06-12 11:29:19.193640 |
sequence | integer | 當單一陳述式包含不只 200 個字元時,會將該陳述式的其他資料列記錄下來。序列 0 是第一列,1 是第二列,以此類推。 |
type | 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 ...