SQL Server命名实例TCPIP端口设置& EndPoints /基础结构权限错误

时间:2018-04-25 13:08:21

标签: sql-server tcp-ip

我在Windows 10 Pro上安装了本地安装的SQL Server 2016(开发人员版)。有一个命名实例。我是使用MS SQL Management Studio和JetBrains DataGrip的开发人员。

我只是希望我的本地计算机中的连接能够使用SQL Server用户帐户通过TCPIP与SQL Server协同工作。目前,只能使用映射到ServerAdmin的Windows身份验证

命名实例

RAXLENOVOT560 \ MSSQL2016MAIN (身份验证是混合模式)

可能存在3个问题:

  1. TCP端口号似乎未在Sql Server配置管理器中生效。

  2. Sql Server配置管理器仅在客户端协议/ TCPIP设置上显示有限的属性。 (请看屏幕截图)

  3. 由于错误,Sql Server登录用户帐户无法通过TCP连接。在本地计算机上登录,从DataGrip到SQL Server进行本地开发。

  4. 1。 TCP端口号

    我已将此设置为65321.但是当我尝试使用此端口连接时,没有建立任何连接。

    当我使用以下SQL查询检查时,我看到端口号实际上是65514

    SELECT DISTINCT 
        local_tcp_port 
    FROM sys.dm_exec_connections 
    WHERE local_tcp_port IS NOT NULL 
    

    结果

    local_tcp_port
    --------------
    65514
    

    我在配置工具中更改端口号,重新启动所有SQL Server服务,重新启动仍然无效。仍在侦听端口65514 注意我没有选择65514,这似乎是SQL Server的默认设置。

    2。缺少Sql Server配置管理器属性

    注意属性屏幕仅限于几个选项,通常有更多的原因是什么?也许是因为在Windows 10 Pro和Windows Server上运行?

    enter image description here

    enter image description here

    enter image description here

    3。连接登录失败

    仅从本地计算机登录。

    我为所有相关的SQL Server端口打开了防火墙

    • TCP 1433
    • TCP 65514(强制sql服务器端口)
    • TCP 65123(我想用的)
    • UDP 1434 Sql Server Browser

    我尝试通过多种方式登录

    • Sql Server Management Studio
    • Udl文件
    • 通过DataGrip进行Java连接

    自打开防火墙以来,所有连接都有效,但只有当主机名为127.0.0.1时,为什么我不能使用计算机名?如果我使用Windows登录但不使用SQL Server登录

    ,则连接也有效

    由于SQL Server日志中显示的错误(证明TCPIP连接到达SQL Server),登录失败。

    Login-based server access validation failed with an infrastructure error. Login lacks connect endpoint permission
    Date        24/04/2018 11:25:05
    Log     SQL Server (Current - 24/04/2018 11:20:00)
    
    Source      Logon
    
    Message
    Login failed for user 'SvrDeveloper'. Reason: Login-based server access validation failed with an infrastructure error. Login lacks      connect endpoint permission. [CLIENT: 127.0.0.1]
    

    Sql Server用户具有以下权限和设置(请参见屏幕截图)

    • 名称= SvrDeveloper
    • 服务器角色=公开
    • Securables = RAXLENOVOT560 \ MSSQL2016MAIN Type = Server
    • Securables = TSQL默认TCP类型= EndPoint

    连接

    Udl连接

    [oledb]
    ; Everything after this line is an OLE DB initstring
    Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=True;User ID="SvrAdmin";Password="Password123";Initial     Catalog="";Data Source=TCP:127.0.01\MSSQL2016MAIN,65514;Network Library=DBMSSOCN;Initial File Name="";Server SPN=""
    

    Java连接: JDBC:SQLSERVER://127.0.0.1:65514;的databaseName = CcTools;用户= SvrDeveloper;密码= Password123

    一些其他信息:

    enter image description here enter image description here

0 个答案:

没有答案