我在Windows 10 Pro上安装了本地安装的SQL Server 2016(开发人员版)。有一个命名实例。我是使用MS SQL Management Studio和JetBrains DataGrip的开发人员。
我只是希望我的本地计算机中的连接能够使用SQL Server用户帐户通过TCPIP与SQL Server协同工作。目前,只能使用映射到ServerAdmin的Windows身份验证
命名实例
RAXLENOVOT560 \ MSSQL2016MAIN (身份验证是混合模式)
可能存在3个问题:
TCP端口号似乎未在Sql Server配置管理器中生效。
Sql Server配置管理器仅在客户端协议/ TCPIP设置上显示有限的属性。 (请看屏幕截图)
由于错误,Sql Server登录用户帐户无法通过TCP连接。在本地计算机上登录,从DataGrip到SQL Server进行本地开发。
我已将此设置为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的默认设置。
注意属性屏幕仅限于几个选项,通常有更多的原因是什么?也许是因为在Windows 10 Pro和Windows Server上运行?
仅从本地计算机登录。
我为所有相关的SQL Server端口打开了防火墙
我尝试通过多种方式登录
自打开防火墙以来,所有连接都有效,但只有当主机名为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用户具有以下权限和设置(请参见屏幕截图)
连接
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
版