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 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.

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 NULLy, si se usa, no puede ser una cadena vacía. @new_name debe ser único. 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 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.

Si cambia del modo no almacenado en caché al modo almacenado 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 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 información de ejecución y eventos de SSIS que realizan el seguimiento:

    • Iniciar/detener los conjuntos de recopilaciones
    • Iniciar/detener los paquetes
    • Información de error
  • 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 (error).

Comentarios

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

Tanto collection_set_id comonombre 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 a la 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 almacenado en caché a almacenado 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. Cambiar 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

Vea también