以前、投稿した SQL Server on Linux のデータベース バックアップを PowerShell Core で取得してみる のスクリプトをベースにしたものですが、Runspace を使用して複数のクエリを実行するスクリプトを作ってみました。
Invoke-ParallelQuery.ps1
「複数のセッションからクエリ実行したときの、あの動き、どうだったっけ?」というのを確認するために、ざっくり作ったものなので、時間のある時に清書しようかと。
実行が 10 数ミリ秒で終わってしまうものですと、実行タイミングがかぶることが無く、あまりこのスクリプトを使う必要はないのですが、「数秒以上かかるメンテナンスのクエリが実行されている最中に、他のクエリを実行するとどうなるか?」というような用途での利用を想定したものです。
SQLQueryStress ですと、同一のクエリを複数セッションで実行する方式となり、異なるクエリを同時に実行するためには、複数ツールを起動した状態にしなくてはいけないので、その部分を簡易的に埋める目的もあったりしますが。
データセットの情報を別で表示する際に「Out-Gridview」を使用しているため、Windows PowerShell 専用となっているところもどこかで対応したいですねぇ。。。
Read the rest of this entry »
Archive for the ‘PowerShell’ Category
PowerShell の Runspace を使用して複数のクエリを実行してみる
SQL Server on Linux のデータベース バックアップを PowerShell Core で取得してみる
de:code 2018 では、SQL Server on Linux のデータベースバックアップを bash + sqlcmd で実装する方法をデモで実施しました。
Windows PowerShell から、バックアップを取得するスクリプトも以前組んだことがあったのですが、PowerShell Core で実装したことが無かったので、勉強がてら作成してみました。
(Windows PowerShell (v5.1) でも実行可能です)
Backup-Database.ps1
pwsh./Backup-Database.ps1 -ServerInstance <ServerName> -Username <Login> -P <Login Password> -RunSpaceSize 5
スクリプトによる Power BI のプッシュデータセットの作成
Power BI のストリーミングデータセットについては、ポータルから簡単に作成することができます。
Power BI のリアルタイム ストリーミング
投稿作成時点では、ポータルから作成した、ストリーミングデータセットについては、Power BI デスクトップの「Power BI サービスからのデータの取得」では使用することができないため、PowerShell で Power BI のプッシュデータセットを作成してみました。
プッシュデータセットであれば、複数のテーブルをデータセットに含めることもできますので、ストリーミングデータセットより高度な内容ができるかと。
基本的な流れと REST API については以下の情報を参考にするとよいかと思います。
ADAL v3 で AcquireToken が使えなかったので ADAL v2 を使ったお話
Active Directory Authentication Library (ADAL) を使いたかったので、最新の Azure Active Directory V2 PowerShell Module をインストールした環境や、依然に ADAL を使っていた環境でいろいろとやっていたら環境によってスクリプトが動いたり、動かなかったりしたのでなんでだろと思って調べた時のお話です。
ブチザッキ兄さんに聞いてみたらいろいろと教えていただけました。
さすが我らのブチザッキ兄さん。
@kosmosebi ブチザッキ兄さん、ADAL v2っていつから使えないとかあったりするんでしょうか?
ADAL v3になると、トークン生成にAcquireToken使えなくなるみたいで、これつかわない方法に移行する必要があるのか気になったもんで。— Masayuki Ozawa (@Masayuki_Ozawa) June 2, 2017
PowerShell on Linux !!
後で見る用のリストを。
GitHub
Microsoft、「PowerShell」をオープンソース化し、LinuxとOS X版を提供
PowerShell on Linux and Open Source!
Announcing PowerShell on Linux – PowerShell is Open Source!
PowerShell is open sourced and is available on Linux
PowerShell is now open-source, and cross-platform
Open source PowerShell on Windows, Linux, and OS X!
PowerShell on Linux and Open Source
Ubuntu 16.04 にインストールする場合は以下のような形になるかと。
curl -L -O https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.9/powershell_6.0.0-alpha.9-1ubuntu1.16.04.1_amd64.deb sudo apt-get install libunwind8 libicu55 sudo dpkg -i powershell_6.0.0-alpha.9-1ubuntu1.16.04.1_amd64.deb