sp_syscollector_update_collection_set (Transact-SQL)
Se aplica a: SQL Server
Se usa para modificar las propiedades o el nombre de un conjunto de recopilación definido por el usuario.
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_update_collection_set
[ [ @collection_set_id = ] collection_set_id ]
[ , [ @name = ] N'name' ]
[ , [ @new_name = ] N'new_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' ]
[ ; ]
Argumentos
[ @collection_set_id = ] collection_set_id
Identificador local único del conjunto de recopilación. @collection_set_id es int y debe tener un valor si @name es NULL
.
[ @name = ] N'name'
Nombre del conjunto de recopilación. @name es sysname y debe tener un valor si @collection_set_id es NULL
.
[ @new_name = ] N'new_name'
Nuevo nombre para el conjunto de recopilación. @new_name es sysname, con un valor predeterminado de NULL
y, si se usa, no puede ser una cadena vacía. @new_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
Tipo de recopilación de datos que se va a usar. @collection_mode es smallint 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.
Si cambia de modo no almacenado en caché al modo en caché (0
), también debe 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 y 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.
[ @proxy_name = ] N'proxy_name'
Nombre del proxy. @proxy_name es sysname, con un valor predeterminado de NULL
.
[ @schedule_uid = ] 'schedule_uid'
GUID que apunta a una programación. @schedule_uid es uniqueidentifier, con un valor predeterminado de 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 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
.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Comentarios
sp_syscollector_update_collection_set
debe ejecutarse en el contexto de la base de datos del msdb
sistema.
Tanto collection_set_id como nombre deben tener un valor, ambos no pueden ser NULL
. Para obtener estos valores, consulte la vista del syscollector_collection_sets
sistema.
Si el conjunto de recopilación se está ejecutando, solo puede actualizar schedule_uid y descripción. Para detener el conjunto de recopilación, use sp_syscollector_stop_collection_set.
Permisos
Requiere la pertenencia al rol fijo de base de datos dc_admin o al rol fijo de base de datos dc_operator (con permiso EXECUTE) para ejecutar este procedimiento. Aunque dc_operator puede ejecutar este procedimiento almacenado, los miembros de este rol están limitados en las propiedades que pueden cambiar. Las siguientes propiedades solo se pueden cambiar mediante dc_admin:
- @new_name
- @target
- @proxy_id
- @description
- @collection_mode
- @days_until_expiration
Ejemplos
A Cambiar el nombre de un conjunto de recopilación
En el ejemplo siguiente se cambia el nombre de un conjunto de recopilación definido por el usuario.
USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 1',
@new_name = N'Collection set test 1 in cached mode';
GO
B. Cambiar el modo de recopilación de no almacenados en caché a almacenados en caché
En el ejemplo siguiente se cambia el modo de recopilación de sin almacenamiento en caché al modo de almacenamiento en caché. Este cambio requiere que se especifique un identificador o un nombre para la programación.
USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Collection set test 1 in cached mode',
@collection_mode = 0,
@schedule_uid = 'C7022AF3-51B8-4011-B159-64C47C88FF70';
-- alternatively, use @schedule_name.
-- @schedule_name = N'CollectorSchedule_Every_15min;
GO
C. Cambio de otros parámetros del conjunto de recopilación
En el ejemplo siguiente se actualizan varias propiedades del conjunto de recopilación denominado Simple collection set test 2
.
USE msdb;
GO
EXEC dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 2',
@collection_mode = 1,
@days_until_expiration = 5,
@description = N'This is a test collection set that runs in noncached mode.',
@logging_level = 0;
GO