sp_syscollector_create_collection_item (Transact-SQL)

Aplica-se a:SQL Server

Cria um item de coleta em um conjunto de coleta definido pelo usuário. Um item de coleta define os dados a serem coletados e a frequência com a qual esses dados são coletados.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

O identificador local exclusivo para o conjunto de coleta. @collection_set_id é int, sem padrão.

[ @collector_type_uid = ] 'collector_type_uid'

O GUID que identifica o tipo de coletor a ser usado para este item. @collector_type_uid é uniqueidentifier, sem padrão. Para obter uma lista de tipos de coletor, consulte a exibição do syscollector_collector_types sistema.

[ @name = ] N'name'

O nome do item de coleta. @name é sysname e não pode ser uma cadeia de caracteres vazia ou NULL.

@name deve ser exclusivo. Para obter uma lista de nomes de item de coleção atuais, consulte a exibição do syscollector_collection_items sistema.

[ @frequency = ] frequência

Usado para especificar (em segundos) a frequência com que esse item de coleção coleta dados. @frequency é int, com um padrão de 5. O valor mínimo que pode ser especificado é de 5 segundos.

Se o conjunto de coleta estiver definido como modo não armazenado em cache, a frequência será ignorada, pois esse modo fará com que tanto a coleta de dados quanto o upload ocorram na agenda especificada para o conjunto de coleta. Para exibir o modo de coleta do conjunto de coleta, consulte a exibição do sistema syscollector_collection_sets (Transact-SQL ).

[ @parameters = ] N'parameters'

Os parâmetros de entrada do tipo de coletor. @parameters é xml, com um padrão de NULL. O esquema @parameters deve corresponder ao esquema de parâmetros do tipo coletor.

[ @collection_item_id = ] collection_item_id OUTPUT

O identificador exclusivo que identifica o item do conjunto de coleta. @collection_item_id é um parâmetro OUTPUT do tipo int.

Valores do código de retorno

0 (êxito) ou 1 (falha).

Comentários

sp_syscollector_create_collection_item deve ser executado no contexto do banco de dados do msdb sistema.

O conjunto de coleta para o qual o item de coleta está sendo adicionado deve ser interrompido antes da criação do item de coleta. Os itens de coleção não podem ser adicionados aos conjuntos de coleta do sistema.

Permissões

Requer associação na função de banco de dados fixa dc_admin (com permissão EXECUTE) para executar esse procedimento.

Exemplos

O exemplo a seguir cria um item de coleta baseado no tipo de coleta Generic T-SQL Query Collector Type e o adiciona ao conjunto de coleta denominado Simple collection set test 2. Para criar o conjunto de coleta especificado, execute o exemplo B em 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 T-SQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;

Confira também