Share via


sp_syscollector_create_collection_item (Transact-SQL)

Crea un elemento de recopilación en un conjunto de recopilación definido por el usuario. Los elementos de recopilación definen los datos que se van a recopilar y la frecuencia con la que se realizará dicha recopilación.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_syscollector_create_collection_item 
      [ @collection_set_id = ] collection_set_id 
    , [ @collector_type_uid = ] 'collector_type_uid'
    , [ @name = ] 'name' 
    , [ [ @frequency = ] frequency ]
    , [ @parameters = ] 'parameters'
    , [ @collection_item_id = ] collection_item_id OUTPUT

Argumentos

  • [ @collection\_set\_id = ] collection_set_id
    Es el identificador único local del conjunto de recopilaciones. collection_set_id es de tipo int.

  • [ @collector\_type\_uid = ] 'collector_type_uid'
    Es el GUID que identifica el tipo de recopilador que va a utilizar este elemento. collector_type_uid es de tipo uniqueidentifier y no tiene ningún valor predeterminado. Para una lista de tipos de recopilador, vea la vista de sistema syscollector_collector_types.

  • [ @name = ] 'name'
    Es el nombre del elemento de colección. name es de tipo sysname y no puede ser una cadena vacía o NULL.

    name debe ser único. Para obtener una lista de los nombres de elementos de recopilación actuales, vea la vista del sistema syscollector_collection_items.

  • [ @frequency = ] frequency
    Se utiliza para especificar (en segundos) la frecuencia con la que este elemento de recopilación reúne los datos. frequency es de tipo int y su valor predeterminado es 5. El valor mínimo que se puede especificar es 5 segundos.

    Si el conjunto de recopilación se establece en modo sin almacenamiento en caché, se omite la frecuencia porque este modo hace que la recopilación de datos y la carga se produzcan con la programación especificada para el conjunto de recopilación. Para ver el modo de recopilación del conjunto de recopilación, consulte la vista del sistema syscollector_collection_sets.

  • [ @parameters = ] 'parameters'
    Parámetros de entrada del tipo de recopilador. parameters es de tipo xml y su valor predeterminado es NULL. El esquema parameters debe coincidir con el esquema de parámetros del tipo de recopilador.

  • [ @collection\_item\_id = ] collection_item_id
    Es el identifer único que identifica el elemento del conjunto de recopilación. collection_item_id es de tipo int y tiene OUTPUT.

Valores del código de retorno

0 (correcto) o 1 (error)

Comentarios

Se debe ejecutar sp_syscollector_create_collection_item en el contexto de la base de datos del sistema msdb.

El conjunto de recopilación al que se agrega el elemento de recopilación debe detenerse antes de crear dicho elemento. Los elementos de recopilación no se pueden agregar a los conjuntos de recopilación del sistema.

Permisos

Requiere la pertenencia al rol fijo de base de datos dc_admin (con permiso EXECUTE) para ejecutar este procedimiento.

Ejemplos

En el ejemplo siguiente se crea un elemento de recopilación en función del tipo de recopilador Generic T-SQL Query Collector Type y se agrega al conjunto de recopilación denominado Simple collection set test 2. Para crear el conjunto de recopilación especificado, ejecute el ejemplo B en sp_syscollector_create_collection_set (Transact-SQL).

USE msdb;
GO
DECLARE @collection_item_id int;
DECLARE @collection_set_id int = (SELECT collection_set_id 
                                  FROM syscollector_collection_sets
                                  WHERE name = N'Simple collection set test 2');
DECLARE @collector_type_uid uniqueidentifier = 
    (SELECT collector_type_uid
     FROM syscollector_collector_types
     WHERE name = N'Generic T-SQL Query Collector Type');
DECLARE @params xml = 
    CONVERT(xml, N'<ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
            <Query>
                <Value>SELECT * FROM sys.objects</Value>
                <OutputTable>MyOutputTable</OutputTable>
            </Query>
            <Databases> 
                <Database> UseSystemDatabases = "true" 
                           UseUserDatabases = "true"
                </Database>
            </Databases>
         </ns:TSQLQueryCollector>');

EXEC sp_syscollector_create_collection_item
    @collection_set_id = @collection_set_id,
    @collector_type_uid = @collector_type_uid,
    @name = 'My custom TSQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;

Vea también

Referencia

Procedimientos almacenados del sistema (Transact-SQL)

sp_syscollector_update_collection_item (Transact-SQL)

sp_syscollector_delete_collection_item (Transact-SQL)

syscollector_collector_types (Transact-SQL)

sp_syscollector_create_collection_set (Transact-SQL)

syscollector_collection_items (Transact-SQL)

Conceptos

Recopilación de datos