Compartilhar 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.

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_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 do sistema syscollector_collection_sets.

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

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

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

    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 durante os quais 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 número inteiro positivo.

  • [ @proxy\_id = ] proxy_id
    É o identificador exclusivo de uma conta proxy do SQL Server Agent. proxy_id é int com o valor padrão NULL. Se especificado, proxy_name deve ser NULL. Para obter o proxy_id, consulte a tabela do 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 Criar um proxy do SQL Server Agent.

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

  • [ @schedule\_uid = ] 'schedule_uid'
    É o GUID que aponta para uma agenda. schedule_uid é uniqueidentifier com o valor padrão NULL. Se especificado, schedule_name deve ser NULL. 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 com um valor padrão de NULL. 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 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 local exclusivo do conjunto de coleta. collection_set_id é int com OUTPUT e é necessário.

  • [ @collection\_set\_uid = ] 'collection_set_uid'
    É o 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 do sistema msdb .

Permissões

Exige a associação à função de banco de dados fixa dc_admin (com a permissão EXECUTE) para a execução desse procedimento.

Exemplos

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

O exemplo a seguir cria um conjunto de coleta especificando apenas os parâmetros necessários. @collection\_mode não é necessário, mas o modo de coleta padrão (armazenado em cache) requer a especificação de uma ID de agenda 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;

Consulte também

Tarefas

Criar um conjunto de coleta personalizado que usa o tipo de coletor de Consultas T-SQL genérico (Transact-SQL)

Referência

Procedimentos armazenados de coletor de dados (Transact-SQL)

syscollector_collection_sets (Transact-SQL)

Conceitos

Coleta de dados