将SQL与Active Directory中的信息同步

我希望在Active Directory中进行更改时,将信息从Active Directory传递到Microsoft SQL Server数据库。 通过这种方式,SQL将始终拥有AD的可靠副本。 那么,我一直在阅读一些处理类似问题的post,但我找不到解决scheme。

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

'…然后让AD与SQL同步。

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

@Pablo:所以我们有一个现有的C#应用​​程序来pipe理SQL中的用户和组。 我们希望这个应用程序也pipe理Active Directory。 这个想法是直接用应用程序查询活动目录(AD),而且还像现在一样继续将信息保存在SQL中。 但是我看到一个问题: 只有在Active Directory中进行更改时=> SQL不会有更新的信息,因为AD和SQL之间会有不同的数据。

我看到你build议查询AD进行更改,并且可以按访问完成或按计划的时间间隔使用轮询。 我不熟悉它,你能解释我该怎么做吗?

这里最好的办法是让你的应用程序查询AD进行更改。 您可以按照访问权限执行此操作,也可以按计划的间隔进行轮询。 这可以通过多种方式完成,如果您可以提供更多关于您想要完成的信息,我可以为您提供一些方法。

如果所有你想要做的是更新AD只是使用C#函数直接更新AD,甚至不同步。 谷歌search给了我几个例子: 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

@pablo:所以我们有一个现有的C#应用​​程序来pipe理SQL中的用户和组。 我们希望这个应用程序也pipe理Active Directory。 这个想法是直接用应用程序查询活动目录(AD),而且还像现在一样继续将信息保存在SQL中。 但是我看到一个问题:只有在Active Directory中进行更改时=> SQL不会有更新的信息,因为AD和SQL之间会有不同的数据。

我看到你build议查询AD进行更改,并且可以按访问完成或按计划的时间间隔使用轮询。 我不熟悉它,你能解释我该怎么做吗?