FreeTDS を使用しているライブラリ (今回は TinyTds) で SQL Database に接続を行おうとして、WSL 上に実行環境を整えたときにちょっとはまったので、メモを残しておきたいと思います。
SQL Server の Microsoft 提供のサンプル / ツール
SQL Server / SQL Database
Workshop / Lab
- SQL Server and Azure SQL Labs and Workshops
- Workshop: SQL Server 2019 Workshop
- Workshop: SQL Server 2019 on OpenShift
- Workshop: Kubernetes – From Bare Metal to SQL Server Big Data Clusters
- Workshop: Architecting SQL Server Big Data Cluster Solutions on Red Hat OpenShift
- Workshop: Microsoft SQL Server Machine Learning Services
- SQL Server Linux and Container Labs
- Lab: SQL Server 2019
- SQL Server hybrid cloud
- Modernizing Data Analytics with SQL Server 2019 (Archived)
- Windows Server and SQL Server 2008 R2 end of support planning (Archived)
Big Data Cluster
ML Service
- Microsoft Machine Learning R Templates with SQL Server ML Services / ML Server
- SQL Server ML tutorial
- DataStoriesSamples
- r-server-dotnet-visualizing-sql-azure-data-in-r
- Campaign Optimization – Predicting How and When to Contact Leads
- Microsoft SQL Server Language Extensions
- sqlmlutils
SSRS
SSMA
Spatial Data
Performance Diagnostics
- SQL Nexus
- Pssdiag/Sqldiag
- CSS SQL Server Support Tools
- mssql-monitoring
- SQL Server Linux のモニタリング
- DBFS (Archived)
SQL Edge
PowerShell DSC
Development
.NET
- Microsoft.Data.SqlClient
- SQL Management Objects
- SQL Server Tutorials Documentation Contributor Guide
- GraphView
Development Tools
SQL Server Driver
- Microsoft Drivers for PHP for Microsoft SQL Server
- Microsoft JDBC Driver for SQL Server
- Apache Spark Connector for SQL Server and Azure SQL
SSMS
Django
Synapse Analytics (Synapse Studio) でファイアウォール設定の挙動を確認する際のメモ
SQL Server の待機事象を一歩踏み込んで確認するための手法 (コールスタックの解析)
SQL Server では、「待機事象 (Wait Stats)」の情報を確認することで、インスタンスで同時実行性を低下させる問題が発生しているかの確認をするという分析手法があります。
SQL Server でクエリ実行の処理 (タスク) を実行する際には、タスクは次の状態を遷移しながら処理が行われます。
この 3 種類の状態の中で「待機状態」に入っている時間が少なければ、他の処理により同実行性を低下させることなく、処理を実行することができていることになります。
SQL Server のクエリオプティマイザーを学習するための資料
SQL Server のクエリの最適化を行うための、コンポーネントであるクエリオプティマイザーについて学習しようと思った際にはどのような資料を確認すればよいでしょうか?
公式のドキュメントや、公開されているドキュメントでかなり Deep なものがあり、この機会に公開情報をまとめておきたいと思います。
SQL Server のクエリオプティマイザーの情報というと「実行プラン」から確認するというようなイメージを持つことがあるかもしれませんが、Tree / Memo / 変換ルール というような情報を確認することで、クエリオプティマイザーに一歩踏み込んだ学習をすることができます。
2021/1 の SQL Server / SQL Database 関連の更新情報
2021 年に入ってからの更新です。
SQL Server IaaS Agent 拡張機能を使用して SQL Server on Azure VM の管理性を向上させる (2021/2 最新情報)
先日、次のような投稿を書きました。
Azure の仮想マシン (Azure VM) で SQL Server を使用する際には、SQL Server IaaS Agent 拡張機能 (IaaS エージェント) (以下、IaaS Agent) という、Azure の仮想マシン上で実行している SQL Server の管理性を向上させる機能を無償で使うことができます。
IaaS Agent をインストールすると、仮想マシンにインストールしている SQL Server を「SQL 仮想マシン」というブレードで一元管理できるようになりますので、サブスクリプション内でどのような SQL Server を使用しているかもひと目で確認でき、管理面でもいろいろと便利です。
先日の投稿では、日本語環境の SQL Server として再インストールした場合の、IaaS Agent の再導入方法と、IaaS Agent の機能の一つである、自動バックアップについて触れましたが、IaaS Agent にはこれ以外の機能も豊富に含まれており、次のような機能を利用することができます。
- BYOL / AHUB (AHB) / SA の DR 特典のライセンスモデルをVM の再構築をすることなく変更が可能
- エディション / バージョン変更をした場合の VM の課金の変更
- SQL Server に適したストレージの設定
- ポータルからストレージを拡張
- OS / SQL Server の重要なパッチについて、スケジューリングして適用が可能
- SQL Server の暗号化機能の暗号化キーを Key Vault に格納し、管理性を向上
- インスタンス内の全データベース (今後、作成されるデータベースを含む) を自動的にバックアップ
- 高可用性環境の構築をポータルから実施可能
投稿内にも記載していますが、サブスクリプション内の現在の VM および、今後展開する VM すべてを自動登録 のように、SQL Server がインストールされている仮想マシンが存在する場合には自動的に登録を行う機能もありますので、保持しているサブスクリプションでは、有効にしておけば、IaaS Agent の登録の抜けもないかと思います。
自動登録は、仮想マシンの再起動が不要な「軽量管理モード」での導入が基本となっていますので、稼働中の SQL Server に IaaS Agent がインストールされていない場合でも、再起動のリスクはなく、導入することができます。
軽量管理モードで利用可能な機能はライセンスモデル / エディション / バージョンの変更の機能のみとなりますが、SQL 仮想マシンのブレードによる一元管理は使用できますので、軽量管理モードでインストールするだけでも管理性は向上するかと。
Azure の仮想マシンで SQL Server を実行する場合、IaaS Agent を導入することで、適切なライセンスを使用していることの宣言にもつながりますので、SQL Server を Azure 仮想マシン上で実行する際には、自動登録の機能も活用しながら、原則導入するようにしておいた方がよいかと。
本投稿では、IaaS Agent でできることを一通り記載しましたが、運用 / 構築に関してのかなりの作業の容易性が向上するための機能を無償で使用することができます。
また、本投稿は、日本で SQL Server を利用する際には設定する機会が多いと思われる、SQL Server の日本語化を SQL Server on Azure VM (インストール済みイメージ) の日本語化 (2021/1 版) の手順で実施した環境で、確認をしていますので、IaaS Agent の各機能は日本語環境でも利用することが可能です。
SQL Server Management Studio が英語版で起動するようになった場合の回避策
日本語版の SQL Server Management Studio をインストールしているにもかかわらず、英語版の SSMS が起動するようになった場合の回避方法です。
私の場合は、Azure の SQL Server インストール済み VM の展開をしていて、
- 初期で導入されている英語版の SSMS を起動
- 英語版の SSMS をアンインストールし日本語版の SSMS をインストール
- SSMS を起動しても英語版の UI で起動してしまう
というような状態になってしまい、これを修正した際の方法となります。
レジストリとファイル削除を実施していますので、本投稿を元に作業を実施される際には自己責任で対応をお願いします。
PASS クローズ後に SQL Server 関連の情報のキャッチアップするには
SQL Server の最大のユーザーグループであった PASS (Professional Association for SQL Server) が 2021/1/15 にクローズとなり、今年から、SQL Server の情報をキャッチアップする場所にも変化が出てくるのではないでしょうか。
PASS のクローズにより SQLSaturday もクローズとなっており、ユーザー主体のイベントの実施状況にも影響が出てくるかと思います。
sqlpass.org / pass.org / sqlsaturday.com のドメインで運営されていたものは、今回のクローズに伴い閉鎖されており、2021/1/15 以降は、これらのドメインで公開されていたコンテンツにはアクセスができなくなっています。
SQLSaturday の豊富なコンテンツが検索サイトでヒットしなくなるのは大きな痛手ですね…。
(一部のコンテンツについては、各スピーカーの方が、個別にアップロードしてくださっていたりもしますので、すべてが参照できなくなったわけではないようですが)
PASS クローズ後に、SQL Server 関連の情報をキャッチアップするためには、どのサイトを確認するのが良いかについて、まとめておきたいと思います。
2021/1/26 時点の情報ですので、今後、状況が変化する可能性があるということはご了承ください。
2021/1/29 追記
Community news: We are delighted to announce that PASS and SQLSaturday assets have been acquired by @redgate. You can check out the details here: https://t.co/9qtKPhvTg6 #sqlpass #sqlsaturday #sqlfamily pic.twitter.com/EO5byHUuOT
— Redgate (@redgate) January 28, 2021
PASS の資産ですが、Redgate が取得されたようです。
PASS が保有していたコンテンツも取得されており、これらをどのように取り扱うかは検討されているようです。
Redgate は SQL Server の製品 / コミュニティともかかわりが深い企業ですので、PASS が保有していたコンテンツの取り扱いについては、Redgate が取得されたことで一安心かなと思っています。
Redgate の PASS 関連のニュースについては Looking for PASS or SQLSaturday? に登録をしておくとメールが流れてきますので、その情報を参考にするとよいのではないでしょうか。
Azure Arc enabled SQL Server にちょい足しする
Azure Arc enabled SQL Server (Azure Arc 対応 SQL Server) をインストールすることで、Azure 以外で稼働している SQL Server を Azure 上で管理 / Azure の一部の機能の管理性を提供することができるようになります。
インストールしただけの状態でも、いくつかの管理機能を使用することができますが、「SQL Server の運用」を考慮した場合、ちょい足しすると便利になる箇所がありますので、本投稿では、そのちょい足しの一例を紹介したいと思います。
今回は Azure Arc enabled SQL Server の環境で実施していますが、enabled SQL Server ではなく、SQL Server がインストールされている環境に、Log Analytis エージェントをインストールすることでも同様のことは実現できます。