相信大家都知道怎样使用数据操作语言(DML)对SQL Server表的数据进行插入、删除和更新等处理。有时候,我们需要用INSERT语句进行插入的数据实在是多得让人头疼,有很多传统但繁琐的方法可以用来插入大批量数据,不过SQL Server 2008提供了一种能够简化数据插入过程的新方法。本文将为大家简单介绍这些用来插入数据的方法之间的差异,其中包括SQL Server 2008提供的新方法——行值构造器(Row Value Constructor)。我们向表插入数据的传统方法有三个,介绍如下:方法一假设我们有一个名为MyTestDB的数据库,其中有一个名为MyTest1的表,数据库和表的创建过程如下: USE [master] GO IF EXISTS (SELECT name FROM sys.databases WHERE name = N'MyTestDB') DROP DATABASE [MyTestDB] GO Create database MyTestDB Go Use [My
.... [阅读全文]
一、前言: 目前,随着数据库系统和编程语言的不断发展,它们各自都有了自己专注的特定的功能而逐渐分离开。这导致产生了在现今的应用程序中的数据存储和业务逻辑之间的阻抗失谐。SQL Server 2008与Microsoft数据平台技术的结合使得你可以快速并轻松的建立能够消除这个失谐的综合的和可扩展的基于数据的解决方案。 尤其是,ADO.NET 实体框架为开发人员定义了一个新的方式来将数据放到易于使用的实体中,而一个叫做LINQ的创新技术定义了一个新的、强大的数据访问查询语法来与实际的任何数据类型直接通信,包括实体和SQL Server 2008。 SQL Server 2008专注于三个关键领域来满足目前的数据可编程性需求: ◆ 生产力。SQL Server 2008和Microsoft Visual Studio®为开发人员提供了新的数据模型、语法和团队合作工具,提高了开发人员的生产力。 ◆ 连接。SQL Server 2008支持新的和旧的连接技术,使得开发人员可以使用最适合他们的要求的技术。 ◆ 可扩展性。SQL Server 2008提供了一个
.... [阅读全文]
和以往微软开发的工具一样,版本越高其功能也就越为强大,即将发布的SQL Server 2008也是如此。SQL Server 2008是微软数据平台愿景中的一个主要部分,旨在满足目前和将来管理和使用数据的需求。SQL Server 2008引入了用于提高开发人员、架构师和管理员的能力和效率的新功能。不仅改进了包括Transact-SQL语句、数据类型和管理功能,还添加了许多新特性,比如数据集成功能,分析服务,报告服务,以及Office集成等等,但或许它最为吸引人的地方在于引入了商业智能。SQL Server 2008是一个集数据仓储、分析和生成报表功能为一身的可扩展的数据平台,提供给终端用户可以用来访问和分析商业信息的强大的和直觉工具,使用户能够:◆ 统一企业中所有数据的存储和访问。◆建立和管理复杂的商业智能解决方案。◆ 扩大用户的商业智能解决方案的范围,使其可以用于所有雇员。 SQL Server 2008并不是一款高不可攀的工具,通过与Office的深度集成,它为所有人提供了可用的商业智能,使公司里所有层级的雇员都可以用他们可以理解和习惯的方式,通过易用和功能强大的工具看
.... [阅读全文]
随着公司使用越来越多的应用程序来管理业务流程、提供新的服务、和获得对业务执行情况的观察,支持这些应用程序所需的应用程序服务器和数据存储服务器的数目显著地增多。在许多公司里,硬件成本以及部署和维护公司内的多个服务器的费用是主要的财政和后勤预算。 同时,在硬件和软件技术方面的提高意味着现代IT系统可以处理比之前多很多的工作量。这促使将软件服务合并到较少的物理服务器上,从而使得更多地使用较少的硬件。这降低了购买和维护服务器的相关成本,并使得可以实现更高效的和更有效的IT基础设施管理。Microsoft SQL Server 2008功能推出了服务器合并愿景的以下三个关键领域:· 灵活性:一个SQL Server 2008合并解决方案可以由在一个物理计算机上的一个单独的SQL Server实例中的多个数据库、或在一个物理计算机上的SQL Server的多个实例、或在一个物理计算机上的多个虚拟服务器组成。通过支持所有这些合并方法,SQL Server 2008使得公司可以根据所需要的性能选择适当的隔离等级。SQL Server 2008还提供了几个工具用来将数据和数据库移植到一个合
.... [阅读全文]
SQL Server 2008将包含用于合并两个行集(rowset)数据的新句法。根据一个源数据表对另一个数据表进行确定性的插入、更新和删除这样复杂的操作,运用新的MERGE语句,开发者用一条命令就可以完成。对两个表进行信息同步时,有三步操作要进行。首先要处理任何需要插入目标数据表的新行。其次是处理需要更新的已存在的行。最后要删除不再使用的旧行。这个过程中需要维护大量重复的逻辑,并可能导致微妙的错误。Bob Beauchemin讨论了MERGE语句,这个语句将上述的多个操作步骤合并成单一语句。他给出了如下的例子:以下是引用片段: merge [target] t using [source] s on t.id = s.id when matched then update t.name = s.name, t.age = s.age --
.... [阅读全文]
在过去的20年数据库得到了普遍使用,并迅速发展。存储和技术成本的降低导致大量地存储数据和数据库的急剧扩大。由于这个简单有效的技术,内嵌的数据库和许多产品应运而生,并使得公司可以存储更多的数据,并保持更久的时间,所以公司想合并他们的服务器。 SQL Server 2008专注于四个关键领域来满足现今的OLTP数据库需求: · 可扩展性和性能。SQL Server 2008使得公司可以建立具有现今的应用程序所要求的性能和扩展能力的数据库解决方案。 · 高有效性。SQL Server 2008提供了一个具有实时(always-on)能力的数据库应用程序,同时将你的高有效性解决方案的管理和执行花费降低到最小。 · 安全性。SQL Server 2008支持一个增强的安全数据平台,它将你的数据加密,审查对你的数据和元数据的改动,合并外部的密钥,并将备份文件中的数据加密和签名。 · 可管理性。SQL Server 2008通过提供创新的和自动的基于政策的管理和改进了用于性能监控、故障
.... [阅读全文]
SQL Server 2008的独到之处: 安装 SQL Server 2008的设置和安装也有所改进。配置数据和引擎位已经分开了,所以它使创建基本的未配置系统的磁盘图像变得可能了,它使分布到多个服务器变得更容易了。从微软的站点也可以找到安装可用的最新更新。另一个特点是有能力把安装SQL、SP和补丁做一个单一的步骤进行了。另一个的最后的特点是,有能力卸载SP了。 关键领域 当回顾微软关于SQL Server 2008的文档时注意到的第一条就是术语分类的特点和用途分组的特点、或者关键领域。有四个关键领域:企业数据平台、动态开发、超越关系型数据库和无处不在的远见。本文将按照这些分类尽量使涉及到的微软的文章简单化。 终止对SQL 2000的支持 对SQL 2000的主流支持将被终止。主流支持的特点和好处包括提交对产品特点改变的要求、安全方面的更新、非安全方面的补丁、免费的支持和付费的支持。对SQL Server 2000 64-bit版本、SQL Server 2000开发版、SQL Server 2000企业版、SQL Serve
.... [阅读全文]
关于SQL Server压缩的故事,最早是从SQL Server 2005开始的,在企业版和开发版中增加了一种叫做vardecimal的新存储格式,这个表级的选项会影响到decimal和numeric字段。当对值的精度要求低于字段可用精度,如在一个decimal(18,9)类型的字段中存储1.5这个数值时,存储上就需要有相应的压缩。从效果上来看,它就是一个varchar类型的数字型版本。SQL Server 2008所包含的已远不止这些小技巧: 无论从哪方面来看,SQL Server 2008的数据压缩都与现在有着巨大的差异(尽管它依然支持或者说包括vardecimal类型)——引起这种差异的真像是,如果你对一个给定的table/index启用压缩功能,那么底层的row/page格式将不再相同——是的,就是这样,你听得没错——如果你使用压缩(ROW或者PAGE),那么SQL 2008的row/page格式将不同于现有的格式(如果你只是在table/index上使用压缩的话)。因此,在SQL 2008中,有两种,没错
.... [阅读全文]
1 导言Microsoft 在Microsoft SQL Server 2000中推出了与XML相关的功能以及Transact-SQL 关键字FOR XML和OPENXML ,这使得开发人员可以编写Transact-SQL代码来获取XML流形式的查询结果,并将一个XML文档分割成一个rowset。SQL Server 2005显著的扩展了这些XML功能,推出了一个支持XSD schema验证、基于XQuery的操作和XML索引的本地的xml 数据类型。SQL Server 2008建立在之前版本的XML功能基础之上,做了改进来迎接客户在存储和操纵数据库中的XML数据时所面临的挑战。2 SQL Server XML 功能的发展历程SQL Server的XML功能随着从SQL Server2000版本以来的每一个版本而不断发展。在我们检查SQL Server 2008中的改进之前,通过之前的版本来总结XML功能的发展历程可能会比较有用。2.1 SQL Server 2000中的XML功能在SQL Server 2000中,Microsoft 推出了Transact-SQL 关键字FOR X
.... [阅读全文]
表值参数(Table-valued parameter)是SQL Server 2008的一个新特性,在以前的版本中,没有办法把表变量当作一个参数传递给存储过程。微软在SQL Server2008中引入了表值参数的特性,可以实现这项功能。 表值参数有两大优点:一是它不需要为初始的数据加锁,二是它不会导致语句重新编译。 表值参数的创建和使用包括以下步骤: 1) 创建表类型 2) 创建一个可将表类型作为参数来接受的存储过程或函数 3) 创建表变量并插入数据 4) 调用该存储过程和函数,并将表变量作为参数传递。 下面,我们来一步步分解这个创建和使用的过程。首先,我们用以下的DDL SQL语句来创建一个名为“TestDB”的测试数据库: USE [master] GO IF EXISTS (SELECT name FROM sys.databases WHERE name = N'TestDB')
.... [阅读全文]
在使用MYsql的时候,在操作不当时,很容易出现 ERROR 1005 (HY000): Can't create table 这类错误。很多站长朋友可能需要排查很久才会找到问题的原因其实很简单,希望这篇文章可以对站长朋友以及Mysql初学者一点帮助。MYSQL官方提供的问题原因:在信息中有一组【LATEST FOREIGN KEY ERROR】会有最近错误的详细描述和解决办法。Cannot find an index in the referenced table where the referenced columns appear as the first columns, or column types in the table and the referenced table do not match for constraint.(译:不能在“被reference的表”里找到包含“被reference字段”的索引,或者是两个关联字段类型不匹配)以下介绍两个示例:示例一:
.... [阅读全文]