Compartilhar via


sp_syscollector_update_collection_set (Transact-SQL)

Usado para modificar as propriedades de um conjunto de coleta definido pelo usuário ou para renomear um desses conjuntos.

Observação sobre cuidadosCuidado

Nos casos em que a conta do Windows configurada como um proxy é um usuário não interativo ou interativo que ainda não fez logon, o diretório de perfil não existirá e a criação do diretório de preparo falhará. Portanto, se você estiver usando uma conta proxy em um controlador de domínio, deverá especificar uma conta interativa que tenha sido usada pelo menos uma vez para assegurar que o diretório de perfil foi criado.

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

Sintaxe

sp_syscollector_update_collection_set 
    [ [ @collection_set_id = ] collection_set_id ]
    , [ [ @name = ] 'name' ]
    , [ [ @new_name = ] 'new_name' ]
    , [ [ @target = ] 'target' ]
    , [ [ @collection_mode = ] collection_mode ]
    , [ [ @days_until_expiration = ] days_until_expiration ]
    , [ [ @proxy_id = ] proxy_id ]
    , [ [ @proxy_name = ] 'proxy_name' ]
    ,[ [ @schedule_uid = ] 'schedule_uid' ]
    ,[ [ @schedule_name = ] 'schedule_uid' ]
    , [ [ @logging_level = ] logging_level ]
    , [ [ @description = ] 'description' ]

Argumentos

  • [ @collection\_set\_id = ] collection_set_id
    É o identificador local exclusivo do conjunto de coleta. collection_set_id é int e deverá ter um valor se name for NULL.

  • [ @name = ] 'name'
    É o nome do conjunto de coleta. name é sysname e deverá ter um valor se collection_set_id for NULL.

  • [ @new\_name = ] 'new_name'
    É o novo nome do conjunto de coleta. new_name é sysname e, se usado, não poderá ser uma cadeia de caracteres vazia. new_name deve ser exclusivo. Para obter uma lista dos nomes dos conjuntos de coleta atuais, consulte a exibição do sistema syscollector_collection_sets.

  • [ @target = ] 'target'
    Reservado para uso futuro.

  • [ @collection\_mode = ] collection_mode
    É o tipo de coleta de dados a ser usado. collection_mode é smallint e pode ter um dos seguintes valores:

    0 - Modo cache. A coleção e o carregamento de dados estão em agendas separadas. Especifique o modo cache para a coleta contínua.

    1 - Modo não armazenado em cache. A coleção e o carregamento de dados estão na mesma agenda. Especifique o modo não armazenado em cache para a coleta ad hoc ou de instantâneo.

    Se você estiver alterando do modo não armazenado em cache para o modo cache (0), também será necessário especificar schedule_uid ou schedule_name.

  • [ @days\_until\_expiration= ] days_until_expiration
    É o número de dias durante os quais os dados coletados são salvos no data warehouse de gerenciamento. days_until_expiration é smallint. days_until_expiration deve ser 0 ou um número inteiro positivo.

  • [ @proxy\_id = ] proxy_id
    É o identificador exclusivo de uma conta proxy do SQL Server Agent. proxy_id é int.

  • [ @proxy\_name = ] 'proxy_name'
    É o novo nome do proxy. proxy_name é sysname e é anulável.

  • [ @schedule\_uid = ] 'schedule_uid'
    É o GUID que aponta para uma agenda. schedule_uid é uniqueidentifier.

    Para obter o schedule_uid, consulte a tabela do sistema sysschedules.

    Quando collection_mode estiver definido como 0, schedule_uid ou schedule_name deve ser especificado. Quando collection_mode estiver definido como 1, schedule_uid ou schedule_name será ignorado se especificado.

  • [ @schedule\_name = ] 'schedule_name'
    É o nome da agenda. schedule_name é sysname e é anulável. Se especificado, schedule_uid deverá ser NULL. Para obter o schedule_name, consulte a tabela do sistema sysschedules.

  • [ @logging\_level = ] logging_level
    É o nível de registro em log. logging_level é smallint com um destes valores:

    0 - informações de execução de log e eventos do SSIS que monitoram:

    • Iniciar/parar conjuntos de coleta

    • Iniciar/parar pacotes

    • Informações de erro

    1 - log de nível 0 e:

    • Estatísticas de execução

    • Progresso da coleta em execução contínua

    • Eventos de advertência do SSIS

    2 - log de nível 1 e informações de evento detalhadas do SSIS.

    O valor padrão de logging_level é 1.

  • [ @description = ] 'description'
    É a descrição do conjunto de coleta. description é nvarchar(4000).

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

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

collection_set_id ou name deve ter um valor, mas os dois não podem ser NULL. Para obter esses valores, consulte a exibição do sistema syscollector_collection_sets.

Se o conjunto de coleta estiver sendo executado, você só poderá atualizar schedule_uid e description. Para interromper o conjunto de coleta, use sp_syscollector_stop_collection_set.

Permissões

Requer associação na função de banco de dados fixa dc_admin ou dc_operator (com a permissão EXECUTE) para executar esse procedimento. Embora dc_operator possa executar esse procedimento armazenado, membros dessa função estão limitados nas propriedades que podem alterar. As propriedades a seguir podem ser alteradas apenas por meio de dc_admin:

  • @new\_name

  • @target

  • @proxy\_id

  • @description

  • @collection\_mode

  • @days\_until\_expiration

Exemplos

A.Renomeando um conjunto de coleta

O exemplo a seguir renomeia um conjunto de coleta definido pelo usuário.

USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 1',
@new_name = N'Collection set test 1 in cached mode';
GO

B.Alterando o modo de coleta de não armazenado em cache para cache

O exemplo a seguir altera o modo de coleta de modo não armazenado em cache para cache. Essa alteração exige que você especifique uma ID ou um nome de agenda.

USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Collection set test 1 in cached mode',
@collection_mode = 0,
@schedule_uid = 'C7022AF3-51B8-4011-B159-64C47C88FF70';
-- alternatively, use @schedule_name.
-- @schedule_name = N'CollectorSchedule_Every_15min;
GO

C.Alterando outros parâmetros do conjunto de coleta

O exemplo a seguir atualiza várias propriedades do conjunto de coleta denominado "Teste do conjunto de coleta simples 2'.

USE msdb;
GO
EXEC dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 2',
@collection_mode = 1,
@days_until_expiration = 5,
@description = N'This is a test collection set that runs in noncached mode.',
@logging_level = 0;
GO

Consulte também

Referência

Procedimentos armazenados do sistema (Transact-SQL)

syscollector_collection_sets (Transact-SQL)

dbo.sysschedules (Transact-SQL)

Conceitos

Coleta de dados