SE の雑記

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

Archive for 3月, 2022

Windows Server 2008 R2 SP1 に最新の Windows Update を適用する

leave a comment

検証用に Windows Server 2008 R2 SP1 の素の状態 (初期状態) の OS を準備し、Windows Update を実行しようとしたところ、「0x80072EFE」が発生し、Windows Update を実行することができませんでした。

image

Windows Server 2008 R2 SP1 は、サポートライフサイクル終了していますが、Windows Server 拡張セキュリティ更新プログラム (ESU) についても、2 年間の期間は終了しているのですが、Azure 上で動作させる場合は、3 年間の ESU が提供されるため、2023/1/13 までは、セキュリティ更新プログラムが提供されることになります。

今後、Windows Server 2012 / SQL Server 2012 も ESU の対象となりますが、現時点で ESU を確認できるのは 2008 , R2 になり、この辺の動作を確認しておきたくて、ESU の適用前に、Windows Server 2008 R2 SP1 を最新化しておこうと思ったのが今回の調査の始まりです。

今回は Azure VM で ESU を確認することを目的としていますが、Azure Stack HCI の Azure Benefits も、Azure 特典を HCI で有効にするという作業がありますが、考え方としては似ていると思います。(Azure / Azure Stack HCI 以外の環境 (オンプレミス / Azure VMware Solution) は ESU のキーに入れ替える必要があるので、もうひと手間かかります)

 

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 31st, 2022 at 10:31 am

SQL Server-based environment updates

leave a comment

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 22nd, 2022 at 10:53 am

Intel NUC11TNHv70L で Azure Arc Enabled VMware vSphere の検証環境を構築してみる

leave a comment

Intel の NUC である NUC11TNHv70L (i7 の vPro 搭載の DUAL NIC モデル) で Azure Arc Enabled VMware vSphere の検証環境を構築した際のメモを遺しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 20th, 2022 at 4:46 pm

Azure VMware Solution (AVS) を調査する際に事前に確認しておくとよい情報

leave a comment

タイトルの件を調べる機会がありましたので、情報としてどの辺を見ればよいのかをまとめておきたいと思います。

VMware の基礎スキルが不足していたため、Azure 以外の公開情報も確認してみると参考になることがありましたので、Azure にこだわらず関連しそうな情報は Azure 以外のクラウドでも確認しておくと良さそうだと感じました。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 20th, 2022 at 10:24 am

Posted in VMware

Tagged with

SQL Server の初期設定の照合順序 (Japanese_CI_AS / SQL_Latin1_General_CP1_CI_AS) で、Unicode 文字を操作する場合に気を付けておきたいとこ

leave a comment

SQL Server / SQL Database を使用しており設定を初期状態で使用していると、インスタンス / データベースの照合順序は、

  • Japanese_CI_AS : 日本語環境のデフォルト
  • SQL_Latin1_General_CP1_CI_AS : 英語環境のデフォルト

のいずれかを使用しているケースが多いのではないでしょうか?

これらの照合順序は列レベルの照合順序の初期設定として、引き継がれますので列の比較をする際の挙動にも影響をしてきます。

照合順序については、次のドキュメントの内容を確認することになります。

  • 改行されていないスクリプトを確認したい場合はこちら
  • Collation and Unicode Support
  • SQL Server では Unicode の文字の比較を考慮する際には、照合順序の次のような内容を意識する必要があるのではないでしょうか。

    • サポートされる Unicode のバージョン
    • Unicode コードポイント
    • 比較時の重み

    SQL Server では、nchar / nvarchar / char (UTF-8 サポートあり) / varchar (UTF-8 サポート) を使用することで、Unicode の文字列を格納することができ、どの照合順序を使用していてもこれらのデータ型を使用している場合は、次のようなエンコードで文字を格納することができます。

    • nchar / nvarchar : UCS-2 / UTF-16
    • char (UTF-8 サポートあり) / varchar (UTF-8 サポートあり) : UTF-8

    ただし、格納と文字の比較は別であり、照合順序の設定によって「格納はできても想定した比較結果にならない」ということがあります。

    日本語圏で考えた場合、

    • 新しい Unicode のバージョンで追加された文字
    • サロゲートペア
    • 異体字

    というような設定が関係し、「新しい Unicode のバージョンで追加された文字」については、「基本多言語面 (BMP)」である「000000 – 00FFFF」に追加されることもありますので、BMP の範囲の文字についても、照合順序の設定によっては正しく比較されないことがあります。

    Unicode の情報については、https://home.unicode.org/ から確認することができ、Unicode のバージョンや、文字のコードポイントを確認する場合には、次の情報を使用するとよいのではないでしょうか。

     

    SQL Server は文字の格納については、Unicode をサポートしたデータ型を使用していれば、柔軟にデータを登録することができますが、データの比較 については、照合順序の設定が大きく影響してきます。

    本投稿では、以前のバージョンの照合順序となる BIN / Unicode は使用しない前提で記載していますので、バイナリ照合順序といえば BIN2 となり、Unicode サポートの照合順序といえば、照合順序名に Unicode がついていないものを前提としています。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    3月 17th, 2022 at 8:10 pm

    Posted in SQL Server

    Tagged with

    SQLBits 2022 で Azure SQL のアップデートの発表がありました

    leave a comment

    ロンドンで開催されている SQLBits 2022 というイベントで MS のセッションで Azure SQL のアップデートの発表が行われたようです。

    発表内容については、Azure SQL News Update | Data Exposed Live @SQLBits 2022 で動画が公開されています。

    機能追加としては、SQL Managed Instance の MI Link が Public Preview になったことが大きいかと思います。

    同時期には、次のような記事も公開されていますのでこれらの情報も確認してみるとよいかと思います。

    SQLBits のキーノートとして実施された Level Up with Azure Data については、SQLBits の Youtube に公開されています。

    このセッションの中で、SQL Server 2022 の Public Preview についても触れられ、2022 年の 1Q の終わりまでに、公開が行われる計画となるようです。

    image

    以下のブログの記事もとても参考になりますので、こちらも確認しておくとよいのではないでしょうか。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    3月 13th, 2022 at 9:22 pm

    Azure SQL Managed Instance の リンク機能 (MI Link) で SQL Server 2019 とデータ同期を実施してみる

    leave a comment

    SQLBits 2022 でアナウンスがありましたが、SQL Server から Azure SQL Managed Instance (MI) とデータ同期をするための機能となる、Azue Managed Instance のリンク機能 (Link feature for Azure SQL Managed Instance / Managed Instance Link) が Public Preview となりました。

    SQL Server 2022 と同時にこの機能のアナウンスも行われていたのですが、当初は Limited Preview となり限定されたプレビューでの公開となりました。(アナウンス時の情報は、Managed Instance link – connecting SQL Server to Azure reimagined となります)

    今回、Public Preview となり、任意の環境で検証ができるようになりましたので、情報をまとめておきたいと思います。

     

    追記

    Tech Community でもアナウンスが行われました。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    3月 12th, 2022 at 10:17 pm

    SQL Server のロール設定によるロック競合 / デッドロックについての情報

    leave a comment

    SQL Server のロール設定をした際のロック競合とデッドロックについての調査をしていた際に見つけた情報として、次のようなものがありました。

    どちらも同一の情報がベースとなっており、HashiCorp の Vault と SQL Server の組み合わせた場合のデッドロックの発生となるようですが、情報としてはとても興味深い内容となっていました。

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    3月 10th, 2022 at 11:23 pm

    Posted in SQL Server

    Tagged with

    SQL Server 2022 で廃止となる機能の一部がアナウンスされました

    leave a comment

    The path forward for SQL Server analytics で発表されましたが、SQL Server 2022 で SQL Server 2019 までで実装されていた機能の一部の廃止 (Retirement) がアナウンスされています。

    Today, we are announcing changes to SQL Server analytics which includes:

    • Customer feedback
    • Retirement of SQL Server 2019 Big Data Clusters
    • Retirement of PolyBase scale-out groups
    • Path forward

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    3月 7th, 2022 at 9:38 am

    統計情報を使用した非パーティションテーブルのエクスポートデータの分割

    leave a comment

    SQL Server のデータをエクスポートする場合、大規模データをエクスポートする場合はいくつかのデータに分割してエクスポートを行うことで、

    • ファイル当たりのエクスポートデータのサイズ調整
    • データに問題があった場合の再抽出
    • データの並列ローディング

    というようなメリットがあるのではないでしょうか?

    PolyBase のような機能では、パーティションテーブルに対してのアクセスについては、パーティション単位にスレッドを分散させてデータアクセスを行っており、何らかの論理空間で分割が行われている場合は、「パーティション単位でデータをエクスポートする」というように、複数のエクスポートデータを容易に生成することができます。

    それでは「非パーティションテーブル」ではどのような方法を使用することで、エクスポートデータを分割することができるでしょうか?

    以前投稿した、Database Migration Assistant (DMA) で SQL Server から SQL Database へのデータ移行方法について にも関連する内容となるのですが、非パーティションテーブルを複数のエクスポートデータに分割したい場合、「統計情報を使用する」というアプローチをとることができますので、本投稿で紹介させていただきます。

    タイトルには、「非パーティションテーブル」と書きましたが「パーティションテーブル」でも使用できます。(パーティションと統計情報のヒストグラムを組み合わせるとさらに細かな単位でデータを分割できるかと)

    Read the rest of this entry »

    Written by Masayuki.Ozawa

    3月 2nd, 2022 at 6:22 pm

    Posted in SQL Server

    Tagged with