Detección de metadatos
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
La mejora de la detección de metadatos en SQL Server 2012 (11.x) permite que las aplicaciones del controlador OLE DB para SQL Server tengan la seguridad de que los metadatos de parámetro o columna que se devuelven de la ejecución de una consulta son idénticos o compatibles con el formato de los metadatos especificados antes de ejecutar la consulta. Se producirá un error si los metadatos devueltos tras la ejecución de la consulta no son compatibles con el formato de los metadatos especificados antes de la ejecución de la consulta.
En el caso de bcp y las interfaces IBCPSession e IBCPSession2, ahora se puede especificar una lectura diferida (detección de metadatos diferida) para evitar la detección de metadatos en operaciones de salida de consulta. De este modo, mejora el rendimiento y se eliminan los errores de detección de metadatos.
Si desarrolla una aplicación mediante el controlador OLE DB para SQL Server pero se conecta a una versión de servidor anterior a SQL Server 2012 (11.x), la funcionalidad de detección de metadatos se corresponderá con la versión del servidor.
Observaciones
Las funciones miembro de OLE DB siguientes se han perfeccionado en SQL Server 2012 (11.x) para proporcionar una detección de metadatos mejorada:
IColumnsInfo::GetColumnInfo
IColumnsRowset::GetColumnsRowset
ICommandWithParameters::GetParameterInfo (consulte ICommandWithParameters para más información)
También percibirá una mejora del rendimiento si especifica el formato de metadatos mediante IBCPSession::BCPSetBulkMode.
La detección de metadatos mejorada en OLE DB Driver for SQL Server es posible debido a la adición de dos procedimientos almacenados de SQL Server 2012 (11.x):
sp_describe_first_result_set
sp_describe_undeclared_parameters