FreeTDS を使用しているライブラリ (今回は TinyTds) で SQL Database に接続を行おうとして、WSL 上に実行環境を整えたときにちょっとはまったので、メモを残しておきたいと思います。
Archive for 2月, 2021
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 で起動してしまう
というような状態になってしまい、これを修正した際の方法となります。
レジストリとファイル削除を実施していますので、本投稿を元に作業を実施される際には自己責任で対応をお願いします。