以前、次の投稿で並列クエリになるようにする調整方法を投稿しました。
最近、これらの情報を確認する機会がありましたので、改めて情報を整理しておきたいと思います。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
以前、次の投稿で並列クエリになるようにする調整方法を投稿しました。
最近、これらの情報を確認する機会がありましたので、改めて情報を整理しておきたいと思います。
SQL Server で分散トランザクションを実行する場合、MSDTC (Distributed Transaction Coordinator) を使用して実現を行います。
SQL Server on Linux の当初は MSDTC をサポートしていなかったのですが、SQL Server 2017 CU16 以降は、MSDTC がサポートされ、以下の情報の設定を実施することで SQL Server on Linux でも MSDTC を使用することができるようになりました。
SQL Server on Linux で MSDTC を動作させる際の関連情報をまとめておきたいと思います。
SQL Database / SQL Server 2025 では、JSON データ型 をサポートしており、JSON フォーマットのデータを格納するための専用のデータ型を使用することができます。
JSON データ型は「Latin1_General_100_BIN2_UTF8」の照合順序により UTF-8 のエンコードが使用されるという特徴の他に「圧縮用に最適化された、より効率的なストレージ」もメリットとして挙げられています。
通常の文字列データ型と比較して、JSON データ型がどの程度ストレージの格納効率が変化するのかが気になったので、SQL Database で確認してみました。
SQL Server ベースのデータベースエンジンで統計情報の自動更新が発生した際の情報を取得するための方法についてまとめておきたいと思います。
昨年、Azure Local 22H2 から 23H2 へのアップグレードの Tips ? その 1 ? という投稿を書きました。
その後、時間が取れずアップグレードの検証が継続できていなかったのですが、今日、時間をとることができアップグレードを最後まで実行することができました。
追加の Tips を残しておきたいと思います。
SQL Server のバックアップをシステムデータベースを含めて、バックアップの取得元と異なるサーバーにリストアする際には、次の情報を参考にする機会が多いのではないでしょうか。
異なるサーバーにバックアップをリストアする際にはこれらの情報を参考にしてデータベースのリストアとリストア後の設定変更を行っていきます。
バックアップの取得元でレプリケーションが有効となっていた場合も、この作業だけでリストアを完了することができるのかを調査してみました。
概念検証として実施したため、T-SQL ベースで設定を強制的に変更している箇所がいくつかありますが、実運用環境で実施する際にはレプリケーションの再設定で検討をしたほうが良いかと思います。
SQL Server では、バックアップを取得したサーバー以降のバージョンの SQL Server であれば、異なるサーバー名の環境に対してもデータベースのバックアップをリストアすることができます。
バックアップを取得した環境にリストアする場合は問題ないのですが、他のサーバーにリストアをした際に、データベースの所有者が設定されていない状態になることがありますので、すべてのデータベースに所有者が設定されているかの確認と修正方法を本投稿で記載しておきたいと思います。
本投稿と同様の事象が発生した場合の 2025/01/27 時点の暫定対応方法です。SR で確認中のため今後、本投稿の対応は不要となる可能性があります。
Azure SQL のワークロード監視をする機能として、Database Watcher があります。
Database Watcher では、Azure Data Explorer (ADX) ベースの環境をデータストアとして使用し、Azure SQL の各種状態を保存します。
データベース ウォッチャーの価格 に記載されていますが、Database Watcher 自体は無償で利用でき、Free Azure Data Explorer (ADX) Cluster を使用した場合、ADX には 機能の比較 に記載されている制限がありますが、データストアについても無償で使用することが可能です。
以前は Azure Portal から Free ADX Cluster を使用する設定ができていたのですが、私の環境では設定することができず、他の方法で設定する必要があったのでその際の作業内容を残しておきます。
Datadog では SQL Server ベースの環境の情報を取得するための Integration が含まれており、データベースの各種情報を取得することができます。
Microsoft 純正の機能としては、Azure Arc Enabled SQL Server / Database Watcher といった機能がありますが、現時点では Datadog で取得される情報のほうが網羅性 / 拡張性があると感じています。
Datadog で SQL Server ベースの環境の情報を取得する際には Dataodg エージェント経由で情報の取得を行うことになりますが、エージェントは OSS として開発が行われており、頻繁に更新が行われています。
エージェントの更新状況は、GitHub のリポジトリから確認をすることになると思います。
SQL Server の Integration の更新状況を含めて確認をする際には、いくつかの情報を確認するひつようがありますので、どの情報を確認すればよいかをまとめておこうかと。
今まで、SQL Server のバージョンアップ / SQL Server ベースの環境間の移行に使用することができるツールとして、Data Migration Assistant (DMA) というツールが提供されていました。
しかし、2024/06/29 にドキュメントの更新が行われ、DMA は非推奨の機能となりました。
データベースの移行については Azure Data Studio の SQL Migration 拡張機能 で代替することが可能なのですが、データベースの評価については Azure Data Studio (ADS) の機能は DMA よりリッチな機能となっておらず、この部分を代替する機能が提供されていない状態となっていました。