NOBTAの気ままにITブログ

Azure全般 / SQL Serverに関する情報を発信していきます。

How to

【保存版】Azure環境で SQL Server 基本的な Always On 可用性グループ を構築する方法について

SQL Server 2016 以降、ミラーリングの後継機能として、Standard Edition で構築可能な 基本的な Always On 可用性グループ機能が登場しました。 オンプレミス環境で構築された ミラーリング構成を、システム リプレイスなどのタイミングで Azure へ移行する…

【保存版】Azure環境で SQL Server AlwaysOn 可用性リスナー (内部) を構築する方法について

オンプレミス環境で構築された SQL Server AlwaysOn 可用性グループ構成 を、システム リプレイスなどのタイミングで Azure へ移行することを検討されている方もいるのではないでしょうか。 SQL Server AlwaysOn 可用性グループ構成 を Azure へ移行する場合…

トランザクションログ肥大化の対処方法 (log_reuse_wait_desc : DATABASE_MIRRORING) [SQL Server]

SQL Server トランザクション ログ (.ldf) の肥大化は様々な要因により発生しますが、今回は、トランザクションログファイル (.ldf) 肥大化の要因が、「log_reuse_wait_desc : DATABASE_MIRRORING」の場合の対処方法について紹介していきたいと思います。 本…

Azure SQL Database 接続問題 (Connectivity) の対処方法 (3 : 断続的に接続が失敗する場合)

Azure SQL Database 接続問題 (Connectivity) の対処方法として、「1 : Azure外環境からの接続」および 「2 : Azure内環境からの接続」についてまとめてみました。 今回は、Azure SQL Database への接続が断続的に失敗するような現象発生時の対処方法につい…

Azure SQL Database 接続問題 (Connectivity) の対処方法 (2 : Azure内環境からの接続)

Azure SQL Database ゲートウェイの IP アドレスが増えたことにより、Azure 仮想マシンなどのリソースから、Azure SQL Database への接続ができないという現象が発生しているという話を聞くことがあります。 そのため、今回は、Azure SQL Database に接続で…

Azure SQL Database 接続問題 (Connectivity) の対処方法 (1 : Azure外環境からの接続)

Azure SQL Database ゲートウェイの IP アドレスが増えたことにより、オンプレミス側ファイアウォールの送信側 (Outbound) を制限している場合、Azure SQL Database への接続ができないという現象が発生しているという話を聞くことがあります。 そのため、今…

Azure 仮想マシンに紐づく仮想ネットワークのサブネット定義 (アドレス範囲:CIDR ブロック) を変更する方法について [Azure]

Azure 仮想ネットワークのサブネットを作成し、Azure 仮想マシンと紐づけている状態で、サブネットの定義(アドレス範囲:CIDR ブロック)を変更しなければならない状況が発生する場合があると思います。 今回は、Azure 仮想マシンと紐づけている仮想ネット…

SQL Server AlwaysOn 可用性グループ間トランザクション レプリケーションの構築方法について [Azure/SQL Server]

SQL Server AlwaysOn 可用性グループに所属する可用性データベース間でトランザクション レプリケーションを構築する方法について確認する機会がありましたので、自分の整理も兼ねて、まとめてみようと思います。 [構成例] Azure 東日本リージョン パブリッ…

メンテナンスプランを使用し、SQL Server AlwaysOn 可用性グループに所属している可用性データベースのバックアップを直接 Azure Blob Storage へ作成する方法について [Azure/SQL Server]

Azure 仮想マシンに SQL Server をインストールした場合など、データベースのバックアップファイルを一元的に管理するために、SQL Server データベースのバックアップを直接 Azure Blob Storage へ作成し、何か問題が発生した際に直接 Azure Blob Storage に…

SQL Server バックアップを直接 Azure Blob Storage へ作成する方法について [Azure/SQL Server]

Azure 仮想マシンに SQL Server をインストールした場合など、データベースのバックアップファイルを一元的に管理するために、SQL Server データベースのバックアップを直接 Azure Blob Storage へ作成し、何か問題が発生した際に直接 Azure Blob Storage に…

プライベート リンクを使用した Azure SQL Database へのトランザクション レプリケーション構築方法について [Azure/SQL Server]

オンプレミス上の SQL Server から Azure SQL Database への移行や、災対目的としてデータベースのレプリカを作成する目的などにより、SQL Serverのレプリケーション機能を検討することがあると思います。 Azure Private Link 機能が提供される前は、オンプ…

Azure 仮想マシン上に構築された SQL Server AlwaysOn 可用性データベースの透過的暗号(TDE)方法について [Azure/SQL Server]

Azure SQL Database、Azure SQL Managed Instance、 Azure Synapse Analytics の何れもデータベースの透過的暗号化 (TDE) が既定で有効になっており、データベース全体 (データベース物理ファイル) の暗号化が有効になっています。 しかしながら、Azure 仮想…

VNet統合を使用した App Service (Web Apps) から Azure 仮想マシン上の SQL Server AlwaysOn 可用性グループへの接続について [Azure/SQL Server]

App Service Environment (以下 ASE) をデプロイすることで、Azure 仮想ネットワーク (以下 VNet) に統合され、App Service (Web Apps) から Azure 仮想マシン上にインストールされた SQL Server などにアクセスすることが可能となります。 しかしながら、AS…

Azure Traffic Manager に紐づけたカスタムドメインで構成したAzure App Service (WebApps)にSSL接続 (https) でアクセスする方法について [Azure]

Traffic Manager に Azure 東日本、西日本にデプロイしたカスタムドメインで構成した Azure App Service (WebApps) を紐づけて、地理的なトラフィック ルーティングを構成したり、災対構成として冗長構成にすることを検討することがあるかと思います。 Traff…

カスタムドメインで構成した Azure App Service (WebApps) に証明書を割り当てて、SSL接続 (https) でアクセスする方法について [Azure]

Azure App Service (Web Apps) をデプロイした場合、 既定で 「azurewebsites.net」というドメイン名となり、既定のSSL証明書 (ワイルドカード) により、SSL接続 (https) でアクセスすることが可能となります。 しかしながら、Azure App Service (Web Apps) …

カスタム ドメイン名で Azure App Service (Web Apps) を構成する方法について [Azure]

Azure App Service (Web Apps) をデプロイした場合、既定で 「azurewebsites.net」というドメイン名となり、接続URLは「h t t p s://xxxxx.azurewebsites.net」となります。 しかしながら、外部公開する Web アプリケーションの場合など、独自のドメイン名で…

エラー 9002、17053 の対処方法 [SQL Server]

SQL Server で DML操作(Insert/Update/Delete)を実施する場合、まずは、トランザクションログファイル(.ldf)にトランザクション情報の書き込みが行われ、その後、コミット操作が行われた場合、コミット時点までのデータの整合性が保証されることになります。…

ゾーン冗長を考慮した SQL Server 可用性グループ + 可用性リスナー(内部)の構築 [Azure/WSFC/SQL Server]

Azure 仮想マシン上に WSFC (Windows Server Failover Clustering) を構築し、SQL Server 可用性グループ + 可用性リスナーを構築する必要があったため、ゾーン冗長を考慮したSQL Server 可用性グループ + 可用性リスナー(内部)の構築方法についてまとめてみ…

トランザクションログ肥大化の対処方法 (log_reuse_wait_desc : LOG_BACKUP) [SQL Server]

SQL Server トランザクション ログ (.ldf) の肥大化は様々な要因により発生しますが、今回は、トランザクションログファイル (.ldf) 肥大化の要因が、「log_reuse_wait_desc : LOG_BACKUP」の場合の対処方法について紹介していきたいと思います。 本ブログ内…

[設計シリーズ] 01.ログ分析の目的について [Azure]

ログ分析を実施する目的として、以下のような事項があるのではないかと思います。 企業で定めたセキュリティポリシーへの準拠確認、および、外部監査の評価基準を満たしているかの確認 各種トラブル発生時のトラブルシューティング リソースの利用量(CPU, メ…

サーバートレースの採取方法について [SQL Server]

SQL Server 2016 以降、クエリ ストア機能により、クエリの実行プランが変わったことに起因したクエリ パフォーマンスの違いがとても簡単に特定することができるようになり、また、SQL Server 2019 以降では、高速順方向カーソル、Transact-SQL および APIの…

条件付きアクセス設定後、Azure ポータルにアクセスができなくなった場合の対処方法 [Azure]

Azure Active Directory (AAD) の条件付きアクセスを使用することで、特定のIPアドレス範囲(グローバルIPアドレス) からのみ、Azure ポータルにアクセスさせることが可能となります。 条件付きアクセスの詳細については、以下を参照。 Azure Bastion (インタ…

Azure Traffic Managerを使用したAzure App Serviceアプリケーションのトラフィック制御について [Azure]

Azure Traffic Managerを使用することで、クライアントからの要求を 「優先順位」,「重み付け」,「パフォーマンス」などを加味して、トラフィックの振り先を制御することが可能です。 また、トラフィックの振り先 (エンドポイント) には、「App Server」, 「…

Azure Cognitive Search を使用した画像検索について [Azure]

Azure Cognitive Search は、簡単に言えば、アプリケーションから REST API や .NET SDK を使用して、簡単に全文検索機能を実現させることができるマネージドのサービスでしょうか。 SQL Server にもフルテキスト機能を使用して全文検索を実施することが可能…

Azure ネットワーク セキュリティ グループ (NSG) の規則の適用ルール(優先度)について [Azure]

Azure ネットワーク セキュリティ グループ (NSG) は、サブネット単位、ネットワーク インターフェース単位で設定が可能ですが、今回、受信セキュリティ規則、送信セキュリティ規則の適用ルールについて確認した結果を紹介したいと思います。 今回、以下の3…

Azure ネットワーク セキュリティ グループ (NSG) の設定について(ベストプラクティス) [Azure]

Azure ネットワーク セキュリティ グループ (NSG) は、サブネット単位、ネットワーク インターフェース単位で設定が可能です。 ※ AWSの場合、サブネット単位は ネットワーク ACL (ブラック リスト型)、ネットワーク インターフェース単位 (厳密には、EC2 イ…

トランザクションログ肥大化の対処方法 (log_reuse_wait_desc : ACTIVE_TRANSACTION) [SQL Server]

SQL Server トランザクション ログ (.ldf) の肥大化は様々な要因により発生しますが、今回は、トランザクションログファイル (.ldf) 肥大化の要因が、「log_reuse_wait_desc : ACTIVE_TRANSACTION」の場合の対処方法について紹介していきたいと思います。 本…

Azure 仮想マシンでWindows Server 2019の日本語化/イメージ化 [Azure]

Azure 仮想マシンに Windows Server 2019 をデプロイ後、日本語化 + イメージとして登録する必要があったので、手順をまとめてみました。 Azure上で用意されているイメージで Windows Server をデプロイした場合、必ず言語が英語になります。そのため、日本…

Azure仮想マシンに SQL Server AlwaysOn可用性グループを構築する場合に設定すべきこと (ベストプラクティス) [Azure/SQL Server/WSFC]

Azure上にシステム構成をデザインする場合、可能な限り、データベースもマネージドのサービス (Azure SQL Database / SQL Managed Instance / Azure Database for PostgreSQL / Azure Cosmos DB など) を使いたいですよね。 しかしながら、要件によっては、A…

トランザクションログを肥大化させているクエリの特定方法 [SQL Server]

トランザクションログファイル(.ldf)が意図せず肥大化するという現象が発生した場合、今後の対策を検討するため、どの処理(クエリ)が実行されたことに起因して、該当のトランザクションログファイル(.ldf)が肥大化したのかを特定したいと考える人が多…