SitecoreインスタンスをSqlServer 22.0.xxでデプロイした際に「信頼されていない機関によって証明書チェーンが発行されました。」エラーが発生する


説明

SqlServer 22.0.xxバージョンがインストールされているマシンでSitecore Installation FrameworkのPowerShellモジュールを使用してSitecore Experience Platformをインストールした場合に、オンプレミスのSitecore Experience Platformインスタンスのデプロイが失敗する可能性があります。その際、以下のようなエラーが全ての「InvokeSqlcmd」タイプのタスクで出力される可能性があります:

Install-SitecoreConfiguration : A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that 
is not trusted.)
日本語訳)Install-SitecoreConfiguration : サーバーとの接続を正常に確立しましたが、ログイン中にエラーが発生しました。 (provider: SSL Provider, error: 0 - 信頼されていない機関によって証明書チェーンが発行されました。)

この問題の原因は、SqlServer 22.0.xxへの接続が「TrustServerCertificate」パラメータなしで確立されたことです。

解決策

解決策として、「TrustServerCertificate」パラメーターを*.jsonテンプレート用の「Invoke-Sqlcmd」コマンドレットに追加してください。例:

"CreateShardApplicationDatabaseServerLoginInvokeSqlCmd": { 
            "Description": "Create Collection Shard Database Server Login.", 
            "Type": "InvokeSqlcmd", 
            "Params": { 
                "ServerInstance": "[parameter('SqlServer')]", 
                "Credential": "[variable('Sql.Credential')]", 
                "InputFile": "[variable('Sharding.SqlCmd.Path.CreateShardApplicationDatabaseServerLogin')]", 
     "TrustServerCertificate": true
             "Variable": [ 
                    "[concat('UserName=',variable('SqlCollection.User'))]", 
                    "[concat('Password=',variable('SqlCollection.Password'))]" 
                ] 
            }, 
            "Skip": "[or(parameter('SkipDatabaseInstallation'),parameter('Update'))]" 
        }

註: