SQL Serverとの接続には証明書が必要となりました。
Microsoftが提供するスクリプトを使用して、SQL Server用の自己署名証明書を作成できます。詳細については、「Microsoftドキュメント 」を参照してください。 その際に重要なのは、SQL Serverが使用するFQDNが証明書で定義されるFQDNと一致することです。これらが一致しない場合、データベースへの接続が確立されずインストールが正しく機能しません。
PS C:\\Users\\Administrator> New-SelfSignedCertificate -Type SSLServerAuthentication -Subject "CN=$env:COMPUTERNAME" `
>> -DnsName "[System.Net.Dns]::GetHostByName($env:computerName)",'localhost' `
>> -KeyAlgorithm "RSA" -KeyLength 2048 -HashAlgorithm "SHA256" -TextExtension "2.5.29.37={text}1.3.6.1.5.5.7.3.1" `
>> -NotAfter (Get-Date).AddMonths(36) -KeySpec KeyExchange -Provider "Microsoft RSA SChannel Cryptographic Provider" `
>> -CertStoreLocation "cert:\\LocalMachine\\My"
PSParentPath: Microsoft.PowerShell.Security\\Certificate::LocalMachine\\My
Thumbprint Subject
---------- -------
84AF2B25A89238EE08199CC2E3798EEF4B53F755 CN=WEB01
Microsoft SQL Server Management Studio でログインするときのサーバー名を指定する必要があるため、上記のコマンドでは、プリンシパル名の不一致となってしまう。
そのため、以下の様に直接ホスト名を記載した。DnsNameなどはそのままで良かったのかもしれないが、こちらも指定した。
PS C:\\Users\\Administrator> New-SelfSignedCertificate -Type SSLServerAuthentication -Subject "CN=WEB01\\SQLEXPRESS" `
>> -DnsName "WEB01",'localhost' `
>> -KeyAlgorithm "RSA" -KeyLength 2048 -HashAlgorithm "SHA256" -TextExtension "2.5.29.37={text}1.3.6.1.5.5.7.3.1" `
>> -NotAfter (Get-Date).AddMonths(36) -KeySpec KeyExchange -Provider "Microsoft RSA SChannel Cryptographic Provider" `
>> -CertStoreLocation "cert:\\LocalMachine\\My" -FriendlyName "SQLExpressServer"
PSParentPath: Microsoft.PowerShell.Security\\Certificate::LocalMachine\\My
Thumbprint Subject
---------- -------
8016542EF756E3CDDBE4558B97EC271E9953E374 CN=WEB01\\SQLEXPRESS
エクスポートは以下の通り実施した。