用于 Microsoft 目录服务的 OLE DB 访问接口
更新日期: 2006 年 7 月 17 日
通过用于 Microsoft 目录服务的 Microsoft OLE DB 访问接口可以访问 Microsoft Windows 2000 目录服务中的信息。使用此访问接口的查询可返回对象的最大数量为 1000。
为 Windows 2000 目录服务创建链接服务器
通过分别将
ADSDSOObject
和adsdatasource
用作sp_addlinkedserver
系统存储过程的 provider_name 和 data_source 参数来创建链接服务器,例如:EXEC sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 'ADSDSOObject', 'adsdatasource' GO
对于 Windows 验证登录,只需自映射就足以通过使用 SQL Server 安全委托来访问目录。因为默认情况下会为通过运行 sp_addlinkedserver 创建的链接服务器创建自映射,所以不需要其他登录映射。
对于 SQL Server 验证登录,可以使用 sp_addlinkedsrvlogin 系统存储过程来配置适当的登录名/密码以便连接到目录服务。
注意: |
---|
请尽可能使用 Windows 身份验证。 |
查询目录服务
用于 Microsoft 目录服务的 Microsoft OLE DB 访问接口支持两种命令方言(LDAP 和 SQL)查询目录服务。可以使用 OPENQUERY 函数将命令发送到目录服务并在 SELECT 语句中使用其结果。
注意: |
---|
Microsoft OLE DB Provider for Microsoft Directory Services 不支持从 Integration Services 直接进行 LDAP 查询。相反,按本主题所述创建到 Microsoft Directory Services 的链接服务器并使用 OPENQUERY,或者使用脚本任务。有关示例,请参阅 Querying the Active Directory with the Script Task。 |
以下示例显示创建这样一个视图,它使用 OPENQUERY
返回域地址为 sales.adventure-works.com
的服务器 ADSISrv
上的目录中的信息。OPENQUERY
函数中的命令是一个针对目录的 SQL 查询,该查询返回对象的 Name
、SN
和 ST
属性,这些对象属于目录中指定的层次结构位置 (OU=Sales
) 上的 contact
类。因而,可在任何 SQL Server 查询中使用该视图。
CREATE VIEW viewADContacts
AS
SELECT [Name], SN [Last Name], ST State
FROM OPENQUERY( ADSI,
'SELECT Name, SN, ST
FROM ''LDAP://ADSISrv/ OU=Sales,DC=sales,DC=adventure-works,DC=com''
WHERE objectCategory = ''Person'' AND
objectClass = ''contact''')
GO
SELECT * FROM viewADContacts
有关 LDAP 和 SQL 方言的详细信息,请参阅 Microsoft Active Directory 服务文档。
请参阅
概念
与 SQL Server 一起测试过的 OLE DB 访问接口
分布式查询
其他资源
sp_addlinkedsrvlogin (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
帮助和信息
更改历史记录
发布日期 | 历史记录 |
---|---|
2006 年 7 月 17 日 |
|