我有一個簡單的查詢
SELECT 'kill ' '''' session_id '''' FROM sys.dm_pdw_waits
where object_name like 'dw_prd.F%'
union
SELECT 'kill ' '''' session_id '''' FROM sys.dm_pdw_waits
where object_name like 'dw_prd.D%'
這是結果集

我想按原樣執行結果集,這意味著所有的殺戮都應該執行。我嘗試將其設為變數并執行它,但它沒有執行
執行此結果集的最簡單方法是什么。
uj5u.com熱心網友回復:
您必須在此處使用動態 SQL。一種方法是聚合字串,然后將其作為一批執行。根據該檔案,Azure的突觸支持STRING_AGG和sys.sp_executesql,但是,我沒有檢查這個實際作業方式:
DECLARE @SQL nvarchar(MAX),
@CRLF nchar(2) = NCHAR(13) NCHAR(10);
SELECT @SQL = STRING_AGG(N'KILL ' QUOTENAME(session_id, N'''') N';',@CRLF)
FROM sys.dm_pdw_waits
WHERE object_name LIKE 'dw_prd.[FD]%';
EXEC sys.sp_executesql @SQL;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/404949.html
標籤:
上一篇:如何選擇價值最高的12個月?
