Обнаружение метаданных
Улучшенное обнаружение метаданных в SQL Server 2012 позволяет гарантировать, что в приложениях собственного клиента SQL Server метаданные столбца или параметра, возвращенные в результате выполнения запроса, будут полностью соответствовать формату метаданных, указанному до выполнения запроса, или будут совместимы с ним. Если формат метаданных, возвращенных в результате выполнения запроса, будет несовместим с форматом, указанным до выполнения запроса, возвращается ошибка.
В функциях bcp и ODBC, а также интерфейсах IBCPSession и IBCPSession2 теперь можно задавать отложенное чтение (отложенное обнаружение метаданных), чтобы избежать обнаружения метаданных для операций с параметром queryout. Это позволяет повысить производительность и устранить ошибки обнаружения метаданных.
Если при разработке приложения с помощью собственного клиента SQL Server в SQL Server 2012 выполняется подключение к серверу с версией, более ранней, чем 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 стало возможным благодаря добавлению в SQL Server 2012 двух хранимых процедур:
sp_describe_first_result_set
sp_describe_undeclared_parameters