SE の雑記

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

Archive for the ‘SQL Server’ tag

SQL Server 2019 CTP 2.3 がリリースされました

leave a comment

マンチェスターで開催されている SQLBits 2019 のキーノートで SQL Server 2019 CTP 2.3 のリリースがアナウンスされ、モジュールや情報が公開されています。

Windows 版のダウンロードは こちら から実施することができ、Linux / Docker のリポジトリについても 2.3 がリリースされているようです。

SQL Server 2019 CTP 2.3 で追加された機能については、次のリンクから確認できます。

公式情報としてもいくつかのアナウンスが出ています。

Read the rest of this entry »

Written by masayuki.ozawa

3月 2nd, 2019 at 2:55 pm

Posted in SQL Server

Tagged with ,

SQL Server 2019 の新機能の ハイブリッドバッファープールを試してみる

leave a comment

SQL Server 2019 では新機能として、ハイブリッド バッファー プール (Hybrid Buffer Pool) という機能が新しく追加されます。

ドキュメントベースではなんとなく動作を理解できていたのですが、実際の動作を確認できていなかったので、軽くではありますが動作を試してみました。

Read the rest of this entry »

Written by masayuki.ozawa

2月 21st, 2019 at 11:52 pm

Posted in SQL Server

Tagged with ,

DMV の情報を定期的に取得して時系列データを作成する

leave a comment

簡単な PowerShell のスクリプトですが Collect-QueryInfo というツールを公開しました。
このツールを使用すると、定期的に DMV の情報を SQL Server のデータベースに格納することができます。

これによりどのような情報の解析が可能となるかを見ていきたいと思います。
情報の取得元の SQL Server のバージョンは SQL Server 2012 以降となっています。

Read the rest of this entry »

Written by masayuki.ozawa

2月 17th, 2019 at 11:47 pm

Posted in SQL Server

Tagged with

SQL Server でステートメントレベルでキャッシュから実行プランを取得

leave a comment

SQL Server でプランキャッシュから実行プランを取得する場合、「sys.dm_exec_query_plan」を用いて、クエリの実行プランの取得を行うことが一般的ではないでしょうか。

このテーブル値関数ではプランハンドルを渡すことで、プランキャッシュから実行プランを取得することができます。
この時、取得される実行プランは「バッチ全体」のプランとなっています。

Read the rest of this entry »

Written by masayuki.ozawa

2月 17th, 2019 at 1:53 pm

Posted in SQL Server

Tagged with

拡張イベントと DMV を活用したセッション情報の取得

leave a comment

SQL Server のクエリの動作確認を実施していて、

  • 自クエリが使用した CPU 時間等の取得
  • 発生した待ち事象の取得
  • 取得されたロック情報の取得

を確認したいと考えたことはないでしょうか?

拡張イベント (xEvent) と、DMV を活用することで、これらの情報を取得することができます。

SQL Server 2012 以降であればこの仕組みを使用することができるはずです。
「本番環境での利用」は一切考慮しておらず、「開発環境でクエリの動作を確認すること」を目的としていますので、実行する環境には注意してください。

Read the rest of this entry »

Written by masayuki.ozawa

2月 17th, 2019 at 12:02 am

Posted in SQL Server

Tagged with

SQL Server IaaS Agent 拡張機能が日本語版の SQL Server に対してもサポートされるようになりました

leave a comment

Azure の仮想マシンで SQL Server を利用する際に、管理タスクを自動化することができる「SQL Server IaaS Agent 拡張機能」が、SQL Server インストール済みイメージに対して、日本語版の SQL Server をインストールした場合にもサポートされるようになりました。

Azure 仮想マシン上に作成した SQL Server の日本語化手順(Windows OS 版 SQL Server 2017 対応手順)

ただし、SQL Server Agent 拡張機能 (Resource Manager) による Azure Virtual Machines での管理タスクの自動化 に記載されているように SQL Server インストール済みイメージを使用した場合のみサポートされる状況には変わりがなさそうですので、この点は注意が必要かと。

注意

SQL Server IaaS Agent 拡張機能は、SQL Server VM ギャラリー イメージ (従量課金制またはライセンス持ち込み) でのみサポートされます。 SQL Server を OS のみの Windows Server 仮想マシンに手動でインストールする場合や、カスタマイズされた SQL Server VM VHD をデプロイする場合、この拡張機能はサポートされません。 そのような場合は、PowerShell を使用して拡張機能を手動でインストールおよび管理できる可能性がありますが、Azure Portal には SQL Server の構成設定が表示されません。 ただし、代わりに SQL Server VM ギャラリー イメージをインストールしてカスタマイズすることを強くお勧めします

SQL Server IaaS Agent 拡張機能は、以下の 2 種類のサービスで構成されています。

image

これらのサービスが SQL Server に対してアクセスできるようにする必要があるのですが、一番手っ取り早いのは SQL Server IaaS Agent 拡張機能を再インストールすることかと思います。

アンインストールについては、ポータルの拡張機能から実施することができますし、PowerShell でも削除することができます。
image

Remove-AzureRmVMSqlServerExtension -ResourceGroupName "<リソースグループ名>" -VMName "<VM 名>" -Name "SqlIaasExtension"

インストールについてはポータルからは実施することができませんので、PowerShell でインストールする必要があります。

Set-AzureRmVMSqlServerExtension -ResourceGroupName "<リソースグループ名>" -VMName "<VM 名>" -Name "SqlIaasExtension" -Version "2.0" -Location "<リージョン>"

 

Azure のゲストエージェント経由でインストールが行われ、IaaS Agent は Local System のサービスとして動作するため、SQL Server に対して接続が可能となっており、SQL Server にアクセスし、NT Service\SQLIaaSExtensionQuery のログインの作成などが実施されています。

(「NT Service\SQLIaaSExtensionQuery」は「sysadmin」のログインとなっています)

インストールが完了すると、ポータルの仮想マシンのブレード内に「SQL Server の構成」が表示され、様々な設定を行うことができるようになります。

image

IaaS Agent は、SQL Server の管理の利便性を向上させることができますので、日本語版の SQL Server のインストールを実施した場合もサポートされるようになったのはうれしいですね。

Azure での SQL Server 仮想マシンのライセンス モデルを変更する方法 を実施するためにも IaaS Agent が必要となりますので、このライセンス変更を日本語版の SQL Server を使った場合に実施できるようになったことも大きな改善点ではないでしょうか。

Written by masayuki.ozawa

2月 3rd, 2019 at 11:35 pm

2019/2 の丸わかり 1 日セミナーの申し込みが始まっています

leave a comment

毎月開催している丸わかり 1 日セミナーの 2019/2 の申し込みが始まっていました。

申し込みは こちら から。

4 セッションのうち、3 セッションは私が担当させていただき、次の内容についてお話をさせていただきます。

  • SQL Server 2019
  • Managed Instance
  • SQL Server マイグレーション

公開されている最新情報をお持ち帰りいただくことをゴールとしているので、前日に公開された情報なども、可能な範囲でではありますが、口頭で補足させていただいたり、参加いただいた方には私のセッション資料は DL できるようにしており、その中で補足ができるようにはしております。

4 時間という長めの時間ではありますが、この機会に最新の情報を、ぜひお持ち帰りください m(_ _)m

Written by masayuki.ozawa

1月 29th, 2019 at 10:00 am

SQL Server でコネクションプールによる接続となっていることを確認してみる

leave a comment

定期的に SQL Server にクエリを実行するアプリを作っていたところ、コネクションプール利用を誤っていて、TIME_WAIT の接続を大量に残してしまうということをやらかしてしまいました orz

コネクションプールの管理はアプリケーション側になると思いますが、SQL Server 観点でコネクションプールによる接続かどうかを確認する方法もありますので今回はその方法を紹介したいと思います。

Read the rest of this entry »

Written by masayuki.ozawa

1月 26th, 2019 at 11:17 pm

Posted in Go,SQL Server

Tagged with ,

SQL Server 2019 CTP 2.2 の Big Data Cluster を支えるソフトウェア

leave a comment

SQL Server 2019 の新機能である Big Data Cluster は Kubernetes 上に展開された SQL Server on Linux をインタフェースとして、Hadoop のエコシステムを活用することができるデータ分析基盤になります。

いままで触ってこなかったソフトウェアが大量に含まれていたので、軽くまとめた一覧を。
コンポーネントが多いので、HDInsight のように、まとまった情報が欲しいですね。

役割

ソフト

バージョン

URL

実行基盤

Kubernetes

1.10 以降

https://kubernetes.io/

リバースプ
プロキシ

nginx

nginx version: nginx/1.10.3 (Ubuntu)

https://nginx.org/en/

https://nginx.org/en/docs/

データ
分析基盤

Apache Hadoop

Hadoop 2.9.1
(HDP :
2.6.4.0-91)

https://hadoop.apache.org/

http://hadoop.apache.org/docs/current/

 

Apache Hive

1.2.1

https://hive.apache.org/

https://cwiki.apache.org/confluence/display/Hive/LanguageManual

 

Apache Livy

0.5.0

https://livy.incubator.apache.org/

 

Apache Spark

2.3.1

https://spark.apache.org/
https://spark.apache.org/docs/latest/

認証
セキュリティ

Apache Knox

1.1.0

https://knox.apache.org/

https://knox.apache.org/books/knox-1-1-0/user-guide.html

 

Apache Ranger

0.7.0.2.6.4.0-9

https://ranger.apache.org/

ログ収集
分析基盤

Fluent Bit

Fluent-Bit v0.13.5

https://fluentbit.io/

https://docs.fluentbit.io/manual/

 

Kibana

6.3.1

https://www.elastic.co/jp/products/kibana

https://www.elastic.co/guide/en/kibana/current/index.html

 

Elastic Search

6.3.2

https://www.elastic.co/jp/products/elasticsearch

https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

 

Grafana

Version 5.2.2
(commit: aeaf7b2)

https://grafana.com/

http://docs.grafana.org/

 

InfluxDB

1.5.3

https://www.influxdata.com/

https://docs.influxdata.com/influxdb/

 

Telegraf

1.6.0

https://www.influxdata.com/
https://docs.influxdata.com/telegraf/

 

Collectd

5.5.1

https://collectd.org/

https://collectd.org/documentation.shtml

プロセス
コントロール

Supervisor

3.2.0

http://supervisord.org/

Written by masayuki.ozawa

1月 24th, 2019 at 9:40 am

Posted in SQL Server

Tagged with ,

Attunity Replicate for Microsoft Migration のサポートマトリクスが当初より変更されています

leave a comment

Attunity Replicate for Microsoft Migrations の活用アセスメント や、海外のイベントで紹介されていた、利用期間が限定されており、移行のサポートマトリクスが限定的な Attunity Replicate for Microsoft Migration ですが、アナウンスされた当初とは、移行のサポートマトリクスが変更となっているようです。

当初は冒頭に記載したブログの内容のように「Microsoft 製品以外から、Microsoft が提供する Database への移行」をサポートしていました。

image

最新の情報は、Attunity Replicate for Microsoft Migration から確認できるのですが、サポートマトリクスが次のように変更となっています。

image

SQL Server から SQL Server の移行にも対応したようですね。
以前は、Attunity Replicate for Microsoft Migration では、ソースとして SQL Server を選択することができなかったはずなのですが、最新のバージョンですと SQL Server からの移行をサポートしています。
(実際に、SQL Server 2008 R2 から、SQL Server 2019 に移行することができました)

このソフトは永続的に使用することはできず、利用可能な期間については、Read about the Attunity Replicate for Microsoft Migrations program に次のように記載されています。

*Attunity Replicate for Microsoft Migrations is limited to database migrations only and cannot be used as a standalone product similar to Attunity Replicate. Database migrations should be completed within a twelve-month period. The twelve month’s use limitation per data migration will be implemented and governed by means of the applicable end user license agreement. This program expires June 30, 2019.

データシートには「2019/6/30まで」が使用期間として記載されていますが、こちら「2019/12/31」まで利用することができるそうです。
(フォーラムで質問した際の回答ですので、利用者の責任において利用可能期間はきちんと確認するようにしてください。)

ライセンス的には「データベースの同期」の目的ではなく、「デーベースの移行」の目的で使う必要があるとなっていますので、移行が完了した際にはデータの同期は外す必要があるので、利用目的についてはご注意ください。

Written by masayuki.ozawa

1月 16th, 2019 at 12:54 pm