Partilhar via


sp_syscollector_create_collection_set (Transact-SQL)

Cria um novo conjunto de coleta. Use este procedimento armazenado para criar um conjunto de coleta personalizado para a coleta de dados.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_syscollector_create_collection_set 
          [ @name = ] '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_name' ]
        , [ [ @logging_level = ] logging_level ]
        , [ [ @description = ] 'description' ]
        , [ @collection_set_id = ] collection_set_id OUTPUT 
        , [ [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]

Argumentos

  • [ @name = ] 'name'
    É o nome do conjunto 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 conjuntos de coleta atuais, consulte a exibição de sistema syscollector_collection_sets.

  • [ @target = ] 'target'
    Reservado para uso futuro. name é nvarchar(128) com um valor padrão de NULL.

  • [ @collection\_mode = ] collection_mode
    Especifica a maneira na qual os dados são coletados e armazenados. collection_mode é smallint e pode ter um dos seguintes valores:

    0 - Modo de 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 coleta 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.

    O valor padrão de collection_mode é 0. Quando collection_mode é 0, schedule_uid ou schedule_name deve ser especificado.

  • [ @days\_until\_expiration = ] days_until_expiration
    É o número de dias que os dados coletados são salvos no data warehouse de gerenciamento. days_until_expiration é smallint com um valor padrão de 730 (dois anos). days_until_expiration 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 com um valor padrão de NULL. Se especificado, proxy_name deve ser NULL. Para obter proxy_id, consulte a tabela de sistema sysproxies. A função de banco de dados fixa dc_admin deve ter permissão para acessar o proxy. Para obter mais informações, consulte Criando proxies do SQL Server Agent.

  • [ @proxy\_name = ] 'proxy_name'
    É o nome da conta proxy. proxy_name is sysname com um valor padrão de NULL. Se especificado, proxy_id deve ser NULL. Para obter proxy_name, consulte a tabela de sistema sysproxies.

  • [ @schedule\_uid = ] 'schedule_uid'
    É a GUID que aponta para uma agenda. schedule_uid é uniqueidentifier com um valor padrão de NULL. Se especificado, schedule_name deve ser NULL. 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 com um valor padrão de NULL. 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 SSIS que monitoram:

    • Iniciando/interrompendo conjuntos de coleta

    • Iniciando/interrompendo 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) com um valor padrão de NULL.

  • [ @collection\_set\_id = ] collection_set_id
    É o identificador de local exclusivo do conjunto de coleta. collection_set_id é int com OUTPUT e é necessário.

  • [ @collection\_set\_uid = ] 'collection_set_uid'
    É a GUID do conjunto de coleta. collection_set_uid é uniqueidentifier com OUTPUT com um valor padrão de NULL.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

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

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

A. Criando um conjunto de coleta com o uso de valores padrão

O exemplo a seguir cria um conjunto de coleta com a especificação dos parâmetros necessários apenas. @collection\_mode não é necessário, mas o modo de coleta padrão (cache) requer a especificação de uma ID ou nome de agenda.

USE msdb;
GO
DECLARE @collection_set_id int;
EXECUTE dbo.sp_syscollector_create_collection_set
    @name = N'Simple collection set test 1',
    @description = N'This is a test collection set that runs in non-cached mode.',
    @collection_mode = 1,
    @collection_set_id = @collection_set_id OUTPUT;
GO

B. Criando um conjunto de coleta usando os valores especificados

O exemplo a seguir cria um conjunto de coleta especificando valores para muitos dos parâmetros.

USE msdb;
GO
DECLARE @collection_set_id int;
DECLARE @collection_set_uid uniqueidentifier;
SET @collection_set_uid = NEWID();
EXEC dbo.sp_syscollector_create_collection_set
    @name = N'Simple collection set test 2',
    @collection_mode = 0,
    @days_until_expiration = 365,
    @description = N'This is a test collection set that runs in cached mode.',
    @logging_level = 2,
    @schedule_name = N'CollectorSchedule_Every_30min',
    @collection_set_id = @collection_set_id OUTPUT,
    @collection_set_uid = @collection_set_uid OUTPUT;