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
2016年2月5日金曜日
リモートデスクトップの接続数制限解除
AzureでSQL Database等を操作するときに、踏み台用のWindows VMを構成し、リモートデスクトップ経由で操作することがあるかと思います。
Windows Server 2012 R2のリモートデスクトップ接続はデフォルトだと1セッションしか接続出来ないので、この制限を解除する手順を紹介します。
これでリモート接続上限2になり、コンソールと合わせると3セッションの操作が可能になります。
同一ユーザでも2セッション張る事が可能です。
- 「ファイル名を指定して実行」より「gpedit.msc」と入力
- 「ローカルコンピューターポリシー」->「コンピューターの構成」->「管理用テンプレート」->「Windowsコンポーネント」->「リモートデスクトップサービス」->「リモートデスクトップセッションホスト」->「接続」を選択
- 「リモートデスクトップサービスユーザーに対してリモートデスクトップサービスセッションを1つに制限する」を「無効」に変更
これでリモート接続上限2になり、コンソールと合わせると3セッションの操作が可能になります。
同一ユーザでも2セッション張る事が可能です。
2016年1月21日木曜日
SQLサーバーからランダムに行を取り出す方法
SQLサーバーからランダムに行を取り出したいとき、以下のSQLが最もコストが低いようです。例えば、<取り出す割合>を10と指定すると、10%の行をランダムに取り出します。
SELECT * FROM <表名> WHERE (ABS(CAST((BINARY_CHECKSUM (<キー列>, NEWID())) as int)) % 100) < <取り出す割合>
2016年1月8日金曜日
PowerShellで、仮想マシンを起動停止してみる
Azureポータルにアクセスしなくても、PowerShellで仮想マシンの起動停止が簡単にできます。
仮想マシンを起動するコマンド
仮想マシンを停止するコマンド
なお、リソースグループ名と仮想マシン名がわからない場合も、コマンドで取得できます。
仮想マシンを起動するコマンド
Start-AzureRmVM -ResourceGroupName <リソースグループ名> -Name <仮想マシン名>
仮想マシンを停止するコマンド
Stop-AzureRmVM -ResourceGroupName <リソースグループ名> -Name <仮想マシン名>
なお、リソースグループ名と仮想マシン名がわからない場合も、コマンドで取得できます。
# リソースグループ名 Get-AzureRmVM | Select ResourceGroupName # 仮想マシン名 Get-AzureRmVM | Select Name
ARMテンプレートを使ってWindows仮想マシンを作ってみる
Azure Powershell 1.0以前のバージョンではAzure Service Management(ASM)とAzure Resource Manager(ARM)関連のコマンドレッドの切り替え(Switch-AzureModule)が必要でしたが、1.0からはARM関連のコマンドレッドはAzureRMモジュールに含まれるようになりました。以下では、AzureRMモジュールを使ってWindows仮想マシンを作成します。
仮想マシンをAzureにデプロイする場合の基本構文は、以下になります。
Windows仮想マシンを最も簡易的に作成するテンプレートのURIは
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json
※最新のテンプレートについては、GitHub上でURIを確認してください。
これは、Windows Server 2012 R2 Datacenterの仮想マシンをStandard D2サイズで作成するテンプレートになります。
このテンプレートを使用する場合、指定できるパラメータは、ユーザー名、パスワード、DNS名ラベルのみになります。その他のパラメータを変更したい場合は、テンプレートをカスタマイズして使用してください。
なお、テンプレートのREADMEにはWest USロケーションに仮想マシンを作成すると書かれていますが、上記のようにリソースグループでロケーションを指定することにより、West USロケーション以外に仮想マシンを配置することが可能なようです。
仮想マシンをAzureにデプロイする場合の基本構文は、以下になります。
#パラメータの指定 $deployName="<デプロイメント名>" $rgName="<リソースグループ名>" $locName="<場所>" $templateURI="<テンプレートのURI>" # リソースグループの作成 New-AzureRmResourceGroup –Name $rgName –Location $locName # 仮想マシンをデプロイ New-AzureRmResourceGroupDeployment -Name $deployName -ResourceGroupName $rgName -TemplateUri $templateURI
Windows仮想マシンを最も簡易的に作成するテンプレートのURIは
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json
※最新のテンプレートについては、GitHub上でURIを確認してください。
これは、Windows Server 2012 R2 Datacenterの仮想マシンをStandard D2サイズで作成するテンプレートになります。
このテンプレートを使用する場合、指定できるパラメータは、ユーザー名、パスワード、DNS名ラベルのみになります。その他のパラメータを変更したい場合は、テンプレートをカスタマイズして使用してください。
なお、テンプレートのREADMEにはWest USロケーションに仮想マシンを作成すると書かれていますが、上記のようにリソースグループでロケーションを指定することにより、West USロケーション以外に仮想マシンを配置することが可能なようです。
登録:
投稿 (Atom)