SQL Server 2008 中的新增功能 (ADO.NET)
SQL Server 2008 引入了旨在提高开发人员、架构师和管理员的能力和效率的新功能和增强。改进包括新的 Transact-SQL 语句、数据类型和管理功能。有关新增功能的完整列表,请参见 SQL Server 2008 联机丛书中的 What's New (SQL Server 2008)(新增功能 (SQL Server 2008))。有关数据库引擎功能(例如新的 Transact-SQL 语句、管理工具和安全性增强),请参见 SQL Server 2008 联机丛书中的 What's New (Database Engine)(新增功能 [数据库引擎])。
SQL Server 2008 R2 中的新增功能
SQL Server 2008 R2 是 SQL Server 2008 的一个递增版本,此版本引入了增强的特性和功能,例如支持超过 64 个逻辑处理器、应用程序和多服务器管理功能、Master Data Services (MDS) 以及对 Reporting Services 的改进。有关新功能的完整列表,请参见 SQL Server 联机丛书中的 What's New in SQL Server 2008 R2(SQL Server 2008 R2 中的新增功能)。从 .NET Framework 4 开始,适用于 SQL Server 的 .NET Framework 数据提供程序 (System.Data.SqlClient) 完全支持 SQL Server 2008 数据库引擎的所有新功能。
SqlClient 对 SQL Server 2008 的支持
从 .NET Framework 3.5 Service Pack (SP) 1 开始,适用于 SQL Server 的 .NET Framework 数据提供程序 (System.Data.SqlClient) 完全支持 SQL Server 2008 数据库引擎的所有新功能。您必须安装 .NET Framework 3.5 SP1(或更高版本)才能将这些新功能与 SqlClient 一起使用。
以下主题位于 ADO.NET 文档中。
SQL Server 2008 中的日期和时间数据 (ADO.NET)
SQL Server 2008 引入了以下日期和时间数据类型。date
time
datetime2
datetimeoffset
这些新的数据类型支持更大范围的日期和时间值以及时区感知。有关 SQL Server 文档,请参见 SQL Server 2008 联机丛书中的 Using Date and Time Data(使用日期和时间数据)。
SQL Server 2008 中的 FILESTREAM 数据 (ADO.NET)
SQL Server 2008 为 varbinary(max) 列中存储的二进制数据引入了 FILESTREAM 存储属性。您可以使用该属性将数据存储在本地 NTFS 文件系统上,而不是存储在数据库文件中。有关 SQL Server 文档,请参见 SQL Server 2008 联机丛书中的 FILESTREAM Overview(FILESTREAM 概述)。SQL Server 2008 中的表值参数 (ADO.NET)
表值参数是 SQL Server 2008 中新的参数类型,可让您在客户端应用程序中包装数据行,然后使用单个参数化命令将其发送给服务器。传入的数据行存储在一个表变量中,然后您可以通过使用 Transact-SQL 对该表变量进行操作。有关 SQL Server 文档,请参见 SQL Server 2008 联机丛书中的 Table-Valued Parameters (Database Engine)(表值参数 [数据库引擎])。SQL Server 2008 中的大型 UDT (ADO.NET)
在 SQL Server 2005 中,UDT 的最大大小限制为 8KB。对于具有 UserDefined 格式的 UDT,此限制已删除。有关 SQL Server 文档,请参见 SQL Server 2008 联机丛书中的 Working with CLR User-Defined Types(使用 CLR 用户定义类型)。
类型系统版本更改
可用于客户端应用程序的功能取决于 SQL Server 版本和数据库的兼容性级别。SqlConnection.ConnectionString 中的 Type System Version 关键字可用于指定 SQL Server 类型的客户端表示形式。如果使用的是 SQL Server 的其他版本,则显式设置编写的客户端应用程序所针对的类型系统版本可避免导致应用程序中断的潜在问题。例如,如果指定 SQL Server 2000,则 UDT 列表示为 byte[] 数组。如果指定 SQL Server 2005,则这些列表示为托管类型。
下表中描述了可用的 Type System Version 值。
值 |
说明 |
---|---|
Latest |
使用此客户端-服务器所能处理的类型系统的最新版本。使用的版本会随着客户端和服务器组件的升级而自动升级。这是 ADO.NET 中的默认设置。 |
SQL Server 2000 |
使用 SQL Server 2000 类型系统。 |
SQL Server 2005 |
使用 SQL Server 2005 类型系统。 |
SQL Server 2008 |
使用 SQL Server 2008 类型系统。基于类型系统版本和服务器上指定的默认语言处理 Datetime 值。 |
为了与 SQL Server 2008 中引入的功能兼容,可以使用以下方法之一在连接字符串中显式提供 Type System Version。
Type System Version= SQL Server 2008;
Type System Version=Latest;
注意 |
---|
不能为 SQL Server 中在进程内执行的公共语言运行库 (CLR) 代码设置类型系统版本。有关更多信息,请参见 SQL Server 公共语言运行库集成 (ADO.NET)。 |
在运行时创建连接字符串时,也可以设置 SqlConnectionStringBuilder 的 TypeSystemVersion 属性。有关更多信息,请参见连接字符串生成器 (ADO.NET)。