在一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。
有两种类型的 SQL Server 实例:
1)默认实例:默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接 SQL Server 时只指定了计算机名,则 SQL Server 客户端组件将尝试连接这台计算机上的数据库引擎默认实例。
2)命名实例:除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。
计算机名和实例名以格式computer_name\instance_name指定。 一台计算机上可以运行多个命名实例。
数据库实例由各种高速缓冲池以及后台进程组成。数据库是数据以某中方式组织起来的数据集合,物理存储为数据库文件,数据库实例负责维护,访问来这些数据。
打个比方:
你在文本中有一些数据(数据库文件)需要计算,你就要写一个程序(后台进程),计算这些数据,如果计算中有源中间结果,你就需要把数据的中间结果放到内存中的一个区域中(高速缓冲池),然后再取出这些中间结果计算。
当然这只是打个比方,实际数据库实例要处理的东西要多得多。
举个很形象的例子(呵呵):
一个实例就像一台绞肉机,每台绞肉机都可以绞肉。
大块的肉放进去做为输入(T-SQL),碎肉挤出来做为输出(结果集)。
你每运行一次安装程序,只能装一台绞肉机。
当然,你可以在服务器上装好几台绞肉机,但是必须有不同的名字:绞肉机A,绞zhidao肉机B...
所谓的“实例”,就是一个 SQL Server 数据库引擎一个 数据库引擎 下面,又可以建立 多个数据库
例如我的计算机,SQL Server 实例的名字是 SQLEXPRESS
这个实例下面,有好几个数据库。
为什么要命名。就是我机器上,很有可能安装了 SQL Server 2005, 又安装了 SQL Server 2008。 2个服务器, 需要不同的名字来区分。
对于 网络请求来说
如果我要访问一个 SQL 数据库
必须提供 机器名 + 实例的名字,才能访问
例如:
C:\Documents and Settings\wzq>sqlcmd -S "localhost\SQLEXPRESS"
1>use stock
2>go
已将数据库上下文更改为 'Stock'。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)