sp_syscollector_update_collection_set (Transact-SQL)

S’applique à :SQL Server

Permet de modifier les propriétés d'un jeu d'éléments de collecte définis par l'utilisateur ou de le renommer.

Avertissement

Dans les cas où le compte Windows configuré en tant que proxy est non interactif ou correspond à un utilisateur interactif qui ne s'est pas encore connecté, le répertoire de profils n'existera pas et la création du répertoire intermédiaire échouera. Par conséquent, si vous utilisez un compte proxy sur un contrôleur de domaine, vous devez spécifier un compte interactif qui a été utilisé au moins une fois afin de garantir que le répertoire de profils a été créé.

Conventions de la syntaxe Transact-SQL

Syntaxe

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' ]
[ ; ]

Arguments

[ @collection_set_id = ] collection_set_id

Identificateur local unique du jeu de collections. @collection_set_id est int et doit avoir une valeur si @name est NULL.

[ @name = ] N’name'

Nom du jeu d'éléments de collecte. @name est sysname et doit avoir une valeur si @collection_set_id est NULL.

[ @new_name = ] N’new_name'

Nouveau nom du jeu de collections. @new_name est sysname, avec une valeur par défaut NULL, et si elle est utilisée, ne peut pas être une chaîne vide. @new_name doit être unique. Pour obtenir la liste des noms des ensembles de collections actuels, interrogez l’affichage syscollector_collection_sets système.

[ @target = ] N’target'

Réservé pour un usage futur. @target est nvarchar(128), avec la valeur par défaut NULL.

[ @collection_mode = ] collection_mode

Type de collecte de données à utiliser. @collection_mode est smallint et peut avoir l’une des valeurs suivantes :

  • 0: mode mis en cache. La collecte et le téléchargement de données sont sur des planifications séparées. Spécifiez le mode mis en cache pour la collecte continue.

  • 1: mode non mis en cache. La collecte et le chargement des données sont selon la même planification. Spécifiez le mode non mis en cache pour une collecte ad hoc ou par instantané.

Si vous passez du mode non mis en cache au mode mis en cache (0), vous devez également spécifier @schedule_uid ou @schedule_name.

[ @days_until_expiration = ] days_until_expiration

Nombre de jours pendant lesquels les données collectées sont enregistrées dans l'entrepôt de données de gestion. @days_until_expiration est smallint, et doit être 0 ou un entier positif.

[ @proxy_id = ] proxy_id

Identificateur unique d’un compte proxy SQL Server Agent. @proxy_id est int.

[ @proxy_name = ] N’proxy_name'

Nom du proxy. @proxy_name est sysname, avec la valeur par défaut NULL.

[ @schedule_uid = ] 'schedule_uid'

GUID qui pointe vers une planification. @schedule_uid est uniqueidentifier, avec la valeur par défaut NULL.

Pour obtenir @schedule_uid, interrogez la sysschedules table système.

Lorsque @collection_mode est défini 0sur , @schedule_uid ou @schedule_name doit être spécifié. Lorsque @collection_mode est défini 1sur , @schedule_uid ou @schedule_name est ignoré si spécifié.

[ @schedule_name = ] N’schedule_name'

Nom de la planification. @schedule_name est sysname, avec la valeur par défaut NULL. Si elle est spécifiée, @schedule_uid doit être NULL. Pour obtenir @schedule_name, interrogez la sysschedules table système.

[ @logging_level = ] logging_level

Niveau de journalisation. @logging_level est smallint, avec une valeur par défaut 1, avec l’une des valeurs suivantes :

  • 0: informations d’exécution de journal et événements SSIS qui suivent :

    • Démarrage/arrêt de jeux d'éléments de collecte
    • Démarrage/arrêt de packages
    • Informations sur l'erreur
  • 1: journalisation de niveau 0 et :

    • Statistiques d'exécution
    • Progression de la collecte continuellement en cours d'exécution
    • Événements d’avertissement de SSIS
  • 2: journalisation de niveau 1 et informations détaillées sur les événements de SSIS.

[ @description = ] N’description'

Description du jeu de collections. @description est nvarchar(4000), avec la valeur par défaut NULL.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

sp_syscollector_update_collection_set doit être exécuté dans le contexte de la msdb base de données système.

Collection_set_id ou nom doit avoir une valeur, les deux ne peuvent pas être NULL. Pour obtenir ces valeurs, interrogez la syscollector_collection_sets vue système.

Si le jeu de collections est en cours d’exécution, vous ne pouvez mettre à jour que schedule_uid et la description. Pour arrêter le jeu de collections, utilisez sp_syscollector_stop_collection_set.

Autorisations

Nécessite l’appartenance au dc_admin ou au rôle de base de données fixe dc_operator (avec l’autorisation EXECUTE) pour exécuter cette procédure. Même si dc_operator pouvez exécuter cette procédure stockée, les membres de ce rôle sont limités dans les propriétés qu’ils peuvent modifier. Les propriétés suivantes ne peuvent être modifiées que par dc_admin :

  • @new_name
  • @target
  • @proxy_id
  • @description
  • @collection_mode
  • @days_until_expiration

Exemples

R. Renommer un jeu de collections

L'exemple suivant renomme un jeu d'éléments de collecte définis par l'utilisateur :

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. Modifier le mode de collecte de non mis en cache en cache

L'exemple suivant passe du mode de collecte non mis en cache au mode de collecte mis en cache. Cette modification nécessite de spécifier un ID ou un nom de planification.

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. Modifier d’autres paramètres de jeu de collections

L’exemple suivant met à jour différentes propriétés du jeu de collections nommé 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