Compartir a través de


sp_syscollector_create_collection_set (Transact-SQL)

Se aplica a: SQL Server

Crea un conjunto de recopilación nuevo. Puede utilizar este procedimiento almacenado para crear un conjunto de recopilación personalizado para la recopilación de datos.

Advertencia

En los casos en los que la cuenta de Windows configurada como proxy es un usuario no interactivo o interactivo que aún no ha iniciado sesión, el directorio de perfil no existirá y se producirá un error en la creación del directorio de almacenamiento provisional. Por lo tanto, si usa una cuenta de proxy en un controlador de dominio, debe especificar una cuenta interactiva que se haya usado al menos una vez para asegurarse de que se ha creado el directorio de perfiles.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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'

Nombre del conjunto de recopilación. @name es sysname y no puede ser una cadena vacía o NULL.

@name deben ser únicos. Para obtener una lista de nombres de conjuntos de recopilación actuales, consulte la vista del syscollector_collection_sets sistema.

[ @target = ] N'target'

Reservado para uso futuro. @target es nvarchar(128), con un valor predeterminado de NULL.

[ @collection_mode = ] collection_mode

@collection_mode es smallint, con un valor predeterminado de 0.

Especifica la manera en la que se recopilan y se almacenan los datos. @collection_mode es smallint, con un valor predeterminado de 0y puede tener uno de los siguientes valores:

  • 0: modo almacenado en caché. La recopilación y la carga de datos están en programaciones independientes. Especifique el modo de almacenamiento en caché para la recopilación continua.

  • 1: modo no almacenado en caché. La recopilación y carga de datos se realiza según la misma programación. Establezca el modo sin almacenamiento en caché para la recopilación ad hoc o la recopilación de instantáneas.

Cuando @collection_mode es 0, se deben especificar @schedule_uid o @schedule_name.

[ @days_until_expiration = ] days_until_expiration

Número de días que los datos recopilados se guardan en el almacén de administración de datos. @days_until_expiration es smallint, con un valor predeterminado de 730 (dos años). @days_until_expiration debe ser 0 o un entero positivo.

[ @proxy_id = ] proxy_id

Identificador único de una cuenta de proxy de Agente SQL Server. @proxy_id es int, con un valor predeterminado de NULL. Si se especifica, @proxy_name debe ser NULL. Para obtener @proxy_id, consulte la tabla del sysproxies sistema. El rol fijo de base de datos dc_admin debe tener permiso para acceder al proxy. Para obtener más información, consulte Creación de un proxy de Agente SQL Server.

[ @proxy_name = ] N'proxy_name'

Nombre de la cuenta de proxy. @proxy_name es sysname, con un valor predeterminado de NULL. Si se especifica, @proxy_id debe ser NULL. Para obtener @proxy_name, consulte la tabla del sysproxies sistema.

[ @schedule_uid = ] 'schedule_uid'

GUID que apunta a una programación. @schedule_uid es uniqueidentifier, con un valor predeterminado de NULL. Si se especifica, @schedule_name debe ser NULL. Para obtener @schedule_uid, consulte la tabla del sysschedules sistema.

Cuando @collection_mode se establece 0en , se debe especificar @schedule_uid o @schedule_name. Cuando @collection_mode se establece 1en , @schedule_uid o @schedule_name se omite si se especifica.

[ @schedule_name = ] N'schedule_name'

Nombre de la programación. @schedule_name es sysname, con un valor predeterminado de NULL. Si se especifica, @schedule_uid debe ser NULL. Para obtener @schedule_name, consulte la tabla del sysschedules sistema.

[ @logging_level = ] logging_level

Nivel de registro. @logging_level es smallint, con un valor predeterminado de 1, con uno de los siguientes valores:

  • 0: registra la información de ejecución y los eventos de SSIS que realizan el seguimiento:

    • Iniciar/detener los conjuntos de recopilaciones
    • Iniciar/detener los paquetes
    • Información de errores
  • 1: registro de nivel 0 y:

    • Estadísticas de ejecución
    • Progreso de recopilaciones que se ejecutan continuamente
    • Eventos de advertencia de SSIS
  • 2: registro de nivel 1 e información detallada de eventos de SSIS.

[ @description = ] N'description'

Descripción del conjunto de recopilación. @description es nvarchar(4000), con un valor predeterminado de NULL.

[ @collection_set_id = ] collection_set_id OUTPUT

Identificador local único del conjunto de recopilación. @collection_set_id es un parámetro OUTPUT de tipo int.

[ @collection_set_uid = ] SALIDA 'collection_set_uid'

GUID del conjunto de recopilación. @collection_set_uid es un parámetro OUTPUT de tipo uniqueidentifier.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

sp_syscollector_create_collection_set debe ejecutarse en el contexto de la base de datos del msdb sistema.

Permisos

Requiere la pertenencia al rol fijo de base de datos dc_admin (con permiso EXECUTE) para ejecutar este procedimiento.

Ejemplos

A Creación de un conjunto de recopilación mediante valores predeterminados

En el ejemplo siguiente se crea un conjunto de recopilación especificando solamente los parámetros necesarios. @collection_mode no es necesario, pero el modo de recopilación predeterminado (almacenado en caché) requiere especificar un identificador de programación o un nombre de programación.

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. Creación de un conjunto de recopilación mediante valores especificados

En el ejemplo siguiente se crea un conjunto de recopilación con los valores especificados para muchos de los 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