SQL Server 连接字符串 默认实例 vs. 命名实例

核心概念:默认实例 vs. 命名实例
SQL Server 允许在一台物理服务器上安装多个数据库服务,每个服务称为一个“实例”(Instance)。实例分为两种:

  • 默认实例(Default Instance):

没有单独的实例名。

在安装时,如果你不指定实例名,或者明确选择“默认实例”,就会安装一个默认实例。

连接时,只需要指定服务器的主机名或IP地址即可。例如:192.168.1.100、MyServerPC。

一台服务器上最多只能有一个默认实例。

  • 命名实例(Named Instance):

在安装时,你为其指定一个名称,例如 SQLEXPRESS、MSSQLSERVER2019、MYINSTANCE 等。

连接时,必须在服务器地址后面加上反斜杠 \ 和实例名。格式为:服务器名\实例名 或 IP地址\实例名。

例如:.\SQLEXPRESS、192.168.1.100\SQLEXPRESS、MyServerPC\MYINSTANCE。

一台服务器上可以安装多个命名实例。

    1. 为什么要加 \SQLEXPRESS?
      因为 SQLEXPRESS 是一个典型的“命名实例”的名称。

当你从官网下载 SQL Server Express 版(免费版本)时,它的默认安装选项就是将自己安装为一个名为 SQLEXPRESS 的命名实例。所以,绝大多数人的电脑上安装的 Express 版都是这个实例名。

.\SQLEXPRESS 中的点 . 是“本地服务器”的代称,指的是本机。所以这是在连接本机上的一个名为 SQLEXPRESS 的实例。

如果你想从另一台电脑连接这台安装了 Express 的电脑,就需要把点 . 换成目标电脑的 IP 地址或主机名,例如 192.168.1.100\SQLEXPRESS。

结论:加 \SQLEXPRESS 是因为你要连接的是一个名为 “SQLEXPRESS” 的命名实例。

    1. 为什么有的时候可以直接用IP地址就能连上?
      因为 那台目标服务器上存在一个“默认实例”。

如果你连接的服务器IP地址(如 192.168.1.100)在安装 SQL Server 时选择的是“默认实例”,那么你直接使用IP地址连接时,SQL Server 的客户端驱动就会自动去尝试连接该服务器上的默认实例。

本地连接的特殊情况:使用 (local) 或 .
在连接本机(即数据库和应用程序在同一台电脑上)时,除了用IP地址 127.0.0.1,还有一些特殊的别名:

. (一个点):代表本地计算机。

(local):代表本地计算机。

localhost:代表本地计算机。

所以,如果你本机有一个默认实例,你可以用:

.

(local)

localhost

127.0.0.1

如果你本机有一个名为 SQLEXPRESS 的命名实例,你就必须用:

.\SQLEXPRESS

(local)\SQLEXPRESS

localhost\SQLEXPRESS

*** 总结与类比**
你可以把这个概念类比成访问网站:

默认实例:就像访问一个网站的默认首页。你只需要输入域名(IP地址)即可,例如 https://www.google.com 。

命名实例:就像访问一个网站下的某个特定子站点或页面。你除了需要域名,还需要指定具体的路径(实例名),例如 https://www.example.com/blog 。这里的 blog 就相当于 \SQLEXPRESS。

如何判断该用哪种方式?
问安装者:最直接的方法是问部署这个SQL Server的人,他安装的是默认实例还是命名实例,实例名是什么。

查看服务列表:

在服务器电脑上,按 Win + R,输入 services.msc 打开服务窗口。

查找所有以 “SQL Server (...” 开头的服务。

括号里的名字就是实例名。如果看到 SQL Server (MSSQLSERVER),这就是默认实例(因为它没有单独的名字,就用MSSQLSERVER这个通用名代表)。如果看到 SQL Server (SQLEXPRESS),这就是一个名为 SQLEXPRESS 的命名实例。

使用 SQL Server 配置管理器:

在里面可以清晰地看到所有安装的实例及其完整名称。

SQLServer连接字符串 Server=localhost\SQLEXPRESS;database=XiangQueTiao;uid=sa;pWd=HYHHqjcf@224
****不用区分大小写 ****

posted @ 2025-09-01 17:08  $虫虫$  阅读(391)  评论(0)    收藏  举报