HDInsightクラスタに紐づいたストレージ間でAZCopyでデータコピーをしようという要件がありそうなのですが、これは第3者のVMを経由しないとだめなようです。
AZCopyをインストールするにはWindowsの管理者権限が必要なのですが、これが不可とのことです。
参考:Administrator Privileges on Headnode of HDInsight-Cluster
2016年3月18日金曜日
2016年3月14日月曜日
Azure SQL DatabaseでSQLの実行時間を図る方法
SQL文の実行時間を測定したい場合は
例えば
また、平均CPUに基づいて上位N位のSQL文を取得したい場合には、動的管理ビュー「sys.dm_exec_query_stats」を使います。
例えば上位5位までのSQL文を取得したい場合には
なお、残念ながらこれらはAzure SQL Datawarehouseでは使用できないようです。
参考:https://technet.microsoft.com/ja-jp/library/gg457940.aspx
set statistics time onをSQL文の前に実行します。
例えば
set statistics time on; go select * from saleslt.Customer; goといったSQL文を実行すると
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 1 ms.
(847 row(s) affected)
SQL Server Execution Times:
CPU time = 16 ms, elapsed time = 8 ms.
といった実行時間の情報が得られます。
また、平均CPUに基づいて上位N位のSQL文を取得したい場合には、動的管理ビュー「sys.dm_exec_query_stats」を使います。
例えば上位5位までのSQL文を取得したい場合には
SELECT TOP 5 query_stats.query_hash AS "Query Hash",
SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) AS "Avg CPU Time",
MIN(query_stats.statement_text) AS "Statement Text"
FROM
(SELECT QS.*,
SUBSTRING(ST.text, (QS.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE QS.statement_end_offset END
- QS.statement_start_offset)/2) + 1) AS statement_text
FROM sys.dm_exec_query_stats AS QS
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST) as query_stats
GROUP BY query_stats.query_hash
ORDER BY 2 DESC;
GO
といったSQL文を実行します。
なお、残念ながらこれらはAzure SQL Datawarehouseでは使用できないようです。
参考:https://technet.microsoft.com/ja-jp/library/gg457940.aspx
登録:
コメント (Atom)