Partilhar via


sp_syscollector_create_collection_set (Transact-SQL)

Aplica-se a:SQL Server

Cria um novo conjunto de coleções. Pode usar este procedimento armazenado para criar um conjunto de recolha personalizado para recolha de dados.

Advertência

Nos casos em que a conta Windows configurada como proxy é um utilizador não interativo ou interativo que ainda não iniciou sessão, o diretório de perfis deixará de existir e a criação do diretório de staging falhará. Portanto, se estiver a usar uma conta proxy num controlador de domínio, deve especificar uma conta interativa que tenha sido usada pelo menos uma vez para garantir que o diretório de perfil foi criado.

Transact-SQL convenções de sintaxe

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 ]
[ ; ]

Arguments

[ @name = ] N'nome'

O nome do conjunto da coleção. @name é sysname e não pode ser uma string vazia ou NULL.

@name deve ser único. Para uma lista dos nomes atuais dos conjuntos de coleções, consulte a vista 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 forma como os dados são recolhidos e armazenados. @collection_mode é smallint, com um padrão de 0, e pode ter um dos seguintes valores:

  • 0: Modo em cache. A recolha e o carregamento de dados são organizados em horários separados. Especifique o modo em cache para recolha contínua.

  • 1: Modo não armazenado em cache. A recolha e o carregamento de dados seguem o mesmo calendário. Especifique o modo não armazenado em cache para recolha ad hoc ou coleção de instantâneos.

Quando @collection_mode é 0, @schedule_uid ou @schedule_name deve ser especificado.

[ @days_until_expiration = ] days_until_expiration

O número de dias em que os dados recolhidos são guardados no armazém de dados de gestão. @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 único para 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 sysproxies tabela do sistema. O papel de base de dados fixo dc_admin deve ter permissão para aceder ao proxy. Para mais informações, consulte Criar um proxy de Agente SQL Server.

[ @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 sysproxies tabela do sistema.

[ @schedule_uid = ] 'schedule_uid'

O GUID que aponta para um horário. @schedule_uid é um identificador único, com um padrão de NULL. Se especificado, @schedule_name deve ser NULL. Para obter @schedule_uid, consulte a sysschedules tabela do sistema.

Quando @collection_mode está definido para 0, @schedule_uid ou @schedule_name deve ser especificado. Quando @collection_mode é definido para 1, @schedule_uid ou @schedule_name é ignorado se especificado.

[ @schedule_name = ] N'schedule_name'

O nome do horário. @schedule_name é sysname, com um padrão de NULL. Se especificado, @schedule_uid deve ser NULL. Para obter @schedule_name, consulte a sysschedules tabela do sistema.

[ @logging_level = ] logging_level

O nível de exploração florestal. @logging_level é smallint, com um padrão de 1, com um dos seguintes valores:

  • 0: informação de execução de registos e eventos SSIS que acompanham:

    • Conjuntos de coleções iniciais/paradas
    • Pacotes de início/paragem
    • Informações de erro
  • 1: registo de níveis 0 e:

    • Estatísticas de execução
    • Progresso contínuo da recolha
    • Eventos de aviso do SSIS
  • 2: registo de nível 1 e informação detalhada de eventos do SSIS.

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

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

[ @collection_set_id = ] collection_set_id SAÍDA

O identificador local único para o conjunto de coleções. @collection_set_id é um parâmetro OUTPUT do tipo int.

[ @collection_set_uid = ] 'collection_set_uid' SAÍDA

O GUID para o conjunto da coleção. @collection_set_uid é um parâmetro OUTPUT do tipo identificador único.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Observações

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

Permissions

Requer a pertença ao papel fixo de base de dados dc_admin (com permissão EXECUTAR) para executar este procedimento.

Examples

A. Crie um conjunto de coleções usando valores padrão

O exemplo seguinte cria um conjunto de coleções especificando apenas os parâmetros necessários. @collection_mode não é obrigatório, mas o modo de recolha por defeito (em cache) exige especificar um ID de Schedule ou um nome de Schedule.

USE msdb;
GO

DECLARE @collection_set_id AS 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. Crie um conjunto de colecções usando valores especificados

O exemplo seguinte cria um conjunto de colecções especificando valores para muitos dos parâmetros.

USE msdb;
GO

DECLARE @collection_set_id AS INT;
DECLARE @collection_set_uid AS UNIQUEIDENTIFIER;

SET @collection_set_uid = NEWID();

EXECUTE 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