SE の雑記

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

Archive for the ‘SQL Server 2019’ tag

Windows Server 2019 を使用した Azure Files による SQL Server のログ配布の構成

leave a comment

先日投稿した、Azure VM で AD を使用しない AlwaysOn 可用性グループを Windows Server 2019 と SQL Server 2019 で構築する で、New high availability and disaster recovery benefits for SQL Server に触れました。

SQL Server 2019 では、SA の特典として、 DR 環境を Azure 上に構築することもサポートされており、これについては 新機能 のマトリクスにも記載されています。
(Failover servers for disaster recovery / Failover servers for disaster recovery in Azure が新しい特典となっていますので、Azure 以外でも DR 用のレプリカは得点を使用して作成できるはずです)

image

詳細な情報については、次の情報から確認することができます。

DR 環境については、次のように定義されています。
DR レプリカは、非同期レプリカのパッシブレプリカでありマニュアルフェールオーバーにより障害発生時に切り替えを行う環境であるとされています。

Disaster Recovery replica is defined as a passive replica setup as asynchronous replica with manual failover.

詳細については ライセンスガイド に記載されています。

A passive SQL Server replica is one that is not serving SQL Server data to clients or running active SQL Server workloads.
The passive failover instances can run on a separate server.
These may only be used to synchronize with the primary server and perform the following maintenance-related operations for the permitted passive fail-over Instances:
• Database consistency checks
• Log Back-ups
• Full Backups
• Monitoring resource usage data

Customer may also run primary and the corresponding disaster recovery replicas simultaneously for brief periods of disaster recovery testing every 90 days.

クライアントにアクティブなワークロードを提供することはできませんが、一部のメンテナンスに関連する作業については実施できる環境がパッシブレプリカとして定義されています。

 

DR レプリカを作成する際には、SQL Server の機能を用いて、データの複製を行うことになりますが、SQL Server のビジネス継続性を高めるための機能については ビジネス継続性とデータベースの復旧 – SQL Server で解説されているように、いくつかの機能を用いることが可能です。

同一ゾーン内の冗長構成については、同期レプリカで各レプリカが密結合となりますが、DR 用途のレプリカについては、遠隔地の DR 環境については疎結合で構築をしておいた方が、利便性が高いケースもあるのではないでしょうか。

そこで、今回は ログ配布 の構成を Azure Files を使用して実装したパターンをまとめてみたいと思います。
ログ配布は定期的にプライマリで取得されているバックアップを、セカンダリでリストアするという方式となり、AlwaysOn 可用性グループの同期レプリカと比較して、各環境には独立性があり疎結合なデータ同期環境として構築することができます。

今回の構成については、Windows Server 2019 の機能を使用していますので、使用可能な OS については限定されます。

なお、現時点で最新のバージョンである SQL Server 2019 では CU1 を適用しても、次のエラーが発生します。

セカンダリでログ配布のリストアは実施されるのですが、ファイルのコピーやリストア時に、メッセージの記録でエラーになり、次のようなエラーが出力されるという現象が発生します。
(エラーが発生することでメッセージが記録されなくなり、セカンダリ側の過去ファイルの削除が行われないという状況が発生します)

2020-01-26 19:39:15.16  ----- START OF TRANSACTION LOG RESTORE   -----
2020-01-26 19:39:15.23  Starting transaction log restore. Secondary ID: '119eefbf-d7ad-49db-9a9c-894358d89154'
2020-01-26 19:39:15.24  *** Error: Could not log history/error message.(Microsoft.SqlServer.Management.LogShipping) ***
2020-01-26 19:39:15.24  *** Error: パラメーター値を SqlGuid から String に変換できませんでした。(System.Data) ***
2020-01-26 19:39:15.24  *** Error: オブジェクトは IConvertible を実装しなければなりません。(mscorlib) ***
2020-01-26 19:39:15.24  Retrieving restore settings. Secondary ID: '119eefbf-d7ad-49db-9a9c-894358d89154'

設定の妥当性を検証するため、2017 RTM でも試したのですが、2017 RTM では発生しませんでした。

SQL Server 2019 でログ配布を使用する場合は、既知の問題のようですので、以降の CU を待つとよいかと思います。

Read the rest of this entry »

Written by masayuki.ozawa

1月 26th, 2020 at 9:46 pm

Posted in SQL Server

Tagged with ,

Azure VM で AD を使用しない AlwaysOn 可用性グループを Windows Server 2019 と SQL Server 2019 で構築する

leave a comment

SQL Server 2019 では SA (ソフトウェア アシュアランス : Software Assurance) の特典として、DR 用のレプリカを Azure 上に構築することがライセンスとして許容されるようになります。
(Failover servers for disaster recovery in Azure ではなく、Failover servers for disaster recovery というオンプレミスに DR を構築するパターンも新しい特典としてあります)

image

この SA 特典の詳細については、ライセンスガイド に詳細に記載されています。
従来まで、SA の特典として、プライマリのコアライセンスで、HA 用途の Passive Secondary を構築することができましたが、今回からは、新しくプライマリのコアライセンスで、DR 用途の Passive Secondary も構築ができるようになっています。

この特典ですが、「オンプレミスと Azure のどちらにも DR 環境を構築することができる」特典となっているようです。
次の図は、ライセンスガイドの P29 の図を引用したものとなりますが、プライマリのコアライセンスだけで、次のような構成も組むことが可能となるようです。

SQL Server の可用性機能としては AlwaysOn 可用性グループを構築するケースが多いですが、最新の OS (Windows Server 2019) と最新の SQL Server (SQL Server 2019) を使用した場合、どのような構成で SQL Server on Azure VM を構築することができるのか検証した一環の内容が本投稿になります。

Windows Server 2016 と SQL Server 2016 以降でも設定はできると思いますが検証はしていません。

久しぶりに Azure VM で AlwaysOn を組んだのですが、TP3 で Azure 上でワークグループクラスターを構築し、その上に CTP 2.4 のAlwaysOn を構築してみる で検証したときとは、ところどころ変わっているもんですね。

Azure 上で AG を構築する際には次のドキュメントを参照しておくと作業がスムーズに進むかと思います。

 

Read the rest of this entry »

Written by masayuki.ozawa

1月 25th, 2020 at 4:31 pm

Posted in SQL Server

Tagged with ,

SQL Server 2019 が GA しました!!

leave a comment

SQL Server 2019 が RTM (製品出荷版) となり、GA (一般提供開始) されました!!

アナウンス

製品ページ

  • SQL Server 2019
    • 製品のコンセプトとして、「Apply intelligence across all your data with SQL Server 2019」が提示されていますね。

各種ガイド

動画 / Webinar

機能学習用コンテンツ

Ignite 2019 関連セッション

 

Read the rest of this entry »

Written by masayuki.ozawa

11月 4th, 2019 at 11:25 pm

Posted in SQL Server

Tagged with ,

SQL Server 2019 のエディション情報

leave a comment

SQL Server 2019 Standard Edition Feature Limitations Are Out で知ったのですが、SQL Server 2019 のエディションについての情報が公開されているようです。

GA 前の公開情報のため、記載内容が変更されるかもしれませんが、各エディションでどのような機能が使用できるようになるのかの目安になるのではないでしょうか。

Editions and supported features of SQL Server 2019 (15.x)

Read the rest of this entry »

Written by masayuki.ozawa

10月 20th, 2019 at 4:12 pm

Posted in SQL Server

Tagged with ,

SQL Server 2019 関連の書籍

leave a comment

SQL Server 2019 も RC1 が提供され、GA (一般提供) に向けて、着々と開発が進められているかと思います。
洋書にはなるのですが、SQL Server 2019 関連のものがいくつかリリース予定となっていますので、備忘録を兼ねて。

洋書はサブスクリプションモデルで閲覧できたり、$10 でセールをしている時があったりしますので、お得な購入方法がいろいろあるかと。
(Safari Books Online のサブスクリプションで見れる書籍の中にも入っていたかと)

Microsoft Press

Apress

PacktPub

Written by masayuki.ozawa

10月 14th, 2019 at 9:18 pm

Posted in SQL Server

Tagged with ,

db tech showcase 2019 に登壇しました

leave a comment

この投稿が公開されたときには登壇中だと思いますが、セッションで使用した資料については、SlideShare で公開しています。

後日、db tech showcase のサイト でも資料と動画が公開される予定ですので、実施したデモなどに関しては後日公開の動画からご確認ください。

Written by masayuki.ozawa

9月 25th, 2019 at 12:56 pm

Accelerated Database Recovery を実現するために使用されている Persistent Version Store について

leave a comment

SQL Database / SQL Server 2019 では、Accelerated Database Recovery (ADR : 高速データベース復旧) という機能が追加されています。

この機能は、予測可能な一定時間でのデータベースの回復 (Constant Time Recovery : CTR) を実現するために実装されたものであり、次のようなことを実現することができるようになります。

  • 大量のトランザクションのロールバックの高速化
  • SQL Server サービス起動時のデータベース復旧の高速化
  • トランザクションログの積極的な切り捨て

ADR を実現するために、SQL Server では新しく次のような概念が入っています。

  • Persistent Version Store (永続化バージョンボリュームストア) : PVS
  • Secondary Log Stream : sLog

この中の PVS について、調べる機会がありましたので、調べた内容をまとめておきたいと思います。

ADR の詳細については、Accelerated Database Recovery in SQL Server 2019 か、Microsoft が公開している論文の Constant Time Recovery in Azure SQL Database で解説されています。
(論文の方はまだ半分ぐらいまでしか読めておらず…)

Read the rest of this entry »

Written by masayuki.ozawa

8月 24th, 2019 at 9:02 pm

Posted in SQL Server

Tagged with ,

SQL Server 2019 RC1 が公開されました

leave a comment

月次で公開されている SQL Server 2019 の新しい Preview ですが、CTP (Community Technical Preview) から RC (Release Candidate : 製品候補版) に変わり、First RC となる RC1 が公開されました。

アナウンスはこちらから

ドキュメントはこちらから

2019/8/29 に Big Data Cluster も RC1 がリリースされました。

Read the rest of this entry »

Written by masayuki.ozawa

8月 22nd, 2019 at 10:00 am

Posted in SQL Server

Tagged with ,

SQL Server 2019 CTP 3.2 がリリースされました

leave a comment

公式でアナウンスが出ていますが、SQL Server 2019 CTP 3.2 がリリースされています。

細かな内容はこちらから。

Read the rest of this entry »

Written by masayuki.ozawa

7月 25th, 2019 at 9:50 am

Posted in SQL Server

Tagged with ,

SQL Server 2019 CTP 3.1 で追加された OPTIMIZE_FOR_SEQUENTIAL_KEY の効果を確認してみる

leave a comment

SQL Server 2019 CTP 3.1 のデータベースエンジンの新機能として「OPTIMIZE_FOR_SEQUENTIAL_KEY」というインデックスのオプションが追加されました。

image

このオプションは、インデックスへの挿入を行う際に発生する Last page insert によるページラッチの競合を改善する効果のあるオプションとなっています。

詳細については、CREATE INDEX のヘルプの Sequential Keys に記載されています。

Read the rest of this entry »

Written by masayuki.ozawa

7月 1st, 2019 at 12:15 am

Posted in SQL Server

Tagged with ,