Compartir a través de


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 temasConvenciones 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 recopilación. collection_set_id es 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 obtener una lista de los tipos de recopiladores, consulte la vista del sistema syscollector_collector_types.

  • [ @name = ] 'name'
    Es el nombre de la recopilación. name es sysname y no puede ser una cadena vacía ni NULL.

    name debe ser único. Para obtener una lista de los nombres de elementos de recopilación actuales, consulte 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 tiene un valor predeterminado de 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 xml con el valor predeterminado NULL. El esquema parameters debe coincidir con el esquema de parámetros del tipo de recopilador.

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

Valores de código de retorno

0 (correcto) o 1 (error)

Notas

sp_syscollector_create_collection_item se debe ejecutar 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

Debe pertenecer a la función de base de datos fija 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 recopilación 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;