Share via


sp_syscollector_create_collection_set (Transact-SQL)

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.

Nota de advertenciaAdvertencia

En los casos en que la cuenta de Windows configurada como proxy pertenezca a un usuario no interactivo o interactivo que aún no se ha conectado, el directorio del perfil no existirá y se producirá un error al crear el directorio de almacenamiento temporal. Por tanto, si utiliza una cuenta de proxy en un controlador de dominio, debe especificar una cuenta interactiva que se haya utilizado al menos una vez para asegurarse de que se ha creado el directorio del perfil.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

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'
    Es el nombre del conjunto de recopilación. name es de tipo sysname y no puede ser una cadena vacía o NULL.

    name debe ser único. Para obtener una lista de los nombres de conjuntos de recopilación actuales, vea la vista del sistema syscollector_collection_sets.

  • [ @target = ] 'target'
    Reservado para uso futuro. name es de tipo nvarchar(128), con un valor predeterminado de NULL.

  • [ @collection\_mode = ] collection_mode
    Especifica la manera en la que se recopilan y se almacenan los datos. collection_mode es de tipo smallint y puede tener uno de los siguientes valores:

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

    1 - Modo sin almacenamiento en caché. La recopilación y la carga de datos están en la misma programación. Establezca el modo sin almacenamiento en caché para la recopilación ad hoc o la recopilación de instantáneas.

    El valor predeterminado de collection_mode es 0. Cuando collection_mode es 0, debe especificarse schedule_uid o schedule_name.

  • [ @days\_until\_expiration = ] days_until_expiration
    Es el número de días que los datos recopilados se guardan en el almacén de administración de datos. days_until_expiration es de tipo smallint con un valor predeterminado de 730 (dos años). days_until_expiration debe ser 0 o un entero positivo.

  • [ @proxy\_id = ] proxy_id
    Es el identificador único para una cuenta proxy del Agente SQL Server. proxy_id es de tipo int, con un valor predeterminado de NULL. Si se especifica, proxy_name debe ser NULL. Para obtener proxy_id, vea la tabla del sistema sysproxies. El rol fijo de base de datos dc_admin debe disponer de los permisos necesarios para obtener acceso al proxy. Para obtener más información, vea Crear un proxy del Agente SQL Server.

  • [ @proxy\_name = ] 'proxy_name'
    Es el nombre de la cuenta del proxy. proxy_name es de tipo sysname, con un valor predeterminado de NULL. Si se especifica, proxy_id debe ser NULL. Para obtener proxy_name, vea la tabla del sistema sysproxies.

  • [ @schedule\_uid = ] 'schedule_uid'
    Es el GUID que apunta a una programación. schedule_uid es de tipo uniqueidentifier, con un valor predeterminado de NULL. Si se especifica, schedule_name debe ser NULL. Para obtener schedule_uid, vea la tabla del sistema sysschedules.

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

  • [ @schedule\_name = ] 'schedule_name'
    Es el nombre de la programación. schedule_name es de tipo sysname , con un valor predeterminado de NULL. Si se especifica, schedule_uid debe ser NULL. Para obtener schedule_name, vea la tabla del sistema sysschedules.

  • [ @logging\_level = ] logging_level
    Es el nivel de registro. logging_level es de tipo smallint con uno de los siguientes valores:

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

    • Iniciar/detener los conjuntos de recopilaciones

    • Iniciar/detener los paquetes

    • Información de error

    1 - nivel de registro 0 y:

    • Estadísticas de ejecución

    • Progreso de recopilaciones que se ejecutan continuamente

    • Eventos de advertencia de SSIS

    2 - nivel de registro 1 e información detallada de eventos de SSIS

    El valor predeterminado de logging_level es 1.

  • [ @description = ] 'description'
    Es la descripción del conjunto de recopilación. description es de tipo nvarchar(4000) , con un valor predeterminado de NULL.

  • [ @collection\_set\_id = ] collection_set_id
    Es el identificador único local del conjunto de recopilaciones. collection_set_id es de tipo int con OUTPUT y es obligatorio.

  • [ @collection\_set\_uid = ] 'collection_set_uid'
    Es el GUID del conjunto de recopilación. collection_set_uid es de tipo uniqueidentifier, con OUTPUT y un valor predeterminado de NULL.

Valores del código de retorno

0 (correcto) o 1 (error)

Comentarios

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

Permisos

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

Ejemplos

A.Crear un conjunto de recopilación utilizando valores predeterminados

En el ejemplo siguiente se crea un conjunto de recopilación especificando solamente los parámetros necesarios. @collection\_mode no se obligatorio, pero el modo de recopilación predeterminado (almacenamiento en caché) exige especificar un id. 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.Crear un conjunto de recopilación utilizando los 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;

Vea también

Tasks

Crear un conjunto de recopilación personalizado que utilice el tipo de recopilador de consultas T-SQL genérico (Transact-SQL)

Referencia

Procedimientos almacenados del recopilador de datos (Transact-SQL)

syscollector_collection_sets (Transact-SQL)

Conceptos

Recopilación de datos