|
|
1
3
为了理解这一点,我们首先简要介绍一下目前常用的两种主要协议:
两者都是TCP/IP协议套件的一部分。 tcp是客户端与sql server通信的主要协议。实际上,更正确的说法是客户机和sql server使用表格数据流(tds),但tds实际上位于tcp之上,当我们谈论windows、防火墙和其他网络设备时,规则和控件就是围绕这个协议构建的。所以我们只讲TCP。 udp不同于tcp,它不是面向连接的。一个“客户端”可以向任何它想要的人发送udp通信。没有任何东西可以协商通信连接,协议本身也没有任何东西可以协调通信顺序或类似的事情。如果需要,它必须由应用程序处理,或者由应用程序使用的udp之上构建的协议处理。 网络通信-与SQL Server对话 当设置了一个SQL Server实例时,它所侦听的TCP端口取决于它。默认实例将设置为侦听端口1433。命名实例将设置为在安装期间选择的随机端口。此外,命名实例将被配置为允许它动态更改该端口。这意味着,当一个命名实例启动时,如果它发现已经在使用它通常使用的端口,它将选择一个新端口。如果您有一个命名实例,并且您的连接跨越防火墙,那么您将希望使用SQL Server配置管理器设置静态端口。这将允许网络和安全人员配置他们的设备以获得最大的保护。虽然您可以更改SQL Server默认实例的网络端口,但大多数人不会。 网络通信-查找SQL Server 如果只为要连接到SQL Server的客户端(例如mysqlserver)指定了名称,则这是尝试连接到默认实例。在这种情况下,客户端将自动尝试与mysqlserver上的端口1433通信。如果已经为默认实例切换了端口,则需要告诉客户机正确的端口,通常在连接字符串中指定以下语法:,。例如,如果您将sql server移动到14330上监听,那么您将使用mysqlserver 14330,而不仅仅是mysqlserver。 网络通信.命名管道 命名管道是一种较旧的网络库通信机制,通常不再使用。它不应该跨防火墙使用。但是,如果出于某种原因需要使用它连接到SQL Server,则此协议也位于TCP之上。命名管道实际上是由操作系统使用的,它在协议中有自己的机制来确定在哪里路由通信。就网络通信而言,它监听TCP端口445。无论我们讨论的是默认的还是命名的sql server实例,这都是正确的。 你可以在这里找到完整的线索: https://www.mssqltips.com/sqlservertip/2182/network-communications-mechanisms-for-sql-server/ |
|
|
2
0
同样,当你向你最喜欢的搜索引擎(google、bing等)提交一个搜索时,他们也不会把他们的全部数据发送给你,只是为了让你能找到你要找的东西,数据库服务器也是如此。数据存储在服务器上(可能在网络上),每个人都访问这个地方。 |
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |