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 0
y 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 0
en , se debe especificar @schedule_uid o @schedule_name. Cuando @collection_mode se establece 1
en , @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 nivel0
y:- Estadísticas de ejecución
- Progreso de recopilaciones que se ejecutan continuamente
- Eventos de advertencia de SSIS
2
: registro de nivel1
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