Compartilhar via


sp_syscollector_update_collection_set (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de 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 deve 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 pode 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 de 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 de armazenamento em 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 que os dados colecionados estã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 nome de proxy. proxy_name é sysname e permite valor nulo.

  • [ @schedule_uid = ] 'schedule_uid'
    É o GUID que aponta para um agendamento. schedule_uid é uniqueidentifier.

    Para obter schedule_uid, consulte a tabela de sistema sysschedules.

    Quando collection_mode estiver definido para 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 permite valor nulo. Se especificado, schedule_uid deve ser NULL. Para obter schedule_name, consulte a tabela de sistema sysschedules.

  • [ @logging_level = ] logging_level
    É o nível de 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, ambos não podem ser NULL. Para obter esses valores, consulte a exibição de 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

Para executar esse procedimento, é necessária a associação na função de banco de dados fixa dc_admin ou dc_operator (com a permissão EXECUTE). Embora dc_operator possa executar esse procedimento armazenado, membros desta função estão limitados nas propriedades que eles podem alterar. As propriedades a seguir só podem ser alteradas através 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 do modo de coleta 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 requer que você especifique uma ID ou um nome de agendamento.

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