Azure Data Studio on Ubuntu 20.04

發現在 Linux 上也有 SSMS 的替代品可跑,而且是 Microsoft 自家出品: Azure Data Studio.

裝起來一試果然不能用… 要解決兩個問題:

TLS 1.0

公司的 SQL Server 老舊且未更新,先前用 Java 連線就會碰到 TLS v1.0 已經不支援的問題,要改 jdk.tls.disabledAlgorithms,用 Ubuntu OpenJDK 的話就是在類似/etc/java-##-openjdk/security/java.security 這樣的地方:

1
2
3
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves

把裡面的 TLSv1, TLSv1.1 拿掉就行了。那這次 Azure Data Studio 用的是系統給的 TLS/SSL,例如 openssl, 這就要去改 openssl.cnf. 但為了這問題去改整個系統設定不太好,折衷一下就採取這邊建議的方式,新增一個 openssl-tlsv1.cnf, 然後用

1
env OPENSSL_CONF=/etc/ssl/openssl-tlsv1.cnf azuredatastudio

執行,就解決了。

Trust Server Certificate

像這種亂裝的 SQL Server 當然不可能真的把憑證搞好,所以還要把 Advanced Properties 裡面 Trust server certificate 勾起來,無條件信任,才能順利連上。

Advanced Properties