SQL Server 2019 は Kubernetes (k8s) が利用された構成も追加されています。
新しい機能として追加される Big Data Clusters についても、基盤部分は k8s が利用され、その上に様々な役割の Pod が起動することで、大規模データ分析の基盤の構築が行われます。
SQL Server 2012 で追加された AlwaysOn 可用性グループについても SQL Server 2019 では k8s をサポートし、k8s の可用性 / 回復性を使用した SQL Server の冗長構成のクラスターを構築することができるようになりました。
(SQL Server 2017 でも k8s 上に SQL Server をデプロイすることはできたのですが、シングルインタンスとしての利用想定となっており、k8s の仕組みを利用した AlwaysOn 可用性グループの構築については手法が提供されていませんでした)
詳細については、Always On availability groups for SQL Server containers で解説されていますが、構築の流れや構成を軽く見ておきたいと思います
Read the rest of this entry »
Archive for the ‘SQL Server’ Category
AKS を使用した SQL Server 2019 の AlwyasOn 可用性グループの構築
Azure Data Studio の SQL Server 2019 向け拡張機能
Azure Data Studio は、SQL Operation Studio と呼ばれていたソフトの GA 後の正式な名称となります。
SQL Server の管理ツールといえば、SQL Server Management Studio であり、最新の SSMS 18.0 を使用することで SQL Server 2019 に対応した操作が可能となります。
Azure Data Studio についても SQL Server 2019 に対応させることができ、対応させるための拡張機能が公開されています。
SSMS と Azure Data Studio は、利用目的が異なっており、SQL Server の全機能を管理するためには、SSMS を使用し、データベースの管理のみができればよいのであれば Azure Data Studio を使うというように使い分けができるようになっています。
また、Azure Data Studio はクロスプラットフォームに対応しているため、Windows 以外の環境でも利用することが可能という特徴もあります。
(SSMS は今後も Windows 専用のリッチな SQL Server の管理ツールとして提供が行われていきます)
SSMS と Azure Data Studio との比較は、Azure Data Studio for SQL Server で解説されていますので、こちらは一読しておくと良いのではないでしょうか。
で、ここからが本題ないのですが、Azure Data Studio は SQL Server 2019 向けの拡張機能をインストールすることで様々な機能が追加されます。
Read the rest of this entry »
Ignite 2018 の SQL Server 2019 関連のセッション
Ignite 2018 で SQL Server 2019 CTP 2.0 が発表されましたが、たくさんの関連セッションも実施されています。
全て網羅できているわけではないかもしれませんが、SQL Server 2019 に関連するセッションをまとめてみました。
Ignite 2018 のサイトに Tech Community のアカウントでログインすることで、参加していなくてもセッションの内容を確認することができます。
SQL Server のサンプルの Github についても、2019 対応したサンプルが含まれていますので、こちらも確認するとよいかと。
https://github.com/Microsoft/sql-server-samples
Read the rest of this entry »
SQL Server 2019 CTP 2.0 がリリースされました
Ignite 2018 に合わせて、最新の SQL Server である、SQL Server 2019 CTP 2.0 がリリースされました。
- SQL Server 2019 preview combines SQL Server and Apache Spark to create a unified data platform
- SQL Server 2019
- SQL Server 2019 CTP
SQL Server 2017 がリリースされたのが、昨年の 10 月ですので、約 1 年で新しいバージョンの情報が出てきましたね。
SQL Server 2019 の新しい機能については、次の情報で公開されています。
- What’s new in SQL Server 2019
- SQL Server 2019 preview release notes
- Release notes for SQL Server 2019 CTP on Linux
これに合わせて、ツールも新しくなっています。
SSMS 18.0 については、SQL Server 2019 に対応した SSMS であり、Visual Studio 2017 ベースになり、様々な機能追加が行われています。
Azure Data Studio は、プレビューで公開されていた SQL Operations Studio の新しい名称となり、今回のタイミングで GA リリースとなりました。
SQL Server 2019 で追加された Big data Cluster への対応や、Jupyter ノートブックの対応など、今まではついていなかった機能なども含まれるようになっています。
動画
- SQL Server 2019 data sheet
- SQL Server 2019 white paper
- Microsoft SQL Server 2019 and Big Data?a technical white paper
- Introduction to SQL Server 2019
SQL Server 2019 の MS のブログ
- Introducing Batch Mode on Rowstore
- Always Encrypted with Secure Enclaves ? Try It Now in SQL Server 2019 Preview!
- Public Preview of Graph Edge Constraints on SQL Server 2019
- Azure Data Studio for SQL Server
- Introducing Microsoft SQL Server 2019 Big Data Clusters
- SQL Server 2019 preview containers now available
- SQL Server 2019: Celebrating 25 years of SQL Server Database Engine and the path forward
- SQL Server 2019 Preview
SQL Database で実装済みの Intelligent Query Processing について
SQL Server 2017 では、Adaptive Query Processing というクエリ実行の最適化が導入されました。
クエリを再コンパイルすことなく、一部の実行プランの操作を処理対象のデータに適応した形で実行する処理であり、互換性レベル 140 に設定することで、適用される機能となっています。

上記の画像は、ドキュメントから取得したものなのですが、適応対象となる処理は一部のもので、「バッチモード」が対象となっていました。
SQL Server 2017 では、バッチモードで実行されるのは、「列ストアインデックス」が使用される場合となっており、Adaptive Query Processing が適用されるのは、かなり限定的なものとなっていました。
初出は PASS Summit だとおもいますが、これの一歩進んだものが、SQL Database では「Intelligent Query Processing」として、プレビュー機能として提供が行われている、次代の互換性レベルである、互換性レベル「150」で使用することができるようになっています。
Intteligent Query Processin は Adaptive Query Processing を発展させたものであり、従来からの Adaptive Query Processing に加えて、対象が次のように増加しています。
![]()
新たに実装されたのは次の 3 種類となります。
- Approximate Count Distinc
- Row Mode Memory Grant Feedback
- Table Variable Deferred Compilation
7 月の段階で細かな情報が公開されていますが、簡単に動作をまとめて置こうかと。
Read the rest of this entry »
SQL Server のクエリ実行テストをする際に実行タイミングの調整
先日、JMeter で SQL Server の負荷テスト (2018/08 版) という投稿を書きましたが、クエリの実行タイミングの調整もテストを実施する中でポイントとなってきそうなのでこの辺をまとめておきたいと思います。
基本の内容としては、次の内容を見ておくとよいかと。
Azure Database Migration Service で SQL Server のオンラインマイグレーションがプレビューで利用可能になりました
プレビューではありますが、Azure Database Migration Service (DMS) で、SQL Server のオンラインマイグレーションが利用できるようになりました。
アナウンスはこちら。
- Support for SQL Server to Azure SQL Database online migrations
- Announcing Public Preview Availability of Azure SQL Database Online Migration in Azure Database Migration Service
ドキュメントはこちら。
- Migrate SQL Server to Azure SQL Database online using DMS
- Known issues/migration limitations with online migrations to Azure SQL DB
本投稿は、SQL Server → SQL Database へのオンラインマイグレーションですが、この機能のアナウンスがあったタイミングで MySQL についてもオンラインマイグレーションがプレビューで公開されています。
MySQL はこちら。
- Azure Database migration service support for MySQL to Azure Database for MySQL migrations
- Support for MySQL to Azure Database for MySQL online migrations
- Announcing Public Preview Availability of MySQL Online Migration in Azure Database Migration Service
- Online migration from AWS RDS MySQL to Azure Database for MySQL
- Migrate MySQL to Azure Database for MySQL online using DMS
JMeter で SQL Server の負荷テスト (2018/08 版)
かなり前に書いた JMeter で SQL Server の負荷テスト のアップデートとして。
以前に書いた投稿は、2013 年のもので、5 年以上たっていますので、アップデートを交えながら、新たに確認した内容のメモを残しておこうかと。
Read the rest of this entry »
PowerApps で 1 アクションで複数のデータソースにデータの登録を行ってみる
RDBMS を使用したアプリケーションを構築する場合、
- 基本データについては、テーブルに登録
- 画像のような BLOB データについては、外部のデータストアに登録
というような登録方法をすることがあるのではないでしょうか。
PowerApps でもボタンをクリックするという 1 アクションで、データと画像を異なるデータソースに登録することが可能です。
本投稿では、この方法についてみてきたいと思います。
Read the rest of this entry »
PowerApps から SQL Server / Database への一覧検索のクエリの動作を把握する
PowerApps からは、簡単に SQL Server / SQL Database のデータの一覧を取得することができますが、大量のデータを検索する必要がある場合には、データベースに対して、どのようなクエリが実行されているかを把握しておくことが重要です。
PowerApps では「委任」という考え方があり、データ取得に対しての負荷 (データ/ネットワークアクセス)を最小限にするような仕組みが含まれています。
これらの機能によって、どのようなクエリが SQL Server に対して実行されているか確認してみます。
Read the rest of this entry »