2021年2月11日 星期四

Install SQL Server With Service Pack and CU

 env: Windows Server 2016 

         SQL Server 2016

SQL Server 2016自從上市到現在已經到Service Pack 2 與CU15,在安裝新主機時相一次全部完成,可以透過指令方式一次完成所有的Patch,這次提供簡易的指令加上UI設定來完成SQL Server安裝。

我們先準備一台已經安裝Windows Server 2016的環境

還有準備SQL Server 2016與Service Pack 2

1.在Windows Server掛載SQL Server 2016,如下圖:

若沒有IOS也可以把安裝檔複製到特定目錄,例如: C:\SQLServer2016SP2

2.嘗試複製安裝檔案到目錄: C:\SQLServer2016SP2

3.在目錄: C:\SQLServer2016SP2透過以下指令創建目錄: C:\SQLServer2016SP2\updates,用來存放Service Pack2(也可以把CU放在一起)

powershell指令: mkdir C:\SQLServer2016SP2\updates /MIR


4.在目錄: C:\SQLServer2016SP2\ 執行以下指令,在出現安裝UI介面後,可以看到下圖出現升級資訊。接著在UI一步一步設定即可完成。

powershell指令: setup.exe /Action =Install /UpdateEnabled=True /UpdateSource=".\Updates"



若使用ISO掛載安裝,只需要把Service Pack (也可以把CU放在一起),透過以下指令完成。

例如: 把Service Pack 與CU放在目錄: C:\sp_cu

SQL Server 2016掛載後目錄在F:\

powershell指令:

1. cd F:\

2. ./setup.exe /Action=Install /UpdateEnabled=True /UpdateSource="C:\sp_cu"


2021年2月7日 星期日

TLS 1.2 for SQL Server

env: Windows Server 2012R2

        SQL Server 2012

這一陣子許多系統逐步移除TLS1.0, 1.1設定,改用TLS1.2。
過程中產生程式連線出現SSL無法連線的訊息,資料庫這裡也不意外的產生許多連線問題。

這次紀錄的是Windwos Server 2012R2, SQL Server2012的問題,相信對於SQL Server 2014啟用TLS1.2也會有幫助。

在官方文件kb3135244提到SQL Server支援TLS1.2需要做以下更新(不列出SQL Server 2008):
1.SQL Server 2012 SP2 CU10
2.SQL Server 2012 SP2 GDR
3.SQL Server 2012 SP1 CU3
4.SQL Server 2012 SP3 GDR
5.SQL Server 2014 RTM GDR
6.SQL Server 2014 RTM CU12
7,SQL Server 2014 SP1 GDR
8.SQL Server 2014 SP1 CU5

總結版本需要更新如下:
1.SQL Server 2012 SP4 或 + 最新CU(KB4583465)
2.SQL Server 2014 SP3 或 + 最新CU(KB4583462)

確保SQL Server可以支援TLS1.2,SQL Server 2016一開始就支援TLS1.2,因此沒有需要更新的問題。

資料庫主機要實現啟用TLS1.2並關閉TLS1.0, 1.1,執行步驟如下:
1.安裝SQL Server Service Pack
2.重啟資料庫主機確認服務與連線
3.資料庫主機啟用TLS1.2
4.重啟資料庫主機確認服務與連線
5.資料庫主機啟用TLS1.0, 1.1
6.重啟資料庫主機確認服務與連線

若在資料庫主機或是其他主機程式連線有出現SSL的連線錯誤,但是其他主機可以使用SSMS(version 17以上)可以連線到SQL Server 2012資料庫,問題可能是出現在.NET Framwork版本老舊的問題,這裡建議更新到.NET Framwork 4.6以上的版本。若手上沒有.NET Framwork 4.6則可以用SSMS(version 17以上)的版本暫時替代,因為安裝過程中會安裝NET Framwork 4.7.2。