SE の雑記

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

Archive for the ‘SQL Server 2016’ tag

SQL Server 2016 で特定のクエリの実際の実行プランを容易な操作で取得する

leave a comment

現在の SQL Server では、軽量クエリプロファイリングが提供されており、様々なアプローチで「実行中のクエリの実際の実行プラン」を取得する方法が提供されています。

本機能は SQL Server 2014 SP2 / SQL Server 2016 から実装が行われ、Azure SQL Database / SQL Server 2019 以降では既定で有効になっています。

この機能を活用することで、冒頭に記載した「実行中のクエリの実際の実行プラン」を取得することができます。

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 10th, 2023 at 2:25 pm

SQL Server 2016 SP3 未適用の環境で管理対象バックアップを設定する際の注意点

leave a comment

SQL Server 2016 ではインスタンス内のデータベースのバックアップに管理対象バックアップ (マネージドバックアップ) という機能を使用することができます。

この機能は、SQL Server on Azure VM の IaaS Agent 拡張機能の自動バックアップでも使用されているものとなるのですが、SQL Server 2016 SP3 を未適用の環境で設定を行おうとしたところ次のようなエラーが発生しました。

メッセージ 45207、レベル 17、状態 2、プロシージャ sp_add_task_command、行 102 [バッチ開始行 18]
The operation failed because of an internal error. 値を Null にすることはできません。
パラメーター名:sasToken  Command: smartbackup configure_backup_basic  1 xxxxxxxxxxxxx== 30 Please retry later. 
    場所 Microsoft.WindowsAzure.Storage.Auth.StorageCredentials..ctor(String sasToken)
   場所 Microsoft.SqlServer.SmartAdmin.SmartBackupAgent.FileService.VerifyContainerURL(String containerURL, SqlConnection conn)
   場所 Microsoft.SqlServer.SmartAdmin.SmartBackupAgent.SmartBackup.CheckAndSetDefaultSettings(SmartBackupConfigParameters config, LogBaseService jobLogger, SqlConnection conn)
   場所 Microsoft.SqlServer.SmartAdmin.SmartBackupAgent.SmartBackup.ConfigureDbOrInstance(SmartBackupConfigParameters config, LogBaseService jobLogger, SqlConnection conn)
   場所 Microsoft.SqlServer.SmartAdmin.SmartBackupAgent.SmartBackup.ExternalJobHelper(String command, LogBaseService jobLogger)
   場所 Microsoft.SqlServer.SmartAdmin.SmartBackupAgent.SmartBackup.ExternalJob(String command, LogBaseService jobLogger)

 

同様の事象を確認すると、類似の問題がいくつか確認できるのですが、自分が遭遇していたものの明確な内容が、パッと見た限りでは見つからなかったので、本事象についてなぜ発生したのかを残しておきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

9月 20th, 2022 at 10:22 pm

Posted in SQL Server 2016

Tagged with

SQL Server 2016 で Managed Instance Link を設定してみる

2 comments

SQL Server 2016 で Managed Instance Link がサポートされるようになりました で書きましたが、SQL Server 2016 SP3 + Azure Connect  Feature Pack で Managed Instance Link がサポートされるようになったので、実際に設定をしてみました。

今回は SQL Server 2016 SP3 Standard Edition で検証をしています。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 22nd, 2022 at 4:17 pm

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

leave a comment

Connecting SQL Server 2016 to Azure – SQL Managed Instance link | Data Exposed でアナウンスがありましたが、SQL Server 2016 で、Managed Instance に対してデータベースの複製を行う、Managed Instance Link がサポートされたようです。

Link feature for Azure SQL Managed Instance (preview) に SQL Server 2016 のサポートが追加されています。

image

SQL Server 2016 SP3 以降に、SQL Server 2016 Azure Connect pack (KB 5014242) をインストールすることでサポートされるようです。

現状、SQL Server 2019 では Enterprise のサポートでしたが、2016 では Standard もサポート対象となっています。

Data Exposed では次の情報が提示されていました。

image

SSMS については 18.12 以降でのサポートとなるようで、それまではクエリベースでの設定となる形でしょうかね。

SQL Server の 分散型可用性グループ のアーキテクチャは Geo Replication / Azure Arc Enabled SQL MI / Managed Instnace Link で使用されているので、そろそろ改めて学習しようかなと思いました。

Written by Masayuki.Ozawa

5月 20th, 2022 at 8:54 am

互換性レベル 130 以降をサポートしている環境のダウンレベルの互換性レベルと統計情報の更新について

leave a comment

SQL Server の統計情報の更新タイミングというと「データ量の 20% が更新された場合」に自動更新の対象となるというのが一般的に知られている内容ではないでしょうか。
これについては 統計 に記載されています。

SQL Server 2014 (12.x) まで、SQL Server は変更された行の割合に基づくしきい値を使用します。 これには、テーブル内の行数は考慮されません。 しきい値は次のようになります。

  • 統計情報が評価された時点でテーブルのカーディナリティが 500 以下の場合、500 回変更されるたびに更新されます。
  • 統計情報が評価された時点でテーブルのカーディナリティが 500 よりも大きい場合、500 プラス 20% の数の変更があるたびに更新されます。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 14th, 2019 at 8:52 pm