SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘SQL Server’ tag

Database Experimentation Assistant (DEA) の情報をまとめてみる (2018/6 版)

leave a comment

以前、Database Experimentation Assistant Technical Preview を日本語環境で動作させてみる という投稿を書いたのですが、正式版がリリースされてからの情報がキャッチアップできていなかったので、この機会にまとめてみたいなと。

Read the rest of this entry »

Written by masayuki.ozawa

6月 10th, 2018 at 3:50 pm

Posted in SQL Server

Tagged with ,

PowerShell の Runspace を使用して複数のクエリを実行してみる

leave a comment

以前、投稿した SQL Server on Linux のデータベース バックアップを PowerShell Core で取得してみる のスクリプトをベースにしたものですが、Runspace を使用して複数のクエリを実行するスクリプトを作ってみました。

Invoke-ParallelQuery.ps1

「複数のセッションからクエリ実行したときの、あの動き、どうだったっけ?」というのを確認するために、ざっくり作ったものなので、時間のある時に清書しようかと。

実行が 10 数ミリ秒で終わってしまうものですと、実行タイミングがかぶることが無く、あまりこのスクリプトを使う必要はないのですが、「数秒以上かかるメンテナンスのクエリが実行されている最中に、他のクエリを実行するとどうなるか?」というような用途での利用を想定したものです。

SQLQueryStress ですと、同一のクエリを複数セッションで実行する方式となり、異なるクエリを同時に実行するためには、複数ツールを起動した状態にしなくてはいけないので、その部分を簡易的に埋める目的もあったりしますが。

データセットの情報を別で表示する際に「Out-Gridview」を使用しているため、Windows PowerShell 専用となっているところもどこかで対応したいですねぇ。。。

Read the rest of this entry »

Written by masayuki.ozawa

6月 7th, 2018 at 11:18 pm

Posted in PowerShell,SQL Server

Tagged with ,

SQL Server on Linux のデータベース バックアップを PowerShell Core で取得してみる

leave a comment

de:code 2018 では、SQL Server on Linux のデータベースバックアップを bash + sqlcmd で実装する方法をデモで実施しました。

Windows PowerShell から、バックアップを取得するスクリプトも以前組んだことがあったのですが、PowerShell Core で実装したことが無かったので、勉強がてら作成してみました。
(Windows PowerShell (v5.1) でも実行可能です)

Backup-Database.ps1

image_thumb2

pwsh./Backup-Database.ps1 -ServerInstance <ServerName> -Username <Login> -P <Login Password> -RunSpaceSize 5

Read the rest of this entry »

Written by masayuki.ozawa

6月 2nd, 2018 at 5:15 pm

de:code 2018 の登壇資料とデモコンテンツを公開しています

leave a comment

先日開催された de:code 2018 で SQL Server on Linux のセッションを担当させていただきました。

後日、公式サイトからセッション動画とスライドが公開されると思いますが、先行して GitHub 上でコンテンツを公開しておりますので、ご興味のある方がいらっしゃいましたらご利用ください。

当日使用したバージョンのスライドの Slideshare へのリンクも、ReadMe に記載しております。

https://github.com/MasayukiOzawa/decode-2018-demo

Written by masayuki.ozawa

5月 25th, 2018 at 7:40 am

Build 2018 の SQL Server / SQL Database の関連セッション

one comment

Build 2018 も終わり、コンテンツが公開されていますのでメモとして。
今年は、キーノートで SQL Server 関連の内容は少なく、新情報はあまりない雰囲気ではありますが。

今年のコンテンツは、Channel 9YouTube で公開されているようですね。
(Channel 9 の動画が YouTube のリンクになっているようです)

Read the rest of this entry »

Written by masayuki.ozawa

5月 13th, 2018 at 2:20 pm

SQL Database Managed Instance と SQL Server / SQL Database の比較

leave a comment

本投稿は 2018/4 時点の Public Preview の内容です。
一般提供開始時には変更されている可能性があります。

SQL Database Managed Instance と Azure の SQL Server ベースのサービスを比較してみた際にまとめたものを投稿しておきたいと思います。

機能差異については、次のドキュメントから追うことになるかと。

比較結果は、利用者によっていろいろな観点があるかと思いますので、今回の比較はあくまでも「私個人が調べた結果での比較」となっていますのでご了承ください。
(MI はプレビューのサービスですので、この投稿に書いてある内容も、時期によっては古いですのでご承知おきください)

Read the rest of this entry »

Written by masayuki.ozawa

4月 22nd, 2018 at 6:37 pm

SQL Database Managed Instance のネイティブバックアップのリストアについて

leave a comment

本投稿は 2018/4 時点の Public Preview の内容です。
一般提供開始時には変更されている可能性があります。

SQL Database Managed Instance (MI) の大きな特徴の一つとして「ネイティブバックアップのリストア」をする機能があります。
ネイティブバックアップとは、オンプレミスの SQL Server で取得されているバックアップのことを指します。

従来から提供されている PaaS 型の SQL Server ベースの RDBMS である「Azure SQL Database」「Azure SQL Data Warehouse」では、ネイティブバックアップのリストアはサポートされていませんでした。

そのため、SQL Server のデータベースを移行しようとした場合、

  • スキーマ / データをエクスポートしたものをベースにして移行を検討
  • BACPAC ファイルで移行

というような手法をとる必要がありました。

しかし、大規模なデータベースの場合、これらの方法は効率的ではありませんし、何回も移行をするという作業には適していませんでした。

この辺がネックになり、PaaS ではなく、IaaS の「SQL Server on Azure VM」を採用したというケースもあるのではないでしょうか。

このような現状に対して「SQL Database Managed Instance」は、オンプレミスの SQL Server のバックアップをリストア可能にしています。
これにより、PaaS で提供されているデータベースへの「リフト & シフト」を容易にしているというのが特徴としてあります。

リストア可能なデータベースは「ユーザーデータベース」のみとなっており、システムデータベースはリストアすることができません。
そのため、ログインや SQL Server Agent のジョブの情報についてはスクリプトでの移行を検討する必要があります。

それでは、ユーザーデータベースのリストアを、どのように実施するのか、流れを見ていきましょう。

Read the rest of this entry »

Written by masayuki.ozawa

4月 21st, 2018 at 11:17 am

PowerShell Core 6.0 に一部対応した SqlServer モジュールの提供が開始されました

leave a comment

クロスプラットフォームに対応した PowerShell である、PowerShell Core 6.0 に一部対応した SQL Server 用のモジュール (SqlServer) の提供が開始されました。

SQL Server 向けの PowerShell については、SSMS 17.0 以降は、PowerShell ギャラリーからインストールを行う方法に代わっています。

SQL Server PowerShell モジュールのインストール

最新版の SQL Server PowerShell モジュールである version 21.0.17240 から、PowerShell 6 Support が含まれるようになりました。

Read the rest of this entry »

Written by masayuki.ozawa

4月 15th, 2018 at 10:14 pm

Posted in SQL Server

Tagged with ,

sys.dm_os_performance_counters でパフォーマンスモニターの情報を取得する際のポイント

leave a comment

何年も前に書いた sys.dm_os_performance_counters の情報取得時の注意点 の補足になります。
なぜ、このタイミングで改めて書いたかというと、sys.dm_os_performance_counters は、SQL Server on Linux で SQL Server のパフォーマンスを確認する際に重要な DMV となるからです。
SQL Database で情報を確認する場合にもこの DMV は重要となりますので、値の成型方法は覚えておいて損はないかと。

詳細については、次の情報も併せて確認してください。

取得用のクエリについては sys.dm_os_performance_counters の加工.sql で、私が作ったものを公開していますので、ご参考になれば。

Read the rest of this entry »

Written by masayuki.ozawa

4月 1st, 2018 at 11:35 pm

Posted in SQL Server

Tagged with

SQL Server on Linux の商用の可用性ソリューション HPE Serviceguard の情報が公開されています

leave a comment

SQL Server on Linux の高可用性ソリューションとしては Pacemaker がドキュメントに記載されているものとなりますが、OSS のため、ベンダーサポートが必要となる環境では利用が難しいケースがあるかもしれません。
(Pacemaker で使用する SQL Server 向けのエージェントについては mssql-server-ha でソースが公開されています)

パートナーから提供されている SQL Server on Linux のソリューションについては、SQL Server の高可用性とディザスター リカバリーのパートナー で公開されており、RHEL / SUSE で使用することができる HPE Serviceguard の各種情報が公開されていました。

Serviceguard は、共有ディスク型の AlwaysOn フェールオーバークラスター と AlwaysOn 可用性グループの両方に対応したソリューションとなっているようです。

実際の動作については、デモ動画が公開されています。

デモだけでなく、ドキュメントも公開されています。

ベンダーサポートが必要となった場合の可用性のソリューションとして覚えておくとよさそうですね。

パッと見た感じ、トライアルが見当たらなかったのですが、トライアルライセンスとかないですかね…。
あれば、どのような動作になるか検証して情報発信したいなと思ったのですが。

Written by masayuki.ozawa

3月 22nd, 2018 at 10:43 pm