将 SQL 与 Active Directory 中的信息同步

将 SQL 与 Active Directory 中的信息同步

我希望每次在 Active Directory 中发生更改时,将信息从 Active Directory 传递到 Microsoft SQL Server 数据库。这样,SQL 将始终拥有 AD 的可靠副本。好吧,我一直在阅读一些处理类似问题的帖子,但我找不到解决方案。

例如,在这篇文章中:https://stackoverflow.com/questions/4782292/synchronization-between-c-app-and-active-directory ,一位用户说:

‘...然后让 AD 与 SQL 同步。’

这对我来说听起来不错,但我该怎么做呢?

@Pablo:所以我们有一个现有的 c# 应用程序,用于在 SQL 中管理用户和组。我们希望这个应用程序也能管理 Active Directory。我们的想法是直接用应用程序查询 Active Directory (AD),但同时继续像现在一样在 SQL 中保存信息。但我看到了一个问题:当进行更改时仅有的在 Active Directory 中 => SQL 将不会有更新的信息,因为 AD 和 SQL 之间会有不同的数据。

我看到您建议查询 AD 以了解更改,并且可以按访问进行查询,也可以按预定间隔进行轮询。我对此不太熟悉,您能解释一下如何操作吗?

答案1

最好的办法是让您的应用程序查询 AD 以了解更改。您可以每次访问时执行此操作,也可以按预定间隔使用轮询。这可以通过多种方式完成,如果您可以提供更多关于您想要实现的目标的信息,我可以为您提供一些方法。

如果您只想更新 AD,只需使用 c# 函数直接更新 AD,甚至不需要同步。谷歌搜索给了我几个例子:http://social.msdn.microsoft.com/forums/en/netfxbcl/thread/729d1214-37f5-4330-9208-bc4d9d695ad0/

如果你确实想在企业级同步系统,请考虑使用 Forefront Identity Manager。它可用于同步不同的系统。

http://www.microsoft.com/forefront/identitymanager/en/us/default.aspx

答案2

@pablo:所以我们有一个现有的 c# 应用程序,用于在 SQL 中管理用户和组。我们希望这个应用程序也能管理 Active Directory。我们的想法是直接用应用程序查询 Active Directory (AD),但同时继续像现在一样在 SQL 中保存信息。但我看到了一个问题:当仅在 Active Directory 中进行更改时 => SQL 将不会有更新的信息,因为 AD 和 SQL 之间的数据会有所不同。

我看到您建议查询 AD 以了解更改,并且可以按访问进行查询,也可以按预定间隔进行轮询。我对此不太熟悉,您能解释一下如何操作吗?

相关内容