SE の雑記

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

Author Archive

ログ配布の復元時に「ユーザーデータベースを切断する」を有効にしても、排他アクセスが取れなくなるケースがあることの原因について

leave a comment

SQL Server の ログ配布 のリストア時の設定として「バックアップの復元時にデータベースのユーザーを切断する」(disconnect_users=1) という設定があります。

image

この設定は、ログ配布でリストアをしているデータベースに対して「スタンバイ モード」を使用してリストアを行い読み取りが可能なデータベースに対して使用することができるオプションとなります。

読み取りが可能な状態でログ配布を使用している場合、ログをリストアする際にログ配布のプロセス (logship.exe) がデータベースを排他的に利用できない場合、リストアを行うことができないため上記のオプションを設定することでリストアの直前に既存の接続を切断することで、ログ配布が排他的にデータベースを設定することができます。

しかし、この設定を有効にしていてログ配布のプロセスが排他的にデータベースを利用することができず、「エラー: データベースは使用中なので、排他アクセスを獲得できませんでした。RESTORE LOG が異常終了しています。(.Net SqlClient Data Provider)」というエラーが発生するケースがあります。

本投稿では「バックアップの復元時にデータベースのユーザーを切断する」を有効にしていても、リストア時の上述の排他エラーが出る理由についてまとめておきたいと思います。

本事象は「スタンバイモード」を使用する場合に発生するものとなり、「復旧モード無し」にしている場合は、リストア状態のデータベースにアクセスすることはできないため、スタンバイモードを利用していない場合には発生しないはずです。

Read the rest of this entry »

Written by Masayuki.Ozawa

1月 8th, 2024 at 11:41 pm

Posted in SQL Server

Tagged with

クエリストアの検証のためクエリストアをエラー状態にする方法

leave a comment

クエリストアの状態については sys.database_query_store_options で情報が公開されています。

操作モードの中には「ERROR」という状態があり、ERROR を解消するためには「sp_query_store_consistency_check」を実行する必要があります。

このストアドプロシージャの動作確認を実状態と合わせて行う場合には、クエリストアの状態を ERROR にする必要があります。

イレギュラーな操作となりますが、クエリストアを意図的に ERROR にすることは可能ですので、操作方法を残しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 25th, 2023 at 9:54 am

Posted in SQL Server

Tagged with

Azure SQL Managed Instance の Free Offer が使用できるようになりました (Public Preview)

leave a comment

Ignite 2023 で、近日提供予定のアップデートとして、Azure SQL Managed Instance の Free Offer についての情報が公開されました。

image

本日、提供についてのアナウンスがあり、Public Preview として使用することができるようになりました。

ドキュメントも公開されています。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 21st, 2023 at 8:39 pm

Posted in Managed Instance

Tagged with

Azure Stack HCI 23H2 プレビュー (25398.584) を展開する際のメモ

leave a comment

Ignite 2023 で Azure Stack HCI 23H2 のプレビューの発表が行われました。

22H2 までは、Azure Stack HCI の展開には、Windows Admin Center (WAC) を使用していましたが、23H2 では展開方法が大きく変わり、Azure Portal (または ARM テンプレート) を使用して展開を行うようになりました。
(Azure Stack HCI の展開時に、にリソースブリッジも同時に展開されるようになり、従来とは展開されるリソースも大きく変わっています)

展開方法については、Azure Stack HCI バージョン 23H2 デプロイの概要 (プレビュー) のドキュメントツリーに記載されていますが、ドキュメントでは把握できないよう / SR で確認できた内容がいくつかありますので、展開時の内容をメモとして残しておきたいと思います。

試行錯誤をしたのですが、単一サーバーの検証環境を展開できるところまでは確認ができました。

image

私の環境では、展開が完了するまで 2 時間近くかかりました。
image

23H2 の展開の前提条件については Azure Stack HCI バージョン 23H2 (プレビュー) のデプロイの前提条件を確認する に記載されています。

今回、単一サーバーの 23H2 の検証環境を構築するに際しては、Intel NUC 9 Pro Kit NUC9VXQNX を 1 台用意し、物理ホストに対して シングルノードの Azure Stack HCI クラスターを展開することで検証環境の構築を実施しています。

 

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 14th, 2023 at 9:52 pm

Posted in Azure Stack HCI

Tagged with

Ignite 2023 で発表された Windows Server v.Next の情報について

leave a comment

先日開催された Ignite 2023 で LTSC 版の Windows Server の次期バージョンとなる、Windows server v.Next (2022 の後継バージョン) についての発表がありました。

最近情報を追い切れていなかったので、どの辺の情報を見ればよいのかをメモとして。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 12th, 2023 at 10:19 am

Azure Arc を使用した SQL Server のメトリック収集 (プレビュー機能)

leave a comment

Ignite / PASS で発表された Azure Arc 対応 SQL Server (Azure Arc Enabled SQL Server) の新機能となる、モニターによるメトリック収集 (パフォーマンスダッシュボード) について情報を残しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 4th, 2023 at 9:52 am

Posted in Azure Arc,SQL Server

Tagged with ,

SQL Server / Azure SQL Update (2023/11: PASS 2023, Ignite 2023)

leave a comment

本日、PASS Data Community SUMMIT 2023 / Ignite 2023 が開催され、SQL Server / Azure SQL の様々な Update が発表されましたのでまとめておこうと思います。

発表の全体については、次の情報から参照することができます。

Ignite 2023

PASS Data Community SUMMIT 2023

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 16th, 2023 at 9:11 am

Posted in Azure SQL,SQL Server

Tagged with ,

クエリストアで取得されるロックを確認する

leave a comment

クエリストアにより情報が取得される仕組みについては クエリ処理 で解説が行われています。

基本的な仕組みとしてはこのドキュメントで解説されている次の図となります。

 

クエリ実行実のいくつかのタイミングでクエリストアの情報にアクセスがされるのですが、処理のタイミングによってはクエリストアに対してロックの取得が行われます。

実行されているワークロードによりますが、クエリストアに対して取得されるロックが同時実行性に影響を与え、クエリストアに関係するロックの解析が必要となるケースがあります。

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 13th, 2023 at 9:12 am

Posted in SQL Server

Tagged with

Azure SQL Managed Instance で 2022 年 11 月の機能ウェーブが展開できるサブスクリプションが増えているようです

leave a comment

Azure SQL Managed Instance の 2022 年 11 月の機能ウェーブに登録する で公開されていますが、Managed Instance では、2022 年 11 月の機能ウェーブという機能強化が行われている環境を使用することができます。

Azure では、Microsoft Azure プランの詳細 で公開されているような様々なプランが提供されており、公開当初は「Dev/Test サブスクリプション」(0023P) のような開発向けのサブスクリプションでのみ使用することができる機能でした。
(2022 年 11 月の機能ウェーブでは、どのような Azure オファーとサブスクリプションの種類が登録されますか? で利用可能なサブスクリプションが記載されています)

現在は、展開可能なサブスクリプションが増えているようで、0023P 以外でも展開ができるようになっているようです。

私が使用できるサブスクリプションとしては、Azure スポンサープラン (0036P)  / 従量課金制 (0003P) / MSDN (0063P) があるのですが、以前はこれらのサブスクリプションでは 2022 年 11 月の機能ウェーブを展開することはできませんでした。

現状、利用可能なサブスクリプションは明記されていないのですが、投稿時点では上記のサブスクリプションでも展開することができるようになっており、直近で展開可能なサブスクリプションが直近で増えたようです。

実際に 0036P のサブスクリプションで Managed Instance を展開したところ 30 分程度で展開することができ、展開後のインスタンスで、インスタンスの停止を行うことができたので、2022 年 11 月の機能ウェーブに対応した環境となっていました。

私の手元では常時起動している Managed Instance がないため、検証ができていないのですが、既存のインスタンスを登録する で既存インスタンスを機能ウェーブに登録する方法が公開されていますので、現在展開済みのインスタンスについても登録ができるようになっているかもしれませんね。

Written by Masayuki.Ozawa

11月 10th, 2023 at 8:38 am

Posted in Managed Instance

Tagged with

SQL Database の PITR の進捗状況について (2023/11 時点)

leave a comment

SQL Database で PITR の進捗状況を確認する方法として、次の DMV を確認するという方法があります。

この DMV では「percent_complete」という項目が提供されており、この値から操作の進行状況を取得することができます。

当初は「0 / 50 / 100」の 3 段階で進行状況を示していたのですが、昨年、Monitor Database Restore progress at more granular level のような機能改善が行われ、「0 / 1-99 / 100」というように操作の進行状況に合わせた値の表示が行われるようになったというアナウンスがありました。

Read the rest of this entry »

Written by Masayuki.Ozawa

11月 7th, 2023 at 9:57 am

Posted in SQL Database

Tagged with