SQL Server 实例是什么?与数据库的区别
讲清 SQL Server 实例(一次引擎部署)与数据库(实例里的数据容器)的层级关系,为什么连接目标写的是实例名而不是库名。
结论先行
实例 = 一套正在运行的 SQL Server 引擎服务,一次安装就诞生一个实例;数据库 = 实例里的数据容器,一个实例可以装多个库。连接目标永远先指到实例,进实例后再选库——这是最容易混的层级关系。
层级关系
服务器(一台机器)
└── 实例(一套引擎服务,可装多个)
├── 数据库 A
├── 数据库 B
└── 系统库(master / model / msdb / tempdb)
| 概念 | 数量关系 | 管理入口 |
|---|---|---|
| 实例 | 一台机器可并存多个 | Windows 服务里各有一套 SQL Server 服务 |
| 数据库 | 一个实例内多个 | SSMS 里展开实例节点可见 |
实例名在连接里怎么体现
- 默认实例:连接名只写机器名,如
SERVER01。 - 命名实例:写
SERVER01\MYINST,反斜杠后面是实例名。 - 装 SQL Server 2022 Developer 时选了「命名实例」,之后所有连接串、防火墙放行都要带实例名。
新手典型误报:「数据库连不上」其实连的是错的实例——机器上装了两套引擎(如 Developer + Express),连到错的那套上库根本不存在。
数据库层面的常识
- 每个实例自带四个系统库:master(控制实例本身)、model(建库模板)、msdb(SQL Agent 作业数据)、tempdb(临时对象,每次启动重建)。
- 业务库可以建、删、备份、还原,实例本身则对应一次安装部署。