Partilhar via


sp_syscollector_create_collection_set (Transact-SQL)

Aplica-se: 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 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_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 string vazia ou NULL.

@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

@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 0, 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.

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 do 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. 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 [ = ] 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 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: informações de execução de log 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.

@collection_set_id [ = ] collection_set_id SAÍDA

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 (sucesso) 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 este procedimento.

Exemplos

R. Criar um conjunto de coleções 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 agendamento ou 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 coleções 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