最近在看SQL,对于数据库,数据库实例,服务器这三个名字的意思不太理解,大家帮忙解释一下哦。

解决方案 »

  1.   

    数据库:http://baike.baidu.com/view/1088.htm
      

  2.   

    http://topic.csdn.net/u/20080916/15/faa911dc-bfd9-4f02-97b5-a1db9137216e.html这都有 
      

  3.   

    什么是数据库实例什么是数据库实例?一、就是一个在数据库中存在的,现实的数据库例子!数据库实例就是后台进程和数据库文件的集合。
    一个SQL Server服务器就是一个实例,2000支持在同一个NT/2000 Server操作系统装多个服务器,换言之,就是多个实例。 多个 SQL Server 实例 ,Microsoft® SQL Server™ 2000 支持在同一台计算机上同时运行多个 SQL Server 数据库引擎实例。每个 SQL Server 数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。应用程序连接同一台计算机上的 SQL Server 数据库引擎实例的方式与连接其它计算机上运行的 SQL Server 数据库引擎的方式基本相同。
    二、有两种类型的 SQL Server 实例:
    1)、默认实例
    SQL Server 2000 数据库引擎默认实例的运行方式与 SQL Server 早期版本的数据库引擎相同。默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接 SQL Server 时只指定了计算机名,则 SQL Server 客户端组件将尝试连接这台计算机上的数据库引擎默认实例。这保留了与现有 SQL Server 应用程序的兼容性。一台计算机上只能有一个默认实例,而默认实例可以是 SQL Server
    的任何版本。 
    2)、命名实例
    除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名以格式 computer_name\instance_name 指定。 一台计算机上可以运行多个命名实例,但只有 SQL Server 2000 数据库引擎才可作为命名实例运行。SQL Server 早期版本中的数据库引擎不能作为命名实例运行。
    实例主要应用于数据库引擎及其支持组件,而不应用于客户端工具。如果安装了多个实例,则每个实例都将获得各自唯一的一套:系统和用户数据库。
    -----------------------------------------------------------------------------------------------------------------------------------所谓“SQL实例”,实际上就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。 在一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。实例又分为“默认实例”和“命名实例”,如果在一台计算机上安装第一个SQL Server,命名设置保持默认的话,那这个实例就是默认实例。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。所以说,默认实例的名称是与计算机名相同,而不是称为"local",但一般情况下,如果要访问本机上的默认SQL服务器实例,使用计算机名、(local)、localhost、127.0.0.1、. 、本机IP地址都可以达到相同的目的。但如果要访问非本机的SQL服务器,那就必须使用计算机\实例名的办法。-------------------------------------------------------------------------------------------------------------------------------------三、处理多个实例
    尽管多个Microsoft SQL Server 2000 实例可在单台计算机上运行,但实例间没有直接连接。每个实例以多种方式运行,就像位于单独的服务器上。连接某一实例的应用程序除了通过分布式查询外,不能访问其它实例中创建的数据库中的对象。实例之间不能共享数据库和数据库文件。     SQL Server 2000   数据库引擎的命名实例与默认实例的行为几乎相同。两者的主要差别是命名实例要求用户必须提供标识命名实例的计算机名和实例名。如果仅指定computername,则使用默认实例。如果指定computername\instancename,则使用命名实例。       
    服务管理器。    
    如果在服务管理器中仅指定computername,则可停止和启动默认实例。如果指定 computername\instancename,则可停止和启动命名实例。当启动特定的实例时,对于任何使用具有访问数据库权限的授权ID连接实例的应用程序,都可使用在该实例中创建的所有数据库。     SQL Server企业管理器。    
    通过SQL Server 企业管理器,用户可以注册自己拥有权限的任何一个实例。在注册实例后,可根据授予的权限,创建、编辑和除去数据库中与实例相关联的对象。还可为该实例创建、编辑和除去数据转换服务、复制和SQL Server代理对象。     
    应用程序。    
    在一个应用程序中,如果在连接请求中指定 computername 作为服务器名参数,则连接计算机上的默认实例。用户可访问自己拥有访问权限的默认实例中的任何数据库。如果指定   computername\instancename   作为服务器名称参数,则连接命名实例。用户可访问自己拥有访问权限的命名实例中的任何数据库。当连接特定的实例时,只能通过分布式查询访问其它实例中的数据库对象,正如只能通过分布式查询访问其它服务器中的数据库对象一样。应用程序指定实例名的方式各不相同:  ADO 应用程序在提供程序字符串中指定"Server=computername\instancename"。有关更多信息,参见连接多个SQL Server 实例。  OLE DB应用程序在提供程序字符串中指定"Server=computername\instancename"。也可将DBPROP_INIT_DATASOURCE设置为   computername\\instancename(反斜杠必须通过另一个反斜杠转义)。有关更多信息,请参见建立与数据源的连接。      ODBC应用程序在SQLDriverConnect上指定的连接字符串中指定"Server=computername\instancename"。也可为SQLConnect上的参数   ServerName指定computername\\instancename,或通过已为服务器名称指定computername\instancename的数据源进行连接。有关更多信息,请参见SQLDriverConnect和 QLConfigDataSource支持。  SQL DMO应用程序可使用SQLServer2对象管理SQL Server 2000实例。有关更多信息,请参见 SQLServer2对象。    命令提示实用工具。    
    使用命令提示实用工具时,可通过   computername\instancename   使用服务器开关指定实例,例如:         osql   -E   -Scomputer1\instance1    sqlservr   /Sinstance1    isql   实用工具不支持命名实例。  SQL   Server   2000   客户端组件。 使用SQL Server 2000客户端组件的应用程序可枚举用于连接的实例:  
    用于 SQL Server 2000   的 OLE DB 提供程序使用   ISourcesRowset::GetSourcesRowset   返回实例名。命名实例名作为格式为   computername\instancename   的数据源名返回,其中的   computername   可以是单台计算机的名称,也可以是故障转移群集的虚拟服务器名称。默认实例名作为格式为   computername   的数据源名返回,不带实例名。     SQLServer2000 ODBC 驱动程序支持 SQLBrowseConnect 和 SQLSetConnectAttr   的扩展,这使应用程序得以枚举服务器上的实例。ODBC   应用程序还可确定   computername   是单个计算机名还是故障转移群集的虚拟服务器名。有关更多信息,请参见   SQLBrowseConnect。       SQL-DMO应用程序可使用 SQLServer2 对象枚举实例。SQLServer2 对象还提供诸如 SQLServer 名和实例的 SQL   Server代理服务名,以及实例是在单个计算机上运行还是在故障转移群集上运行等方面的信息。有关更多信息,请参见   SQLServer2  对象。      DB-Library   和用于   C   语言的嵌入式   SQL   不支持命名实例。    标识实例性能监视器计数器、事件探查器事件和事件查看器应用程序日志中的   Windows   事件都标识与它们相关联的   SQL   Server   实例。      
    如果连接命名实例,则   @@SERVERNAME   函数返回的字符串以   servername\instancename   的格式标识实例名。如果连接默认实例,则   @@SERVERNAME   仅返回   servername。有关更多信息,请参见   @@SERVERNAME。     SERVERPROPERTY   函数的INSTANCENAME 属性报告所连接实例的实例名。如果连接默认实例,则   INSTANCENAME   返回   NULL。另外,SERVERNAME   属性将返回与   @@SERVERNAME   返回的格式相同的字符串,并在连接命名实例时具有格式   servername\instancename。有关更多信息,请参见   SERVERPROPERTY。  
    尽管   @@SERVERNAME   和   SERVERNAME   报告的字符串采用相同的格式,但它们报告的信息可以不同,例如:           @@SERVERNAME   返回的字符串受   sp_addserver   和   sp_dropserver   操作的影响,而   SERVERNAME   报告的字符串则不受影响。         SERVERNAME   可自动报告计算机网络名中的更改,而   @@SERVERNAME   不报告这些更改,除非使用   sp_dropserver   和   sp_addserver   更改它报告的名称。默认实例
    SQLServer2000数据库引擎默认实例的运行方式与SQLServer早期版本的数据库引擎相同。默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接SQLServer时只指定了计算机名,则SQLServer客户端组件将尝试连接这台计算机上的数据库引擎默认实例。这保留了与现有SQLServer应用程序的兼容性。
    一台计算机上只能有一个默认实例,而默认实例可以是SQLServer的任何版本。
    命名实例
    除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名以格式computer_name\instance_name指定。
    一台计算机上可以运行多个命名实例,但只有SQLServer2000数据库引擎才可作为命名实例运行。SQLServer早期版本中的数据库引擎不能作为命名实例运行。
    数据库实例由各种高速缓冲池以及后台进程组成。
    数据库是数据以某中方式组织起来的数据集合,物理存储为数据库文件,数据库实例负责维护,访问这些数据。
    打个比方:你在文本中有一些数据(数据库文件)需要计算,你就要写一个程序(后台进程),计算这些数据,如果计算中有中间结果,你就需要把数据的中间结果放到内存中的一个区域中(高速缓冲池),然后再取出这些中间结果计算。
    当然这只是打个比方,实际数据库实例要处理的东西要多得多。每个实例运行一个对应一个SqlServer服务(sqlserver.exe) 答:一个实例,对应一个服务,与其他实例完全独立
    比如你机器名是A你可以在机器上建立两个命名实例X,Y连接时
    指定A\X,A\Y而如果是默认实例,指定A即可。个很形象的例子(呵呵):
    一个实例就像一台绞肉机,每台绞肉机都可以绞肉。
    大块的肉放进去做为输入(T-SQL),碎肉挤出来做为输出(结果集)。
    你每运行一次安装程序,只能装一台绞肉机。
    当然,你可以在服务器上装好几台绞肉机,但是必须有不同的名字:绞肉机A,绞肉机B...默认安装是,绞肉机的名字好像叫MSSQLSERVER如果你装了好几台绞肉机,使用的时候要这样去连接:\\ServerName\InstanceNameA\\ServerName\InstanceNameB\\ServerName\InstanceNameC
      

  4.   

    什么是数据库实例什么是数据库实例?
    一、就是一个在数据库中存在的,现实的数据库例子!数据库实例就是后台进程和数据库文件的集合。
    一个SQL Server服务器就是一个实例,2000支持在同一个NT/2000 Server操作系统装多个服务器,换言之,就是多个实例。 多个 SQL Server 实例 ,Microsoft® SQL Server™ 2000 支持在同一台计算机上同时运行多个 SQL Server 数据库引擎实例。每个 SQL Server 数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。应用程序连接同一台计算机上的 SQL Server 数据库引擎实例的方式与连接其它计算机上运行的 SQL Server 数据库引擎的方式基本相同。
    二、有两种类型的 SQL Server 实例:
    1)、默认实例
    SQL Server 2000 数据库引擎默认实例的运行方式与 SQL Server 早期版本的数据库引擎相同。默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接 SQL Server 时只指定了计算机名,则 SQL Server 客户端组件将尝试连接这台计算机上的数据库引擎默认实例。这保留了与现有 SQL Server 应用程序的兼容性。一台计算机上只能有一个默认实例,而默认实例可以是 SQL Server
    的任何版本。 
    2)、命名实例
    除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名以格式 computer_name\instance_name 指定。 一台计算机上可以运行多个命名实例,但只有 SQL Server 2000 数据库引擎才可作为命名实例运行。SQL Server 早期版本中的数据库引擎不能作为命名实例运行。
    实例主要应用于数据库引擎及其支持组件,而不应用于客户端工具。如果安装了多个实例,则每个实例都将获得各自唯一的一套:系统和用户数据库。
    -----------------------------------------------------------------------------------------------------------------------------------所谓“SQL实例”,实际上就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。 在一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。实例又分为“默认实例”和“命名实例”,如果在一台计算机上安装第一个SQL Server,命名设置保持默认的话,那这个实例就是默认实例。一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同。所以说,默认实例的名称是与计算机名相同,而不是称为"local",但一般情况下,如果要访问本机上的默认SQL服务器实例,使用计算机名、(local)、localhost、127.0.0.1、. 、本机IP地址都可以达到相同的目的。但如果要访问非本机的SQL服务器,那就必须使用计算机\实例名的办法。-------------------------------------------------------------------------------------------------------------------------------------三、处理多个实例
    尽管多个Microsoft SQL Server 2000 实例可在单台计算机上运行,但实例间没有直接连接。每个实例以多种方式运行,就像位于单独的服务器上。连接某一实例的应用程序除了通过分布式查询外,不能访问其它实例中创建的数据库中的对象。实例之间不能共享数据库和数据库文件。     SQL Server 2000   数据库引擎的命名实例与默认实例的行为几乎相同。两者的主要差别是命名实例要求用户必须提供标识命名实例的计算机名和实例名。如果仅指定computername,则使用默认实例。如果指定computername\instancename,则使用命名实例。       
    服务管理器。    
    如果在服务管理器中仅指定computername,则可停止和启动默认实例。如果指定 computername\instancename,则可停止和启动命名实例。当启动特定的实例时,对于任何使用具有访问数据库权限的授权ID连接实例的应用程序,都可使用在该实例中创建的所有数据库。     SQL Server企业管理器。    
    通过SQL Server 企业管理器,用户可以注册自己拥有权限的任何一个实例。在注册实例后,可根据授予的权限,创建、编辑和除去数据库中与实例相关联的对象。还可为该实例创建、编辑和除去数据转换服务、复制和SQL Server代理对象。     
    应用程序。    
    在一个应用程序中,如果在连接请求中指定 computername 作为服务器名参数,则连接计算机上的默认实例。用户可访问自己拥有访问权限的默认实例中的任何数据库。如果指定   computername\instancename   作为服务器名称参数,则连接命名实例。用户可访问自己拥有访问权限的命名实例中的任何数据库。当连接特定的实例时,只能通过分布式查询访问其它实例中的数据库对象,正如只能通过分布式查询访问其它服务器中的数据库对象一样。应用程序指定实例名的方式各不相同:  ADO 应用程序在提供程序字符串中指定"Server=computername\instancename"。有关更多信息,参见连接多个SQL Server 实例。  OLE DB应用程序在提供程序字符串中指定"Server=computername\instancename"。也可将DBPROP_INIT_DATASOURCE设置为   computername\\instancename(反斜杠必须通过另一个反斜杠转义)。有关更多信息,请参见建立与数据源的连接。      ODBC应用程序在SQLDriverConnect上指定的连接字符串中指定"Server=computername\instancename"。也可为SQLConnect上的参数   ServerName指定computername\\instancename,或通过已为服务器名称指定computername\instancename的数据源进行连接。有关更多信息,请参见SQLDriverConnect和 QLConfigDataSource支持。  SQL DMO应用程序可使用SQLServer2对象管理SQL Server 2000实例。有关更多信息,请参见 SQLServer2对象。    命令提示实用工具。    
    使用命令提示实用工具时,可通过   computername\instancename   使用服务器开关指定实例,例如:         osql   -E   -Scomputer1\instance1    sqlservr   /Sinstance1    isql   实用工具不支持命名实例。  SQL   Server   2000   客户端组件。 使用SQL Server 2000客户端组件的应用程序可枚举用于连接的实例:  
    用于 SQL Server 2000   的 OLE DB 提供程序使用   ISourcesRowset::GetSourcesRowset   返回实例名。命名实例名作为格式为   computername\instancename   的数据源名返回,其中的   computername   可以是单台计算机的名称,也可以是故障转移群集的虚拟服务器名称。默认实例名作为格式为   computername   的数据源名返回,不带实例名。     SQLServer2000 ODBC 驱动程序支持 SQLBrowseConnect 和 SQLSetConnectAttr   的扩展,这使应用程序得以枚举服务器上的实例。ODBC   应用程序还可确定   computername   是单个计算机名还是故障转移群集的虚拟服务器名。有关更多信息,请参见   SQLBrowseConnect。       SQL-DMO应用程序可使用 SQLServer2 对象枚举实例。SQLServer2 对象还提供诸如 SQLServer 名和实例的 SQL   Server代理服务名,以及实例是在单个计算机上运行还是在故障转移群集上运行等方面的信息。有关更多信息,请参见   SQLServer2  对象。      DB-Library   和用于   C   语言的嵌入式   SQL   不支持命名实例。    标识实例
    性能监视器计数器、事件探查器事件和事件查看器应用程序日志中的   Windows   事件都标识与它们相关联的   SQL   Server   实例。      
    如果连接命名实例,则   @@SERVERNAME   函数返回的字符串以   servername\instancename   的格式标识实例名。如果连接默认实例,则   @@SERVERNAME   仅返回   servername。有关更多信息,请参见   @@SERVERNAME。     SERVERPROPERTY   函数的INSTANCENAME 属性报告所连接实例的实例名。如果连接默认实例,则   INSTANCENAME   返回   NULL。另外,SERVERNAME   属性将返回与   @@SERVERNAME   返回的格式相同的字符串,并在连接命名实例时具有格式   servername\instancename。有关更多信息,请参见   SERVERPROPERTY。  
    尽管   @@SERVERNAME   和   SERVERNAME   报告的字符串采用相同的格式,但它们报告的信息可以不同,例如:           @@SERVERNAME   返回的字符串受   sp_addserver   和   sp_dropserver   操作的影响,而   SERVERNAME   报告的字符串则不受影响。         SERVERNAME   可自动报告计算机网络名中的更改,而   @@SERVERNAME   不报告这些更改,除非使用   sp_dropserver   和   sp_addserver   更改它报告的名称。默认实例
    SQLServer2000数据库引擎默认实例的运行方式与SQLServer早期版本的数据库引擎相同。默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接SQLServer时只指定了计算机名,则SQLServer客户端组件将尝试连接这台计算机上的数据库引擎默认实例。这保留了与现有SQLServer应用程序的兼容性。
    一台计算机上只能有一个默认实例,而默认实例可以是SQLServer的任何版本。
    命名实例
    除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名以格式computer_name\instance_name指定。
    一台计算机上可以运行多个命名实例,但只有SQLServer2000数据库引擎才可作为命名实例运行。SQLServer早期版本中的数据库引擎不能作为命名实例运行。
    数据库实例由各种高速缓冲池以及后台进程组成。
    数据库是数据以某中方式组织起来的数据集合,物理存储为数据库文件,数据库实例负责维护,访问这些数据。
    打个比方:你在文本中有一些数据(数据库文件)需要计算,你就要写一个程序(后台进程),计算这些数据,如果计算中有中间结果,你就需要把数据的中间结果放到内存中的一个区域中(高速缓冲池),然后再取出这些中间结果计算。
    当然这只是打个比方,实际数据库实例要处理的东西要多得多。每个实例运行一个对应一个SqlServer服务(sqlserver.exe) 答:一个实例,对应一个服务,与其他实例完全独立
    比如你机器名是A你可以在机器上建立两个命名实例X,Y连接时
    指定A\X,A\Y而如果是默认实例,指定A即可。个很形象的例子(呵呵):
    一个实例就像一台绞肉机,每台绞肉机都可以绞肉。
    大块的肉放进去做为输入(T-SQL),碎肉挤出来做为输出(结果集)。
    你每运行一次安装程序,只能装一台绞肉机。
    当然,你可以在服务器上装好几台绞肉机,但是必须有不同的名字:绞肉机A,绞肉机B...默认安装是,绞肉机的名字好像叫MSSQLSERVER如果你装了好几台绞肉机,使用的时候要这样去连接:\\ServerName\InstanceNameA\\ServerName\InstanceNameB\\ServerName\InstanceNameC帖一次太多了看得眼花
      

  5.   

    服务器定义 
      从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(如果一个PC对外提供ftp服务,也可以叫服务器)。
      从狭义上来讲,服务器是专指某些高性能计算机,能够通过网络,对外提供服务。相对于普通PC来说,在稳定性、安全性、性能等方面都要求更高,因此CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。
      

  6.   

    一个数据库服务器是指运行在局域网中的一台或多台服务器计算机上的数据库管理系统软件,数据库服务器为客户应用提供服务,这些服务是查询、更新、事务管理、索引、高速缓存、查询优化、安全及多用户存取控制等。
      典型的客户/服务器结构的软件层次如图3-30。在C/S模型中,数据库服务器软件(后端)主要用于处理数据查询或数据操纵的请求。与用户交互的应用部分(前端)在用户的工作站上运行。它们的连接软件是:
      ● 数据库服务器应用编程接口API,
      ● 通信连接软件和网络传输协议。
      ● 公用的数据存取语言──SQL
      2. 数据库服务器的优点
      (1) 减少编程量
      数据库服务器提供了用于数据操纵的标准接口API。
      (2) 数据库安全保证好
      数据库服务器提供监控性能、并发控制等工具。由DBA统一负责授权访问数据库及网络管理。
      (3) 数据可靠性管理及恢复好
      数据库服务器提供统一的数据库备份和恢复、启动和停止数据库的管理工具。
      (4) 充分利用计算机资源
      数据库服务器把数据管理及处理工作从客户机上分出来,使网络上各计算机的资源能各尽其用。
      (5) 提高了系统性能
      ● 能大大降低网络开销。
      ● 协调操作,减少资源竞争,避免死锁。
      ● 提供联机查询优化机制。
      (6) 便于平台扩展
      ● 多处理器(相同类型)的水平扩展。
      ● 多个服务器计算机的水平扩展。
      ● 垂直扩展:服务器可以移植到功能更强的计算机上,不涉及处理数据的重新分布问题
      

  7.   

    服务器
    http://baike.baidu.com/view/899.htm
      

  8.   

    各个名词定义
    数据库:http://baike.baidu.com/view/1088.htm
    数据库实例:http://bbs.51cto.com/thread-591913-1.html
    服务器:http://baike.baidu.com/view/899.html?wtp=tt