SQL Server[编辑]
Microsoft SQL Server为微软公司的产品,是用于大规模联机事务处理、数据仓库和电子商务应用的数据库和数据分析平台。目前,很多行业使用SQL Server数据库技术。
分类:SQL Server2000、SQL Server2005、SQL Server2008(目前最全面的版本)
SQL Server2005包含的技术:SQL Server数据库引擎、SQL Server Analysis Services、SQL Server Integration Services(SSIS)、SQL Server复制、SQL Server Reporting Services、SQL Server Notification Services、SQL Server Service Broker、全文搜索、SQL Server工具和实用程序
在SQL Server2000中,面向数据库管理员和开发人员的设计和管理工具是企业管理器和查询分析器,而在SQL Server2005中是使用将二者功能结合在一起的SQL Server Management Studio。
SQL Server2008的特点:
· 可信任的——使得公司可以以很高的安 SQL Server 2008控制台管理界面全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
· 高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
· 智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
SQL Server2008的优劣势分析
故障转移群集的优劣分析。
故障转移群集由具有两个或多个共享硬盘的一个或多个节点或服务器组成。各应用程序将安装到一个称为资源组的群集服务群集组中。在任何时候,每个资源组都仅属于群集中的一个节点。该应用程序服务具有一个与节点名称无关的虚拟名称,称为故障转移群集实例名称。
应用程序可以通过引用故障转移群集实例名称与故障转移群集实例连接。应用程序不必知道哪一节点承载该故障转移群集实例。跟上面两个解决方案相比,这个故障转移群集解决方案可以说是一个基于硬件的解决方案。
故障转移群集解决方案也有不少的限制条件。有些限制条件跟数据库镜像的解决方案是相同的。如两个方案都只能够利用数据库的单个副本;需要在服务器实例范围内进行方案的实施(在镜像解决方案中比较确切的说法是需要在服务器作用范围内进行实施)。
另外对于股指群集解决方案中,还有另外的一些限制。如是因为基于硬件的解决方案,为此对于硬件有比较特殊的要求,如要求硬件必须是签名的硬件等等;另外也不能够防止磁盘故障等等。其次就是在报告功能上的限制。由于故障转移群集不致此后备用部分的报告功能,这或多或少让一些数据库管理员感到遗憾。
不过与其他解决方案相比,这个故障转移群集也有很大的优势。如具有自动监测和故障转移的特性。如在当前节点不可用时,这个解决方案可以自动监测到这种故障,并可以自动在节点之间进行故障转移。
假设在发生操作系统故障、非磁盘硬件故障或者对操作系统或者数据库系统进行升级时,可以在故障转移群集的一个节点上配置 SQL Server 实例,使其故障转移到磁盘组中的任意其他节点。不仅可以自动监测和故障转移,有时候出于特定的目的,还可以进行手动故障转移。如对数据库服务器进行升级时,可以手动的启动另外一个节点等等。另外最重要的一点就是可以透明客户端重定向。
复制解决方案的优劣分析
在SQLServer数据库中,复制也是提SQL Server 2008高可用性的一个常用的解决方案。复制使用发布-订阅模式。这样,主服务器(称为发布服务器)便可向一个或多个辅助服务器(即订阅服务器)分发数据。复制可在这些服务器间提供实时的可用性和可伸缩性。
它支持筛选,以便为订阅服务器提供数据子集,同时还支持分区更新。订阅服务器处于联机状态,并且可用于报告或其他功能,而无需进行查询恢复。SQL Server 提供三种复制类型:快照复制、事务复制以及合并复制。这里需要注意一点,在写项目文档的时候,需要注意不同解决方案中对于主服务器与备份服务器的称呼都是不同的。
如果数据库管理员在制作文档时发生张冠李戴的情况,虽然他们只是叫法不同,其代表的含义基本上相同。
采用复制这个解决方案,相比其他方案来说,主要的优势有两个。一个是可以实现数据刷选,即可以决定在订阅服务器中保存发布服务器中的哪些数据。订阅服务器可以使发布服务器的子集,包含其部分数据,而不是全部数据。数据同步的效率就会比较高,因为可能不需要对全部数据进行同步。另外一个优势就是复制这个解决方案,数据滞后的时间最短,即数据同步最及时。
日志传送的优劣分析。
跟数据库镜像一样,日志传送也是数据库级别的操作。通常情况下,可以使用日志传送来维护相应生产数据库的一个或者多个备用数据库。在日志传送中,这个生产服务器叫做主数据库服务器,备份服务器叫做辅助数据库。而在数据库镜像解决方案中,这个生产服务器也叫做主数据库服务器,不过这个辅助数据库则叫做镜像数据库。
虽然他们的名字相同,但是实际上代表着同一种含义。日志传送配置包括一个主服务器(包含主数据库),一个或多个辅助服务器(每个服务器包含一个辅助数据库)和一个监视服务器。每个辅助服务器从主数据库的日志备份按设置的时间间隔更新其辅助数据库。日志传送涉及到主服务器创建主数据库日志备份和辅助服务器还原日志备份之间用户可修改的延迟。发生故障转移之前,必须通过手动应用全部未还原的日志备份来完全更新辅助数据库。
日志传送的优势也很明显,如最大的优势可以根据需要来定义数据同步的时间,如可以将延迟的时间定义为从主服务器备份主数据库日志到辅助服务器必须还原日志备份之间的时间。在某些特定的应用环境中,这个特性会非常的有用。而且,针对单个主数据库可以在多个服务器实例上支持多个辅助数据库等等。
不过在有些情况下,这个日志传送解决方案往往不单独使用。例如将日志传送解决方案与数据库镜像结合使用。如此的话,这两个解决方案就能够各自发挥彼此的优势,以实现互补的目的。如日志传送具有支持多个备用数据库的灵活性。
如果需要多个备用数据库,可以单独使用日志传送或将其作为数据库镜像的补充。当这些解决方案一起使用时,当前数据库镜像配置的主体数据库同时也是当前日志传送配置的主数据库。
SQL发展历史 1970:E.J. Codd 发表了关系数据库理论(relational database theory);
1974-79:IBM 以Codd的理论为基础开发了“Sequel”,并重命名为"SQL";
1979:Oracle 发布了商业版SQL
1981-84:出现了其他商业版本,分别来自 IBM(DB2),Data General(DG/SQL),Relational Technology(INGRES);
SQL/86:ANSI 跟 ISO的第一个标准;
SQL/89:增加了引用完整性(referential integrity);
SQL/92(aka SQL2):被数据库管理系统(DBMS)生产商广发接受;
1997+:成为动态网站(Dynamic web content)的后台支持;
SQL/99:Core level跟其他8种相应的level,包括递归查询,程序跟流程控制,基本的对象(object)支持包括oids;
SQL/2003:包含了XML相关内容,自动生成列值(column values);
2005-09-30:“Data is the next generation inside...SQL is the new HTML”! Tim O'eilly提出了Web 2.0理念,称数据将是核心,SQL将成为“新的HTML";
SQL/2006:定义了SQL与XML(包含XQuery)的关联应用;
2006:Sun公司将以SQL基础的数据库管理系统嵌入Java V6
2007 :SQL Server 2008(Katmi)在过去的SQL2005基础上增强了它的安全性,主要在:简单的数据加密,外键管理,增强了审查,改进了数据库镜像,加强了可支持性。
SQL中的五种数据类型
简要描述一下SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型字符型
VARCHAR VS CHAR
VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符(?sql server中varchar类型最大长度可以到8000,oracle中可以到4000)。
假如你向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。
当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。
VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要。
但是VARCHAR型字段在读取得效率上却比不上CHAR,对于已经限定字符长度的字段来说用char则优于varchar,因为可以获得更快的读取速度。例如日期字段固定格式为yyyy-MM-dd型的字段,固定长度是10了,那么用CHAR则读取速度会更快。文本型
TEXT(Sql Server)
使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。
注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。
当你从HTML FORM的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不使用它。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。
一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。数值型
SQL支持许多种不同的数值型数据。你可以存储整数 INT 、小数 NUMERIC、和钱数 MONEY。
INT VS SMALLINT VS TINYINT
他们的区别只是字符长度:
INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数
SMALLINT 型数据可以存储从-32768到32768的整数
TINYINT 型的字段只能存储从0到255的整数,不能用来储存负数
通常,为了节省空间,应该尽可能的使用最小的整型数据。一个TINYINT型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见,你应该预测一下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。
NUMERIC
为了能对字段所存放的数据有更多的控制,你可以使用NUMERIC型数据来同时表示一个数的整数部分和小数部分。NUMERIC型数据使你能表示非常大的数——比INT型数据要大得多。一个NUMERIC型字段可以存储从-1038到1038范围内的数。NUMERIC型数据还使你能表示有小数部分的数。例如,你可以在NUMERIC型字段中存储小数3.14。
当定义一个NUMERIC型字段时,你需要同时指定整数部分的大小和小数部分的大小。如:NUMERIC(23,0)
一个 NUMERIC型数据的整数部分最大只能有28位,小数部分的位数必须小于或等于整数部分的位数,小数部分可以是零。
MONEY VS SMALLMONEY
你可以使用 INT型或NUMERIC型数据来存储钱数。但是,专门有另外两种数据类型用于此目的。如果你希望你的网点能挣很多钱,你可以使用MONEY型数据。如果你的野心不大,你可以使用SMALLMONEY型数据。MONEY型数据可以存储从-922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。
SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647 的钱数。同样,如果可以的话,你应该用SMALLMONEY型来代替MONEY型数据,以节省空间。逻辑型
BIT
如果你使用复选框( CHECKBOX)从网页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。日期型
DATETIME VS SMALLDATETIME(Sql Server)
一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。如果你不需要覆盖这么大范围的日期和时间,你可以使用SMALLDATETIME型数据。它与DATETIME型数据同样使用,只不过它能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。DATETIME型的字段用8个字节存储日期时间值,而SMALLDATETIME型的字段只使用4个字节存储精确到1分钟的日期时间。
DATETIME型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。
网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。