SE の雑記

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

Archive for 8月, 2022

SQL Server Standard Edition のメモリリソースの制限を Express Edition で確認する

leave a comment

SQL Server は SQL Server 2016 SP1 からエディション間の機能差が緩和され、従来までは Enterprise Edition でしか使用できない機能の一部が、空以外のエディションでも利用できるようになりました。

また、SQL Server 2014 / SQL Server 2016 では、Standard Edition で使用可能なハードウェアリソースについても上限が緩和されました。

  • SQL Server 2014
    • メモリサイズ: 64 GB -> 128 GB
  • SQL Server 2016
    • CPU コア数: 4 ソケットまたは 16 コアのいずれか小さいほう -> 4 ソケットまたは 24 コアのいずれか小さいほう
    • 以降、投稿を書いている時点で GA している最新バージョンの SQL Server 2019 まで同一のリソース上限です

SQL Server 2012 では、次のようになっていました。

  • CPU コア数: 4 ソケットまたは 16 コアのいずれか小さいほう
  • メモリサイズ: 64 GB

最新の SQL Server にすると、ハードウェアリソースの上限もだいぶ変わりますね。

2012 ~ 2016 までのサポート機能は次の情報から確認することができます。

SQL Server 2012 から最新の SQL Server に移行する場合、Standard Edition でも使用可能なリソース / 機能が増えているため、現行は Enterprise を使用していても移行後は Standard を使用するという選択肢をとることもあるのではないでしょうか。

Standard を使用する場合、よく聞かれる質問が「128 GB 以上のメモリを搭載していて意味があるか?」というものです。

SQL Server が使用するメモリと OS / SQL Server 以外のアプリケーションが使用するメモリを考慮すると、128 GB 以上のメモリを踏査することの意義は十分にあるのですが、実際に SQL Server Standard Edition でどの程度メモリが使用できるのかの実際の値をとることについては、128 GB を超えるメモリを搭載している環境の準備が難しいので実施してはいませんでした。

メモリリソースの制限ですが、Express Edition でもサイズは異なりますが、上限が設定されています。

  • メモリサイズ: 1,410 MB

Standard Edition の上限を超えるメモリの環境を用意できなくても Express Edition の 1.4 GB のメモリ制限がどのように動作するかを確認することで、Standard Edition のメモリ制限がどのように動作するのか把握することができます。

詳細な情報については、次の技術情報を確認してください。

現在の SQL Server のドキュメンでは最大メモリは「インスタンスごとのバッファプールの最大メモリ」という記載になっており、過去のバージョンの SQL Server では、異なる記載になっていますが、これは、

The memory consumed by caches outside buffer pool is not restricted by above memory limits and can grow up to limits defined by "max server memory". This is not specific to SQL Server 2016 SP1 and is also applicable to earlier releases of SQL Server as well.

となっており、基本的な考え方はそれより前のバージョンの SQL Server も同様となります。(表現方法が変わっただけで動作は同一)

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 31st, 2022 at 8:59 pm

Posted in SQL Server

Tagged with

Microsoft.Data.SqlClient 4.0 以降で SQL Server に接続する際の暗号化オプション

leave a comment

先日、Microsoft.Data.SqlClient 5.0 がリリースされました。

新機能については、次の情報からも確認することができます。

4.0 の破壊的変更に含まれるのですが、4.0 以降は接続文字列の「Encrypt」が「true」に設定されることがデフォルトとなりました。

Encrypt 接続文字列プロパティが既定で true になるように変更しました。 #1210詳細を読む

これにより、オンプレミスの SQL Server のような環境では、4.0 より前と同一の接続文字列で接続を行うと「 信頼されていない機関によって証明書チェーンが発行されました。」のエラーが発生する可能性があります。(Azure の PaaS については、信頼されている証明書による接続になっているので、PaaS を使っている場合は、本投稿は意識しないでもよかったはずです)

今回は、Windows PowerShell に Microsoft.Data.SqlClient 5.0 を使用できるようにして、この暗号化接続部分について動作を確認してみました。

Windows PowerShell で Microsoft.Data.SqlClient 5.0 を使えるようにするのは面倒ですが、動かしてみたい方は Microsoft.Data.SqlClient 5.0.0.ps1 を実行してみてください。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 31st, 2022 at 4:58 pm

Posted in SQL Server

Tagged with

Windows Server BMR バックアップでリストアする際のメモ+α

leave a comment

UEFI 環境の Windows Server バックアップのリストアについて調べることがあったので、その際のメモを残しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 28th, 2022 at 1:25 pm

Posted in Windows Server

Tagged with

.NET Data Provider for SQL Server の ConnectRetryCount をサポートする SQL Server のバージョン

leave a comment

.NET Framework 4.6.1 is now available! でアナウンスされた内容となりますが、現在の System.Data.SqlClient や Microsoft.Data.SqlClient には、ConnectRetryCount というオプションが追加されており、接続文字列で再接続の回数を調整することができるようになっています。

サポートされるバージョンについては、

等に記載されているのですが、SQL Server 2014 以降または、Azure の PaaS の SQL Server ベースの環境でサポートされる機能となります。

リトライについては、ライブラリ側で実装されていると思うのですが、SQL Server のバージョンがどのように ConnectRetryCount に再接続と関係しているか、把握できていなかったので、軽く調べてみました。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 24th, 2022 at 10:08 pm

Posted in SQL Server

Tagged with

Azure Policy の評価タイミングの情報について

leave a comment

Azure Arc を導入することで、Azure Policy をオンプレミスの環境でも使用することができるようになります。

Policy の割り当てや解除をすると、次のようなメッセージが表示され、変更が有効になるまで 30 分程度時間がかかることが表示されます。

image

評価の間隔にはいくつかの待機時間のパターンがあるようなので、情報を残しておきたいと思います。

ドキュメントレベルで確認をしており、Arc エージェントの実際のログからの確認は行っていません。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 24th, 2022 at 2:27 pm

SQL Server 2022 Release Candidate 0 (製品候補版) がリリースされました

leave a comment

本日、SQl Server 2022 Release Candidate (RC: 製品候補版) 0 (16.0.900.6) がリリースされました。

RC は、製品候補版となり、RTM に向けての対応が着々と進められていますね。

追加された機能については Release candidate に記載されており、大きな機能追加はないのですが、いくつかの機能改善が追加されています。

RC 0 の改善点については、次のドキュメントを参照。

 

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 24th, 2022 at 10:40 am

SQL Server on Azure Arc 対応サーバーを Azure Policy で導入する

leave a comment

SQL Server 2022 では、セットアップ時に SQL Server on Azure Arc 対応サーバーをインストールすることができるようになり、セットアップで Azure Arc ならびに SQL Server 向けの拡張機能をインストールした状態でオンボードすることが可能となりました。

SQL Server 2022 より前のバージョンの SQL Server についても Azure Arc に接続がされていれば、Azure Policy 経由で SQL Server on Azure Arc 対応サーバーを導入することができ、導入の自動化につなげることができますので、本投稿では Azure Policy を使用した Windows サーバーへの SQL Server on Azure Arc 対応サーバーの導入を実施してみたいと思います。

作業内容としては、Azure Policy を使用した大規模な接続 になります。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 17th, 2022 at 11:12 am

2022年8月上旬の Azure SQL Database Update と SQL Server Update

leave a comment

情報をキャッチアップすることができていなかったので、SQL Database と SQL Serever の Update をまとめて。

SQL Database 関連のアップデートサマリーは先月分のアナウンスとなっており、目新しいものは見つからず。

本投稿は実質 SQL Server の Update の備忘録です。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 16th, 2022 at 1:12 pm

Posted in SQL Update

Tagged with

Azure Arc 対応サーバー (Windows) のゲスト構成機能のポリシー適用状況を確認するためのログ

leave a comment

Azure Arc 対応サーバーで Windows サーバーに対して ゲスト構成機能 (Azure ポリシー) の適用状況を確認する際のログについてまとめておきたいと思います。

技術情報としては次のドキュメントを確認するとよいかと思います。

ポリシーの適用については反映されるまで時間がかかりますが、反映のタイミングについては Validation frequency に記載されており、基本的な感覚は次のようになるようです。

  • 5 分間隔: 新規または変更されたゲスト構成のチェック
  • 15 分間隔: ゲスト構成の設定状況の確認

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 14th, 2022 at 2:41 pm

Posted in Azure Arc

Tagged with

Stack Overflow で SQL Server 運用を学ぶ際に見ておきたい情報 (Stack Overflow の SQL Server の歴史)

one comment

Stack Overflow (Stack Exchange Network) で使用されている構成については、Performance で公開されています。

image

SQL Server については、4 台のサーバーで構成されていることが公開されており、上記の情報では次のような構成となっているとされています。

  • Stack Overflow
    • RAM: 1.5 TB
    • DB Size: 2.8 TB
  • Stack Exchange / Careers / Meta
    • RAM: 768 GB
    • DB Size: 3.9 TB

このような環境で平均的な CPU の使用率が 10% 以下になっているということは有名な情報ではないでしょうか。

日本語時の情報としては Publickey のStack Overflowの裏側は、Webサーバ9台、SQL Serverが4台など。月間5億6000万PVをさばくシステムの状況を公開中 が有名かと。この記事は 7 年前のものとなるため、現状とはハードウェアのサイズが変わっていますが、基本的な構成は変えることなくサービスが提供されているかと思います。

構成についてはさらに詳細な情報が公開されており、次の記事から確認できるようになっています。

SQL Server については、Windows Server 2016 + SQL Server 2019 で構成されており、どのようなハードウェアを使用しているかについても公開されています。(SQL Server のハードウェアについては、以前の環境となっているようで、現状使用している 1.5 TB の環境ではなさそうですが参考になります)

 

先日開催された、EightKB 2022 August で、Stack Overflow で使用されている Always On 可用性グループの SQL Server の運用についてのセッションがありました。

動画が公開 されており、Stack Overflow で使用されている SQL Server の実際の環境や運用について興味深い内容が沢山紹介されていました。

本稿では、先日開催されたイベントのセッション内で公開された情報や、Stack Overflow の環境の歴史を学ぶためにはどのような情報を確認できるかをまとめておきたいと思います。

私も適宜情報を再確認している状態で、本投稿は頻繁に追記を行っていこうと考えています。

Read the rest of this entry »

Written by Masayuki.Ozawa

8月 8th, 2022 at 9:47 am

Posted in Stack Overflow

Tagged with