Compartir a través de


sp_syscollector_create_collection_item (Transact-SQL)

Se aplica a: SQL Server

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.

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 = ] N'name'
    [ , [ @frequency = ] frequency ]
    [ , [ @parameters = ] N'parameters' ]
    , [ @collection_item_id = ] collection_item_id OUTPUT
[ ; ]

Argumentos

[ @collection_set_id = ] collection_set_id

Identificador local único del conjunto de recopilación. @collection_set_id es int, sin ningún valor predeterminado.

[ @collector_type_uid = ] 'collector_type_uid'

GUID que identifica el tipo de recopilador que se va a usar para este elemento. @collector_type_uid es uniqueidentifier, sin valor predeterminado. Para obtener una lista de tipos de recopilador, consulte la vista del syscollector_collector_types sistema.

[ @name = ] N'name'

Nombre del elemento de colección. @name es sysname y no puede ser una cadena vacía o NULL.

@name deben ser únicos. Para obtener una lista de nombres de elementos de colección actuales, consulte la vista del syscollector_collection_items sistema.

[ @frequency = ] frequency

Se usa para especificar (en segundos) la frecuencia con la que este elemento de recopilación recopila datos. @frequency es int, con 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 no almacenado en caché, se omite la frecuencia, ya que este modo hace que la recopilación de datos y la carga se produzcan en la programación especificada para el conjunto de recopilación. Para ver el modo de colección del conjunto de recopilación, consulte la vista del sistema syscollector_collection_sets .

[ @parameters = ] N'parameters'

Parámetros de entrada del tipo de recopilador. @parameters es xml, con un valor predeterminado de NULL. El esquema @parameters debe coincidir con el esquema de parámetros del tipo de recopilador.

[ @collection_item_id = ] collection_item_id OUTPUT

Identificador único que identifica el elemento del conjunto de recopilación. @collection_item_id es un parámetro OUTPUT de tipo int.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

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

El conjunto de recopilación al que se agrega el elemento de recopilación debe detenerse antes de crear dicho elemento. No se pueden agregar elementos de colección a 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.

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 T-SQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;