Compartilhar via


sp_syscollector_create_collection_item (Transact-SQL)

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.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

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
    É o identificador local exclusivo do conjunto de coleta. collection_set_id é int.

  • [ @collector\_type\_uid = ] 'collector_type_uid'
    É o GUID que identifica o tipo de coletor a ser usado para esse item. collector_type_uid é uniqueidentifier sem nenhum valor padrão. Para obter uma lista de tipos de coletor, consulte a exibição do sistema syscollector_collector_types.

  • [ @name = ] '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 dos nomes de itens de coleta atuais, consulte a exibição do sistema syscollector_collection_items.

  • [ @frequency = ] frequency
    É usado para especificar a frequência (em segundos) em que os dados são coletados por esse item de coleta. frequency é int, com um valor padrão 5. O valor mínimo que pode ser especificado é de 5 segundos.

    Se o conjunto de coleta estiver definido para o modo não armazenado em cache, a frequência será ignorada, pois esse modo faz com que a coleta e o carregamento dos dados ocorram conforme a 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.

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

  • [ @collection\_item\_id = ] collection_item_id
    É o identificador exclusivo que identifica o item do conjunto de coleta. collection_item_id é int e tem OUTPUT.

Valores de 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 sistema msdb.

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 coleta não podem ser e adicionados aos conjuntos de coleta do sistema.

Permissões

Exige a associação à função de banco de dados fixa dc_admin (com a permissão EXECUTE) para a execução desse 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 TSQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;

Consulte também

Referência

Procedimentos armazenados do 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)

Conceitos

Coleta de dados