每一个单独的SQL server实例都有一个windows进程:sqlservr.exe,一个windows下能安装多个实例,多个实例会有多个sqlservr.exe进程。sql
一个SQL实例在后台对应一个服务,若是多个应用程序放在一个实例里,若是某个应用开发的程序有问题,好比死循环,会致使服务中止,从而致使全部数据库没法工做。能够采用多实例分开方式。数据库
一个服务器上能够装多个实例,标准版(16个)和企业版(50个)支持的实例数量不一样。express
SQL server实例的类型windows
(一)默认实例和命名实例缓存
一、服务中服务名称的区别服务器
默认实例:MSSQLSERVER;网络
命名实例:实列名为:SQL01,在服务中的名称是:MSSQL$SQL01。若是你有多个实例的时候会在服务中出现多个服务名称.ide
二、链接到SSMS时候的区别工具
默认实例可使用点号、“(local)”、“计算机名称”直接链接spa
命名实例使用计算机名\实例名链接。使用的名称是:computername\SQL01
三、SQL Server 2005 的默认实例和命名实例的文件位置
不管是默认的仍是命名的实例,都有本身的一套程序文件和数据文件,以及一套在计算机上的全部实例之间共享的公共文件。
对于包含数据库引擎、Analysis Services 和 Reporting Services 的 SQL Server 实例,每一个组件都有一套完整的数据文件和可执行文件,以及由全部组件共享的公共文件。
为了隔离每一个组件的安装位置,在给定的 SQL Server 实例中为每一个组件都生成了惟一的实例 ID。这使单个组件能够升级到未来的 SQL Server 版本,而与其余 SQL Server 组件无关。
请不要***下列任何目录或其中的内容:Binn、Data、Ftdata、HTML 或 1033。若有必要,能够***其余目录;可是,若是不卸载并从新安装 SQL Server 2005,则可能没法检索失去的功能或数据。
不要***或修改 HTML 目录中的任何 .htm 文件。它们对于 SQL Server 工具的正常运行是必需的。
单台计算机上的全部实例使用的公共文件安装在文件夹 systemdrive:\Program Files\Microsoft SQL Server\90 中,其中 systemdrive 是安装组件的驱动器号。一般为驱动器 C。
参考:http://technet.microsoft.com/zh-cn/library/ms143547(SQL.90).aspx
四、实例ID
SQL Server 安装过程当中,为每一个服务器组件生成一个实例 ID。此 SQL Server 版本中的服务器组件是数据库引擎、Analysis Services 和 Reporting Services。实例 ID 的格式为 MSSQL.n,其中 n 是安装组件的序号。实例 ID 用在文件目录和注册表根目录中。
第一个生成的实例 ID 为 MSSQL.1,其余实例的 ID 号依次递增,如 MSSQL.2,MSSQL.3 等。若是因为卸载而使 ID 序列中断,则将生成 ID 号来填充中断。最新安装的实例可能并不老是有最高的实例 ID 号。
五、SQL express
在 SQL Server Express 中,默认状况下始终使用命名实例。您能够在安装 SQL Server Express 时指定实例名,不然,将使用默认命名实例 SQLExpress。若是使用默认命名实例,则能够将该实例引用为 computername\SQLExpress。
若是安装有默认实例的服务器中未安装其余版本的 SQL Server,则能够将 SQL Server Express 做为默认 SQL Server 实例进行安装。为此,请使用实例名 MSSQLSERVER 将 SQL Server Express 安装在命名实例中。这样可强制安装程序将 SQL Server Express 做为默认的未命名实例进行安装。
下图是一个正在安装默认实例的例子。
(二)本机实例和群集实例
笼统来讲,若是SQL server没有进行故障转移群集部署,那SQL server的实例就是本机实例。
为了更好地理解群集实例,能够参考博客文章:http://543925535.blog.51cto.com/639838/1179319
2014.6.26日补充
======================================================================
群集实例的每一个节点都提供相同的服务。而单机实例指一台机器上面安装的SQL实例,无论单台机器安装了多少个SQL实例,每个单独的实例都叫单机实例。
一个实例是一个网络标识,对外提供服务,里面能够有多个数据库。
SQL实例和Oracle的实例不太同样,Oracle的实例相似于SQL的数据库。
2014.6.27日补充
======================================================================
安装多实例的时候,每一个实例能够侦听独立的SQL TCP/IP端口;默认是1433端口,可是能够修改的;1433是国际上专门预留给SQL SERVER,Oracle是1521,这个只针对默认实例是这样的;若是继续安装命名实例,默认使用动态TCP端口1024-65535之间,须要的话也能够设置静态的TCP端口,方便防火墙开放;设置静态端口要防止本机上的端口冲突;使用SQL server browser服务来侦听尝试链接SQL server命名实例的网络要求(UDP 1434),提供指定的命名实例侦听的TCP端口号,若是有缓存之后就不须要了,若是只安装了默认实例,则该服务安装后是禁用的,由于SQL不须要这个服务,若是是命令实例安装,则browser服务会设置为自动启动安装;全部实例只有一个browser服务;无论一台服务器上安装了多少个SQL实例,始终都只会有一个browser服务。
=======================================================================