sp_syscollector_update_collection_set (Transact-SQL)

Aplica-se: 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 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 garantir que o diretório de perfil tenha sido 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 coleta. @collection_set_id é int e deve ter um valor se @name for NULL.

@name [ = ] N'nome'

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 do conjunto de coleta. @new_name é sysname, com um padrão de NULL, e se usado, não pode ser uma string vazia. @new_name deve ser único. Para obter uma lista de nomes de conjuntos de coleta atuais, consulte a exibição do syscollector_collection_sets sistema.

@target [ = ] N'alvo'

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 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 estiver mudando 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 de uma conta proxy do 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. @logging_level é smallint, com um padrão de 1, com um dos seguintes valores:

  • 0: Registre informações de execução e eventos SSIS que rastreiam:

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

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

@description [ = ] N'descrição'

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

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

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

Tanto collection_set_id quanto name devem 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 na função de banco de dados fixa dc_admin ou dc_operator (com permissão EXECUTE) para executar este procedimento. Embora dc_operator possa executar esse procedimento armazenado, os membros dessa função são limitados nas propriedades que podem alterar. As seguintes propriedades só podem ser alteradas por dc_admin:

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

Exemplos

R. Renomear 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. 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 coleta

O exemplo a seguir atualiza várias propriedades do conjunto de coleta 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