SQL Server 2012 中的元数据发现改进允许 SQL Server Native Client 应用程序确保从执行查询返回的列或参数元数据与执行查询之前指定的元数据格式相同或兼容。 如果查询执行后返回的元数据与查询执行之前指定的元数据格式不兼容,则会收到错误。
在 bcp 和 ODBC 函数以及 IBCPSession 和 IBCPSession2 接口中,现在可以指定延迟读取(延迟元数据发现),以避免查询出作的元数据发现。 这可以提高性能并消除元数据发现失败。
如果在 SQL Server 2012 中使用 SQL Server Native Client 开发应用程序,但连接到低于 SQL Server 2012 的服务器版本,元数据发现功能将对应于服务器的版本。
注解
SQL Server 2012 中增强了以下 bcp 函数,以提供改进的元数据发现:
使用 bcp_setbulkmode指定元数据格式时,你还将看到性能改进。
bcp_control 有一个新的 eOption 来控制bcp_readfmt的行为: BCPDELAYREADFMT。
SQL Server 2012 中增强了以下 ODBC 函数,以提供改进的元数据发现:
SQL Server 2012 中增强了以下 OLE DB 成员函数,以提供改进的元数据发现:
IColumnsInfo::GetColumnInfo
IColumnsRowset::GetColumnsRowset
ICommandWithParameters::GetParameterInfo(有关详细信息 ,请参阅 ICommandWithParameters )
使用 IBCPSession::BCPSetBulkMode 指定元数据格式时,还将看到性能改进
由于在 SQL Server 2012 中添加两个存储过程,SQL Server Native Client 中的元数据发现已改进:
sp_describe_first_result_set
sp_describe_undeclared_parameters