sp_syscollector_create_collection_set (Transact-SQL)

Aplica-se a:SQL Server

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

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_create_collection_set
    [ @name = ] N'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' ]
    , [ @collection_set_id = ] collection_set_id OUTPUT
    [ , [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]
[ ; ]

Argumentos

[ @name = ] N'name'

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 de nomes de conjuntos de coleta atuais, 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

@collection_mode é smallint, com um padrão de 0.

Especifica a maneira pela qual os dados são coletados e armazenados. @collection_mode é smallint, com um padrão de 0e 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.

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 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 SQL Server Agent. @proxy_id é int, com um padrão de NULL. Se especificado, @proxy_name deve ser NULL. Para obter @proxy_id, consulte a tabela do sysproxies sistema. O dc_admin função de banco de dados fixa deve ter permissão para acessar o proxy. Para obter mais informações, consulte Criar um proxy de SQL Server Agent.

[ @proxy_name = ] N'proxy_name'

O nome da conta proxy. @proxy_name é sysname, com um padrão de NULL. Se especificado, @proxy_id deve ser NULL. Para obter @proxy_name, consulte a tabela do sysproxies sistema.

[ @schedule_uid = ] 'schedule_uid'

O GUID que aponta para um agendamento. @schedule_uid é uniqueidentifier, com um padrão de NULL. Se especificado, @schedule_name deve ser NULL. Para obter @schedule_uid, consulte a tabela do sysschedules sistema.

Quando @collection_mode é definido 0como , @schedule_uid ou @schedule_name deve ser especificado. Quando @collection_mode é definido 1como , @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: 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: log de nível 1 e informações detalhadas de eventos do SSIS.

[ @description = ] N'description'

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

[ @collection_set_id = ] collection_set_id OUTPUT

O identificador local exclusivo para o conjunto de coleta. @collection_set_id é um parâmetro OUTPUT do tipo int.

[ @collection_set_uid = ] SAÍDA 'collection_set_uid'

O GUID do conjunto de coleta. @collection_set_uid é um parâmetro OUTPUT do tipo uniqueidentifier.

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

Permissões

Requer associação na função de banco de dados fixa dc_admin (com permissão EXECUTE) para executar esse procedimento.

Exemplos

a. Criar um conjunto de coleta usando 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 um nome de agendamento.

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. Criar um conjunto de coleta usando 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;
GO

Confira também