sp_syscollector_update_collection_set (Transact-SQL)

Aplica-se a:SQL Server

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

Aviso

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.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

[ @collection_set_id = ] collection_set_id

O identificador local exclusivo para o conjunto de coleções. @collection_set_id é int e deve ter um valor se @name for NULL.

[ @name = ] N'name'

Nome do conjunto de coleta. @name é sysname e deve ter um valor se @collection_set_id for NULL.

[ @new_name = ] N'new_name'

O novo nome para o conjunto de coleções. @new_name é sysname, com um padrão de NULLe, se usado, não pode ser uma cadeia de caracteres vazia. @new_name deve ser exclusivo. Para obter uma lista dos nomes atuais do conjunto de coleções, consulte a exibição do syscollector_collection_sets sistema.

[ @target = ] N'target'

Reservado para uso futuro. @target é nvarchar(128), com um padrão de NULL.

[ @collection_mode = ] collection_mode

O tipo de coleta de dados a ser usada. @collection_mode é smallint e pode ter um dos seguintes valores:

  • 0: modo armazenado em cache. A coleta 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 mudar do modo não armazenado em cache para o modo armazenado em cache (0), você também deverá 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 e deve ser 0 ou um inteiro positivo.

[ @proxy_id = ] proxy_id

O identificador exclusivo para uma conta de proxy SQL Server Agent. @proxy_id é int.

[ @proxy_name = ] N'proxy_name'

O nome do proxy. @proxy_name é sysname, com um padrão de NULL.

[ @schedule_uid = ] 'schedule_uid'

O GUID que aponta para um agendamento. @schedule_uid é uniqueidentifier, com um padrão de NULL.

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

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

[ @schedule_name = ] N'schedule_name'

O nome da agenda. @schedule_name é sysname, com um padrão de NULL. Se especificado, @schedule_uid deve ser NULL. Para obter @schedule_name, consulte a tabela do sysschedules sistema.

[ @logging_level = ] logging_level

O nível de registro em log. @logging_level é smallint, com um padrão de 1, com um dos seguintes valores:

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

    • Iniciando/interrompendo conjuntos de coleta
    • Iniciando/interrompendo pacotes
    • Informações de erro
  • 1: registro em log de nível 0 e:

    • Estatísticas de execução
    • Progresso da coleta em execução contínua
    • Eventos de aviso do SSIS
  • 2: registro em log de nível 1 e informações detalhadas de eventos do SSIS.

[ @description = ] N'description'

A descrição do conjunto de coleções. @description é nvarchar(4000), com um padrão de NULL.

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

Collection_set_id ounome deve ter um valor, ambos não podem ser NULL. Para obter esses valores, consulte a exibição do syscollector_collection_sets sistema.

Se o conjunto de coleta estiver em execução, você só poderá atualizar schedule_uid e descrição. Para interromper o conjunto de coleta, use sp_syscollector_stop_collection_set.

Permissões

Requer associação no dc_admin ou na função de banco de dados fixa dc_operator (com permissão EXECUTE) para executar esse procedimento. Embora dc_operator possa executar esse procedimento armazenado, os membros dessa função são limitados nas propriedades que podem ser alteradas. As seguintes propriedades só podem ser alteradas por dc_admin:

  • @new_name
  • @target
  • @proxy_id
  • @description
  • @collection_mode
  • @days_until_expiration

Exemplos

a. Renomear um conjunto de coleções

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. Alterar o modo de coleta de não armazenado em cache para armazenado em 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. Alterar outros parâmetros do conjunto de coleções

O exemplo a seguir atualiza várias propriedades do conjunto de coleções chamado Simple collection set test 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

Confira também