Windows 版の SQL Server であれば、SQL Server の各種情報をパフォーマンスモニター経由で取得 / ロギングすることができますが、Linux ではパフォーマンスモニターは使用することができないため、ほかの方法で SQL Server のパフォーマンス情報の取得を検討する必要があります。
方法の一つとして、collectd を使用して取得することができるかと。
今回は、collectd で取得した情報を OMS 連携して、パフォーマンス情報の取得を実施してみます。
詳細については、Log Analytics で Linux エージェント上の CollectD からデータを収集する を参照して下さい。
本投稿は、Ubuntu の環境で試したものとなっています。
また、collectd の SQL Server の設定については、mssql-monitoring の設定を使用しています。
Read the rest of this entry »
Archive for the ‘SQL Server on Linux’ tag
OMS + collectd を使用した SQL Server のパフォーマンス情報の収集
SQL Server on Linux の syslog を OMS に連携してみる
SQL Server on Linux の ERRORLOG に出力されるようなメッセージについては syslog にも出力されるようになっています。
Azure の OMS では、syslog を連携することもできるため、Linux に OMS エージェントをインストールすることで、syslog を連携することができます。
Log Analytics の Syslog データ ソース
実際に連携した際の画面が次の画像になります。
現状、facility が daemon、severity が info の情報として出力されるため、次のような設定を OMS で実施することで受け取ることができるようになるかと。
Linux 版の bcp と sqlcmd の日本語対応状況のメモ
SQL Server on Linux 向けのコマンドラインとして、Windows 版の SQL Server でも実装されている「bcp」「sqlcmd」は、Linux 向けもリリースされていますが、日本語の扱いが Windows 版と少し異なる点がありますので簡単にではありますがまとめてみました。
各コマンドの Linux 版の詳細については、次のドキュメントから確認することができます。
私が検証した限りでは、次の操作は気を付けておく必要があるかと。
- 日本語名のテーブルの bcp を使用したエクスポート
- bcp のデフォルトの改行コードが LF となる
bcp のドキュメントに次のように記載されているので、CP932 の扱いは都度確認したほうがよいかなと。
このリリースでは、Latin-1 および UTF-16 文字がサポートされています。
Linux の SQL Server に対して、Windows 環境から bcp / sqlcmd を実行した場合は従来通りの動作となるかと。
Read the rest of this entry »
SQL Server on Linux の可用性グループで手動フェールオーバーを実施した際に必ず意識しておきたいこと
リリース当初からドキュメントがかなり更新されており、ビジネス継続性とデータベース復旧 – SQL Server on Linux からの一連のドキュメントを確認しておけばよいはずではありますが、個人的に引っかかったところを。
可用性グループでしか試していませんが、FCI (Failover Cluster Instance) の構成を手動フェールオーバーした場合も同様かと思います。
詳細については SQL Server on Linux の HA 可用性グループを操作します。SQL Server on Linux の HA 可用性グループを操作します。 を確認してください。
このドキュメント、CTP のリリース時点から大幅に情報が加筆されていますので、プレビューリリース当初に目を通しただけの方は、再度情報を確認した方がよいかと思います。
Read the rest of this entry »
SQL Server 2017 の on Linux における分散トランザクションのサポート状況について
Linux 上の SQL Server 2017 のリリース ノート に次のような記載があります。
Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux. SQL Server to SQL Server linked servers are supported unless they involve the DTC. For more information, see Distributed transactions requiring the Microsoft Distributed Transaction Coordinator service are not supported on SQL Server running on Linux.
2017/12 末時点の SQL Server 2017 on Linux では、DTC がサポートされておらず、ローカルトランザクションによるトランザクションについては、サポートされていますが、DTC を使用したトランザクションについてはサポートされていません。
(ローカルトランザクションはサポートされているので、同一サーバー内の複数の DB に対してのトランザクションはサポートされています)
これについては、AlwaysOn 可用性グループの DTC サポート (DTC_SUPPORT = PER_DB) についても含まれているようで、Linux 版については、可用性グループの分散トランザクションサポート についても該当することになるかと思います。
Read the rest of this entry »