Partilhar 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ópicoConvenções de 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 dos tipos de coletores, consulte a exibição de 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 dos itens de coleta atuais, consulte a exibição de sistema syscollector_collection_items.

  • [ @frequency = ] frequency
    É usado para especificar a frequência (em segundos) com que os dados são coletados por esse item de coleta. 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 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 de 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

Requer associação na função de banco de dados fixa dc_admin (com a 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 TSQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;