bakalolo Asked: 2021-02-02 13:21:41 +0800 CST2021-02-02 13:21:41 +0800 CST 2021-02-02 13:21:41 +0800 CST 将服务器密码存储在表中以使用 CURSOR 读取 772 我想使用 Linked Server 连接到多个服务器做下载表并做查询。我想将服务器 IP 存储在一个表中,并使用 CURSOR 连接到每个列表。我也想将密码存储在桌子上,但我不知道这是否是个坏主意。这可以吗?或者有什么更好的选择? 是否有不需要密码的 sp_addlinkedsrvlogin 版本..? t-sql password 1 个回答 Voted Best Answer J.D. 2021-02-02T13:57:33+08:002021-02-02T13:57:33+08:00 将任何类型的密码以纯文本形式存储在数据库中绝对是一种不好的做法和一个坏主意,更不用说用于访问其他服务器的特定密码了。数据库服务器是攻击的常见目标,将您的密码存储在未混淆和未加密的庄园中会使它们更容易成为目标。 我在这里看到了你的几个问题,这让我认为最好通过将数据集中到一个服务器来为你服务。您可以研究的几个选项是Replication和SSIS。(AlwaysOn 可用性组是另一个可用于跨服务器同步数据的功能,但对于您的用例来说可能有点过分了。) 否则,如果您想继续通过链接服务器进行查询,您只需在主服务器上设置一次,无需存储或使用密码来访问它们。您可以按照本指南或Microsoft 文档了解如何正确设置链接服务器。 设置好之后,您可以使用四部分命名方案从它们中访问实体,如下所示:SELECT SomeField FROM LinkedServerName.DatabaseName.SchemaName.TableName
将任何类型的密码以纯文本形式存储在数据库中绝对是一种不好的做法和一个坏主意,更不用说用于访问其他服务器的特定密码了。数据库服务器是攻击的常见目标,将您的密码存储在未混淆和未加密的庄园中会使它们更容易成为目标。
我在这里看到了你的几个问题,这让我认为最好通过将数据集中到一个服务器来为你服务。您可以研究的几个选项是Replication和SSIS。(AlwaysOn 可用性组是另一个可用于跨服务器同步数据的功能,但对于您的用例来说可能有点过分了。)
否则,如果您想继续通过链接服务器进行查询,您只需在主服务器上设置一次,无需存储或使用密码来访问它们。您可以按照本指南或Microsoft 文档了解如何正确设置链接服务器。
设置好之后,您可以使用四部分命名方案从它们中访问实体,如下所示:
SELECT SomeField FROM LinkedServerName.DatabaseName.SchemaName.TableName