如何从SQL Server

时间:2017-07-20 20:22:26

标签: sql-server ssl ldap

是否有人从SQL Server成功查询LDAPS(LDAP over SSL / TLS)?你是怎么做到的?

客户要求我们在使用LDAPS的网络上设置我们的程序。我已经在许多其他位置成功使用过LDAP查询,但目前尚不清楚这是否适用于LDAPS,或者语法是什么。我希望它可以工作,但不知道如何设置它。

作为测试,我们尝试在自己的网络上设置LDAPS。我们可以使用ldp.exe进行连接,但尝试从SQL查询它始终失败,并显示“Msg 7321,Level 16,State 2 ...”

  1. SQL查询可以连接到LDAPS吗?
  2. 我应该指定端口吗?
  3. 是否需要将服务器证书导入SQL Server或其他地方?
  4. 除了查询LDAP通常需要的那些之外,是否还需要其他额外的设置步骤?
  5. 这是通常有效的查询,我正在尝试修改LDAPS。

    SELECT COUNT(*) FROM OPENROWSET('ADSDSOObject', 'adsdatasource'; 
    'domain user here'; 'domain password here', 
        'SELECT SAMAccountName FROM 
    ''LDAP://192.168.0.105 
    WHERE SAMAccountName = ''test.test'' and objectClass = ''user'' 
            ')
    

1 个答案:

答案 0 :(得分:0)

部分成功 - 在其他一些堆栈溢出帖子的帮助下,我得到了语法,并且能够从自身成功查询域服务器。

正确的语法是: SELECT COUNT(*)FROM OPENROWSET(' ADSDSOObject',' adsdatasource&#39 ;;'域用户在这里&#39 ;;'域名密码在这里',&# 39;         选择SAMAccountName FROM'' LDAP://server.domain.net:636''在哪里SAMAccountName ='' test.test''和objectClass =''用户''         &#39)

请注意协议名称" LDAP"区分大小写。

编辑:弄清楚如何从数据库服务器查询域控制器。我从域控制器导出证书,并将其导入数据服务器的受信任的根证书颁发机构商店。

我相信如果证书来自CA而不是自签名,它将进入个人存储而不是受信任的根CA存储。