SE の雑記

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

Archive for the ‘SQL Server’ Category

Ignite 2021 で SQL Server 2022 がアナウンスされました

leave a comment

Ignite 2021 で、SQL Server v.Next となる、SQL Server 2022 がアナウンスされました。

Ignite 2021 Book of News では次のように紹介されています。

SQL Server 2022 is the most cloud-connected release of the product yet, integrating with Synapse Link and Azure Purview to enable customers to drive deeper insights, predictions and governance from their data at scale. Cloud integration is easier than ever before with high availability and disaster recovery (HA/DR) live migration without downtime, along with no-ETL (extract, transform and load) connections to cloud analytics, which allow database administrators to manage their data estates with greater flexibility and minimal impact to the user. Performance and scalability are automatically enhanced via built-in intelligence. There is choice and flexibility across languages and platforms, including Linux, Windows and Kubernetes.

Learn more about this update.

Ignite でのアナウンスに伴い、SQL Server 2022 について、次の記事 / 動画が公開されています。SQL Server 2022 の製品ページも公開されており、データシートが提供されています。

記事

動画 (Youtube)

製品ページ / データシート

EAP の登録

現時点では、EAP (Early Adoption Program) に登録する必要のある Private Preview での公開となっているため、入手できる情報は限定されていますが、動画でどのような機能が追加されるのかは解説が行われています。

EAP の登録については こちら から実施することができます。

現時点では、Public Preview ではないため、ドキュメントは公開されていませんので、SQL Server 2022 の特徴については、What’s new in SQL Server 2022 / Download the SQL Server 2022 datasheet から確認を行うとよいのではないでしょうか。

Ignite 2021 のセッション

Ignite 2021 でも SQL Server 2022 に関連するセッションが開催されていますので、これらのセッションも合わせて確認するとよいかと思います。

 

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 3rd, 2021 at 12:18 am

Windows Server 2022 がサポートする SQL Server のバージョン

leave a comment

Windows Server 2022 がリリースされて数か月経過し、SQL Server のサポートバージョンについての情報が一通り更新されたようですのでまとめておこうかと。

結論を先に書いておくと SQL Server 2017 RTM 以降がサポート対象となり、SQL Server 2016 はサポートされないようです。

Windows Server 2022 のサポートライフサイクルについては、 こちら に記載されており、10 年間のサポートは次のようになっています。

  • メインストリームサポート終了 : 2026/10/13
  • 拡張サポート終了 : 2031/10/13

image

 

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 19th, 2021 at 2:35 pm

Posted in SQL Server

Tagged with

SQL Server 2019 CU13 で Last Writer Win の Write-Write レプリケーションが使用できるようになりました

leave a comment

先日、SQL Server 2019 CU13 がリリースされました。

CU13 に含まれる内容の中に次の機能があります。

SQL Server 2019 CU13 では、ピアツーピアレプリケーションで、データ競合時に Last Writer Wins による競合の解決ができるようになったことと、可用性グループでピアツーピアレプリケーションがサポートされるようになりました。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 7th, 2021 at 11:10 pm

SQL IaaS Agent 拡張機能がアップデートされています

leave a comment

Azure の VM (仮想マシン) でインストールタイプの SQL Server を使用する場合、SQL IaaS Agent 拡張機能を使用することで、IaaS の運用負荷を軽減させることができる様々な機能を無料で利用することができます。

Azure の VM で SQL Server をインストールする場合には、Marketplace の SQL Server インストール済みイメージを使用することが胃のではないでしょうか。Marketplace のイメージを展開する際には、「SQL Serer の設定」のタブで、SQL Server 向けの設定を行うことができますが、この時の設定を行ってくれているのが SQL IaaS Agent 拡張機能となります。

image

利用できる機能については、Azure portal を使用して SQL Server VM を管理する で紹介されている様々な内容となるのですが、この IaaS Agent 拡張機能でいくつかのアップデートが行われていたようなので本投稿で紹介したいと思います。

SQL IaaS Agent 拡張機能について知りたい場合には、次のドキュメントを確認するとよいかと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

10月 6th, 2021 at 8:14 pm

Posted in SQL Server

Tagged with

ACR と Helm と SQL Server のメモ

leave a comment

ACR に格納した Helm のチャートで SQL Server の展開を行おうとした場合のメモ。

AKS on HCI でも一部の展開には Helm が使用されているので、概要はつかんでおかないとと思った次第です。

この辺の情報を取り掛かりにすれば、手を動かすことはできそうです。

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 30th, 2021 at 9:16 am

SQL Server でデータが格納されているテーブルに外部キー制約を設定する場合に実行されているクエリ

leave a comment

SQL Server で既にデータが格納されているテーブルに外部キー制約 (Foreign Key Constraint) を設定する際に、デフォルトの設定で外部キーを設定した場合、「WITH CHECK」が既定の動作となるため、テーブル間でデータ整合性のチェックが行われています。

このチェックの際には、どのようなクエリが実行されているのかを本投稿でメモとして残しておきます。(以前から書こうと思っていて忘れていた内容)

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 27th, 2021 at 8:30 pm

Posted in SQL Server

Tagged with

変更の追跡 (Change Tracking) のクリーンアップについて

leave a comment

SQL Server では、変更の追跡 (Change Tracking) を使用することで、変更されたデータの主キーの項目を追跡することができます。

変更の追跡は、データベースレベルで保持期間の設定を実施することができます。

image

データの保持期間を設定することができ、「自動クリーンアップ」の設定を行うことができ、クリーンアップの挙動については、変更の追跡のクリーンアップ に記載されています。

クリーンアップについて調べる機会があったので、調べた内容をまとめておこうと思います。

最初に結論を書いておくと、

  • 変更の追跡のクリーンアップを手動で制御することはできない
  • 自動クリーンアップが有効になっていないと、変更の追跡のデータを削除できない

となると思います。

変更の追跡の詳細な動作については、次の記事を参照するとよいと思います。

手動でクリーンアップを実施したい場合については、次のドキュメントの内容が参考になります。(トラブルシューティングを実施する際に必要となる情報が多数記載されています)

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 26th, 2021 at 3:34 pm

Posted in SQL Server

Tagged with

SQL Server で Seek によりREAD COMMITTED で 1 行取得する際には行ロックが必ず取得されるということではないというお話

leave a comment

SQL Server で C1 をクラスター化インデックスとして設定されている次のようなテーブルがあるとします。

image

SQL Server のデフォルトの READ COMMITTED 分離レベルが設定されている状態に対して、次のクエリを実行した場合にどのようなロックが取得されるのかというのが本投稿の内容です。(SQL Server のデフォルトの動作であるため、READ COMMITTED SNAPSHOT ISOLATION (RCSI) は無効の状態です)

SELECT * FROM [dbo].[CT_01] WHERE C1 = 100001

 

C1 に対してクラスター化インデックスが設定されていますので、「C1 = 100001」のレコードに対して、Key Lock (行ロック) が取得されると思うかもしれませんが、「取得されているロックの状態で変わり、Key Lock が取得されないこともある」が答えとなります。

取得されているロックの状態によっては、上記の SELECT を実行した際に Key Lock は取得されず、データの検索が行われることもあります。

本投稿では、Clustered Index Seek により、ピンポイントで 1 件のデータを取得する場合に、必ず Key Lock が取得されるという考えは誤りですということを書いておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 25th, 2021 at 2:13 pm

Posted in SQL Server

Tagged with

SQL Server 2016 SP3 で DNN がサポートされるようになりました

leave a comment

SQL Server では、AlwaysOn 可用性グループ / FCI (Failover Cluster Instance) で、DNN (分散ネットワーク名 : Distributed Network Name) という接続方法を使用することができます。

この接続方法を使用すると、Azure の IaaS で可用性環境を作成する際に Azure Load Balancer を使用せずに、接続のためのエンドポイントを作成することができます。(オンプレミスで DNN を使用することもでき、この場合は、エンドポイント用の仮想 IP を用意せずに接続ができるようになります)

この機能ですが、各バージョンの SQL Server の初期状態から使用することができるのではなく、累積修正プログラムを適用することで使用することができるようになります。

この DNN を使用した接続ですが、SQL Server 2016 については、先日リリースされた SP3 で AlwaysOn 可用性グループ / FCI のサポートが開始されました。

2021/9/20 時点では、Windows Server 2019 と次のバージョンの SQL Server で DNN がサポートされています。

AlwaysOn 可用性グループ

KB4578579 – Improvement: Availability Group listener without the load balancer in SQL Server 2016, 2017 and 2019

FCI

KB4537868 – Improvement: Enable DNN feature in SQL Server 2016 and 2019 FCI

2021/9/20 時点では、SQL Server 2017 で FCI の DNN のサポートが行われていないようですね。

Written by Masayuki.Ozawa

9月 20th, 2021 at 8:35 pm

Posted in SQL Server

Tagged with

SQL Server 2019 on Windows の Language Extension で .NET 5 C# が動作するようになりました

leave a comment

Open sourcing the .NET 5 C# Language Extension for SQL Server で発表がありましたが、SQL Server 2019 から使用することができるようになった Language Extension で .NET 5 C# が使用できるようになりました。

今回のアナウンスは、次のアナウンスの続きにあたるものになるのではないでしょうか。

 

SQL Server では、このような機能を使用したデータ分析を Advanced Analytics と呼ぶこともありますが、機能を活用することで、標準の T-SQL では難しい分析を行うことが可能となります。

今回の C# の発表を読みながら、この領域の情報をまとめてみたいと思います。

使用方法のステップバイステップについては GitHub のコンテンツを参照すると実際に試すことができます。

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 12th, 2021 at 4:31 pm

Posted in SQL Server

Tagged with