sql-server - 使用端口号的 SQL Server 名称

标签 sql-server

我正在使用 SQL Server Express 2014。我在 SQL Express 中使用以下连接字符串作为服务器名称。但失败了。

[我的服务器名称],1433\SQLEXPRESS

在sql server 2012中,我可以以[my servername],1433格式连接连接字符串

请有人建议我如何在 SQL Express 服务器的连接字符串中指定端口号?

最佳答案

首先,如果您没有手动更改端口,SQLEXPRESS 不会监听为默认实例保留的 1433,它使用 dynamic 端口,您可以在配置管理器或 SQL Server 错误日志中找到。 在这里您可以通过图片看到这两种方法:Identify SQL Server TCP IP port being used .

其次,不需要指定实例名称+端口,事实上,如果您这样做,实例名称实际上会被忽略,因此当您使用

[my servername]\SQLEXPRESS,1433

您将尝试连接到

[my servername],1433

这是因为要连接到服务器,您需要知道它的地址和端口,所以或者您使用

myServer,port

或者你使用

myServer\instanceName

在第一种情况下,底层网络库拥有连接所需的所有信息(IP + 端口)。在第二种情况下,需要启动 SQL Server Browser。 SQL Server 浏览器将根据给定的实例名称来通信实例端口

当您的连接字符串同时包含实例名称和端口时,仅使用端口而忽略实例名称,因此如果您使用错误的端口,即使使用正确的实例名称也无法连接。

关于sql-server - 使用端口号的 SQL Server 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46824012/

相关文章:

sql-server - 如果今天的日期介于 startDateTime 和 endDateTime 之间,则只选择一行,否则选择所有行

mysql - 通过比较列值来查询 3 个表,并且没有主键或外键关系

mysql - 内部连接后记录消失

sql-server - SQL 查询获取每个博客帖子的最新用户评论仅限于每个用户一个?

mysql - 查询以查找表的行数

sql - 保存 sql server sql 代理作业时出错

SQL 聚合使用 DISTINCT 对 ID 按最新日期

sql - 最多允许 10 个具有相同 GUID 的项目

sql - * 和显式字段列表的结果不同?

sql - 迷你数据库 - 子查询返回超过 1 个值