Share via


sp_syscollector_update_collection_item (Transact-SQL)

Se usa para modificar las propiedades de un elemento de recopilación definido por el usuario o para cambiar el nombre de un elemento de recopilación definido por el usuario.

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

Sintaxis

sp_syscollector_update_collection_item 
      [ [ @collection_item_id = ] collection_item_id ]
    , [ [ @name = ] 'name' ]
    , [ [ @new_name = ] 'new_name' ]
    , [ [ @frequency = ] frequency ]
    , [ [ @parameters = ] 'parameters' ]

Argumentos

  • [ @collection\_item\_id = ] collection_item_id
    Es el identifer único que identifica el elemento de recopilación. collection_item_id es de tipo int y su valor predeterminado es NULL. collection_item_id debe tener un valor si name es NULL.

  • [ @name = ] 'name'
    Es el nombre del elemento de colección. name es de tipo sysname y su valor predeterminado es NULL. name debe tener un valor si collection_item_id es NULL.

  • [ @new\_name = ] 'new_name'
    Es el nuevo nombre del elemento de recopilación. new_name es de tipo sysname y, si se utiliza, no puede ser una cadena vacía.

    new_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
    Es la frecuencia (en segundos) con que este elemento de recopilación recopila los datos. frequency es de tipo int y su valor predeterminado es 5, el valor mínimo que se puede especificar.

  • [ @parameters = ] 'parameters'
    Parámetros de entrada para el elemento de recopilación. 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.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

Si el conjunto de recopilación se establece en modo sin almacenamiento en caché, se omite el cambio de la frecuencia porque 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 estado del conjunto de recopilación, ejecute la consulta siguiente. Reemplace <collection_item_id> con el identificador del elemento de recopilación que se va a actualizar.

USE msdb;
GO
SELECT cs.collection_set_id, collection_set_uid, cs.name 
    ,'is running' = CASE WHEN is_running =  0 THEN 'No' ELSE 'Yes' END
    ,'cache mode' = CASE WHEN collection_mode = 0 THEN 'Cached mode' ELSE 'Non-cached mode' END
FROM syscollector_collection_sets AS cs
JOIN syscollector_collection_items AS ci 
ON ci.collection_set_id = cs.collection_set_id
WHERE collection_item_id = <collection_item_id>;

Permisos

Se debe pertenecer al rol fijo de base de datos dc_admin o dc_operator (con permiso EXECUTE) para poder ejecutar este procedimiento. Aunque dc_operator puede ejecutar este procedimiento almacenado, los miembros de este rol tienen limitaciones en cuanto a las propiedades que pueden cambiar. Las propiedades siguientes solo puede cambiarlas dc_admin:

  • @new\_name

  • @parameters

Ejemplos

Los ejemplos siguientes se basan en el elemento de recopilación creado en el ejemplo definido en sp_syscollector_create_collection_item (Transact-SQL).

A.Cambiar la frecuencia de la recopilación

En el ejemplo siguiente se cambia la frecuencia de recopilación para el elemento de recopilación especificado.

USE msdb;
GO
EXEC sp_syscollector_update_collection_item 
@name = N'My custom TSQL query collector item',
@frequency = 3000;
GO

B.Cambiar el nombre de un elemento de recopilación

En el ejemplo siguiente se cambia el nombre de un elemento de recopilación.

USE msdb;
GO
EXEC sp_syscollector_update_collection_item 
@name = N'My custom TSQL query collector item',
@new_name = N'My modified TSQL item';
GO

C.Cambiar los parámetros de un elemento de recopilación

En el ejemplo siguiente se cambian los parámetros asociados al elemento de recopilación. Se cambia la instrucción definida dentro del atributo <Value> y el atributo UseSystemDatabases está establecido en false. Para ver los parámetros actuales para este elemento, consulte la columna parameters de la vista del sistema syscollector_collection_items. Puede que necesite modificar el valor de @collection\_item\_id.

USE msdb;
GO
EXEC sp_syscollector_update_collection_item 
@collection_item_id = 9, 
@parameters = '
    <ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
        <Query>
            <Value>SELECT * FROM sys.dm_db_index_usage_stats</Value>
            <OutputTable>MyOutputTable</OutputTable>
        </Query>
        <Databases>
            <Database> UseSystemDatabases = "false" 
                       UseUserDatabases = "true"</Database>
        </Databases>
    </ns:TSQLQueryCollector>';
GO

Vea también

Referencia

Procedimientos almacenados del sistema (Transact-SQL)

sp_syscollector_create_collection_item (Transact-SQL)

syscollector_collection_items (Transact-SQL)

Conceptos

Recopilación de datos