SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘SQL Server’ Category

SQL Server の Microsoft 提供のサンプル / ツール

one comment

SQL Server / SQL Database

Workshop / Lab

Big Data Cluster

ML Service

SSRS

SSMA

Spatial Data

Performance Diagnostics

SQL Edge

PowerShell DSC

Development

.NET

Development Tools

SQL Server Driver

SSMS

Django

Written by Masayuki.Ozawa

2月 20th, 2021 at 3:34 pm

SQL Server の待機事象を一歩踏み込んで確認するための手法 (コールスタックの解析)

leave a comment

SQL Server では、「待機事象 (Wait Stats)」の情報を確認することで、インスタンスで同時実行性を低下させる問題が発生しているかの確認をするという分析手法があります。

SQL Server でクエリ実行の処理 (タスク) を実行する際には、タスクは次の状態を遷移しながら処理が行われます。

image

この 3 種類の状態の中で「待機状態」に入っている時間が少なければ、他の処理により同実行性を低下させることなく、処理を実行することができていることになります。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 14th, 2021 at 8:01 pm

SQL Server のクエリオプティマイザーを学習するための資料

leave a comment

SQL Server のクエリの最適化を行うための、コンポーネントであるクエリオプティマイザーについて学習しようと思った際にはどのような資料を確認すればよいでしょうか?

公式のドキュメントや、公開されているドキュメントでかなり Deep なものがあり、この機会に公開情報をまとめておきたいと思います。

SQL Server のクエリオプティマイザーの情報というと「実行プラン」から確認するというようなイメージを持つことがあるかもしれませんが、Tree / Memo / 変換ルール というような情報を確認することで、クエリオプティマイザーに一歩踏み込んだ学習をすることができます。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 11th, 2021 at 10:24 pm

2021/1 の SQL Server / SQL Database 関連の更新情報

leave a comment

2021 年に入ってからの更新です。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 3rd, 2021 at 11:10 pm

SQL Server IaaS Agent 拡張機能を使用して SQL Server on Azure VM の管理性を向上させる (2021/2 最新情報)

leave a comment

先日、次のような投稿を書きました。

Azure の仮想マシン (Azure VM) で SQL Server を使用する際には、SQL Server IaaS Agent 拡張機能 (IaaS エージェント) (以下、IaaS Agent) という、Azure の仮想マシン上で実行している SQL Server の管理性を向上させる機能を無償で使うことができます。

IaaS Agent をインストールすると、仮想マシンにインストールしている SQL Server を「SQL 仮想マシン」というブレードで一元管理できるようになりますので、サブスクリプション内でどのような SQL Server を使用しているかもひと目で確認でき、管理面でもいろいろと便利です。

image

先日の投稿では、日本語環境の SQL Server として再インストールした場合の、IaaS Agent の再導入方法と、IaaS Agent の機能の一つである、自動バックアップについて触れましたが、IaaS Agent にはこれ以外の機能も豊富に含まれており、次のような機能を利用することができます。

  • BYOL / AHUB (AHB) / SA の DR 特典のライセンスモデルをVM の再構築をすることなく変更が可能
  • エディション / バージョン変更をした場合の VM の課金の変更
  • ストレージ構成の変更
    • SQL Server に適したストレージの設定
    • ポータルからストレージを拡張
  • 自動修正によるパッチ適用
    • OS / SQL Server の重要なパッチについて、スケジューリングして適用が可能
  • 暗号化機能の暗号化鍵の Key Vault 統合
    • SQL Server の暗号化機能の暗号化キーを Key Vault に格納し、管理性を向上
  • 自動バックアップ
    • インスタンス内の全データベース (今後、作成されるデータベースを含む) を自動的にバックアップ
  • Always On 可用性グループの構成 (プレビュー)
    • 高可用性環境の構築をポータルから実施可能

     

    投稿内にも記載していますが、サブスクリプション内の現在の 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 の各機能は日本語環境でも利用することが可能です。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    2月 3rd, 2021 at 5:32 pm

    SQL Server Management Studio が英語版で起動するようになった場合の回避策

    leave a comment

    日本語版の SQL Server Management Studio をインストールしているにもかかわらず、英語版の SSMS が起動するようになった場合の回避方法です。

    私の場合は、Azure の SQL Server インストール済み VM の展開をしていて、

    1. 初期で導入されている英語版の SSMS を起動
    2. 英語版の SSMS をアンインストールし日本語版の SSMS をインストール
    3. SSMS を起動しても英語版の UI で起動してしまう

    というような状態になってしまい、これを修正した際の方法となります。

    レジストリとファイル削除を実施していますので、本投稿を元に作業を実施される際には自己責任で対応をお願いします。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    2月 3rd, 2021 at 11:11 am

    Posted in SQL Server

    Tagged with

    ADO のドキュメント

    leave a comment

    たまに調べようと思って、どのドキュメントを見ればよいかを忘れてしまうのでまとめておこうと。
    ADO.NET ではなく、VBScript 等で使用される懐かしの ADO (Microsoft ActiveX Data Object) の方です。

    現在、ADO を使用する場合、VBScript / WSH から使用することが多いかと思います。
    昨今の環境でこれらの IDE については、VbsEdit を使用すると良いのではないでしょうか。

    WSH については次のドキュメントで。
    一部は VBA のドキュメントですが。

    ASP のページを見ることで思い出すこともあるのでこちらも。

    ADO… 何もかも、みな懐かしい…。

    Written by Masayuki.Ozawa

    1月 20th, 2021 at 8:16 pm

    Posted in ADO,SQL Server

    Tagged with ,

    SQL Server IaaS Agent 拡張機能の自動バックアップ機能について

    leave a comment

    SQL Server on Azure VM で実行している SQL Server では、SQL Server IaaS Agent 拡張機能 を使用することができます。
    この拡張機能を使用することで、Azure VM (仮想マシン) 上で実行している SQL Server の運用の利便性を向上させることができ、今回、話題にする「自動バックアップ機能」につても、利便性を向上させることができる機能の一つとなっています。

    この自動バックアップ機能について、少し調べる機会がありましたので、自動バックアップ機能の構成についてまとめておきたいと思います。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    1月 17th, 2021 at 3:19 pm

    SQL Server on Azure VM (インストール済みイメージ) の日本語化 (2021/1 版)

    leave a comment

    Azure の Marketplace で公開されている SQL Server on Azure VM のイメージは、英語版の環境で構築されているため、日本語環境相当で利用するためには、いくつかの設定が必要となります。

    MS ブログでも次の情報として公開が行われています。

    基本的な作業については、上記の内容となるのですが、SQL Server on Azure VM も上記の情報の公開後から、いくつかの機能が追加されていますので「Marketplace のインストール済みイメージの展開相当の状態」にするには、上記のドキュメントの他に、いくつかのポイントがあります。

    必要となる作業とポイントについては、本投稿でまとめていますが、そもそもとして「本当に日本語版の SQL Server を使用する必要があるのか?」は意識しておいた方がよいかと思います。

    インスタンスレベルの照合順序を日本語版の SQL Server の照合順序 (Japanese_CI_AS や Japanese_xxxxx 系) にする必要があり、英語版の SQL Server を使用しても問題ないのであれば、VM 展開直後に サーバーの照合順序の設定または変更 でインスタンスレベルの照合順序を変更したほうが楽です。

    本投稿では「SQL Server 2019 on Windows Server 2019」の「SQL Server 2019 Enterprise on Windows Server 2019 Databas Engine Only」の Marketplace のイメージを日本語化するシナリオで記載しています。

    image

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    1月 13th, 2021 at 4:52 pm

    Posted in Azure,SQL Server

    Tagged with ,

    SQL Server のページラッチ (PAGELATCH) の必要性

    leave a comment

    SQL Server では、「メモリにロードされた (バッファ上にキャッシュされた) ページ (データ領域)」を保護するための機構として、「ページラッチ (PAGERATCH)」というリソースを保護するための機能があります。

    公式ドキュメントとしては SQL Server でラッチの競合を診断および解決する で解説が行われています。(こちらのドキュメントは以前は英語のホワイトペーパーとして公開されていたものが、Docs で翻訳されたものになるかと)

    本ブログではページラッチについて、あまり取り扱ったことが無かった気がするので、この機会にまとめておこうかと。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    1月 12th, 2021 at 11:48 pm