使用 Shared Memory 协议创建有效的连接字符串

适用于SQL Server - 仅限 Windows

从运行在同一台计算机上的客户端到 SQL Server 的连接会使用共享内存和命名管道协议。 共享内存没有可配置的属性。 始终会先尝试使用共享内存,无法将其从“客户端协议属性”列表中“启用的协议”列表的顶部位置移开。 可以禁用 shared memory 协议,在排除其他某个协议的故障时,这样做很有用。

不能使用共享内存协议来创建别名,但是如果启用了共享内存,然后要通过名称连接到数据库引擎,可以创建共享内存连接。 共享内存连接字符串的格式为 lpc:<servername>[\instancename]

连接到本地服务器

当连接到与客户端运行在同一台计算机上的 SQL Server 时,可以使用 (local) 作为服务器名称。 由于此值不明确,因此不建议使用,但是当客户端运行在已知的计算机上时,此值还是有用的。 例如,当为断开连接的移动用户(其 SQL Server 运行在笔记本电脑上并存储相应的项目数据)创建应用程序时,连接到 (local) 的客户端就可以始终与运行在笔记本电脑上的 SQL Server 保持连接。 可以使用词语“localhost”或句点 (.) 来取代 (local)

验证连接协议

以下查询将返回当前连接所使用的协议。

SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;

示例

如果已启用共享内存协议,下列名称会使用该协议连接到本地计算机:

  • <servername>
  • <servername>\<instancename>
  • (local)
  • localhost

不能为共享内存连接创建别名。

注意

在“服务器”框中指定 IP 地址会导致命名管道或 TCP/IP 连接,具体取决于服务器的配置。

另请参阅