T-Sql

將伺服器密碼儲存在表中以使用 CURSOR 讀取

  • February 1, 2021

我想使用 Linked Server 連接到多個伺服器做下載表並做查詢。我想將伺服器 IP 儲存在一個表中,並使用 CURSOR 連接到每個列表。我也想將密碼儲存在桌子上,但我不知道這是否是個壞主意。這可以嗎?或者有什麼更好的選擇?

是否有不需要密碼的 sp_addlinkedsrvlogin 版本..?

將任何類型的密碼以純文字形式儲存在數據庫中絕對是一種不好的做法和一個壞主意,更不用說用於訪問其他伺服器的特定密碼了。數據庫伺服器是攻擊的常見目標,將您的密碼儲存在未混淆和未加密的莊園中會使它們更容易成為目標。

我在這裡看到了你的幾個問題,這讓我認為最好通過將數據集中到一個伺服器來為你服務。您可以研究的幾個選項是ReplicationSSIS。(AlwaysOn 可用性組是另一個可用於跨伺服器同步數據的功能,但對於您的案例來說可能有點過分了。)

否則,如果您想繼續通過連結伺服器進行查詢,您只需在主伺服器上設置一次,無需儲存或使用密碼來訪問它們。您可以按照本指南Microsoft 文件了解如何正確設置連結伺服器

設置好之後,您可以使用四部分命名方案從它們中訪問實體,如下所示:SELECT SomeField FROM LinkedServerName.DatabaseName.SchemaName.TableName

引用自:https://dba.stackexchange.com/questions/284474