Avec cette méthode de configuration de la base de données SQL, vous créez le schéma VMW personnalisé plutôt qu'utiliser le schéma dbo existant. Vous devez également activer la surveillance de base de données pour un utilisateur avant d'installer vCenter Server avec un Platform Services Controller intégré ou externe.

Pourquoi et quand exécuter cette tâche

Cette méthode suppose que vous créiez de nouveaux rôles de base de données et que vous les accordiez à user de base de données.

Préambules

Pour vous assurer que vous disposez des rôles et des autorisations appropriés avant de mettre à niveau vCenter Server, mettez à niveau la base de données SQL Server et les utilisateurs de vCenter Server.

Procédure

  1. Ouvrez une session sur Microsoft SQL Server Management Studio en tant que sysadmin ou utilisateur d'un compte ayant les privilèges sysadmin.
  2. Exécutez le script suivant pour créer des rôles et appliquer des privilèges.

    Le script se trouve dans le package d'installation vCenter Server à l'emplacement /installation directory/vCenter-Server/dbschema/DB_and_schema_creation_scripts_MSSQL.txt.

    CREATE SCHEMA [VMW]
    go
    ALTER USER [vpxuser] WITH DEFAULT_SCHEMA =[VMW]
    
    if not exists (SELECT name FROM sysusers WHERE issqlrole=1 AND name = 'VC_ADMIN_ROLE')
    CREATE ROLE VC_ADMIN_ROLE;
    GRANT ALTER ON SCHEMA :: [VMW] to VC_ADMIN_ROLE;
    GRANT REFERENCES ON SCHEMA :: [VMW] to VC_ADMIN_ROLE;
    GRANT INSERT ON SCHEMA ::  [VMW] to VC_ADMIN_ROLE;
    
    GRANT CREATE TABLE to VC_ADMIN_ROLE;
    GRANT CREATE VIEW to VC_ADMIN_ROLE;
    GRANT CREATE Procedure to VC_ADMIN_ROLE;
    
    if not exists (SELECT name FROM sysusers WHERE issqlrole=1 AND name = 'VC_USER_ROLE')
    CREATE ROLE VC_USER_ROLE
    go
    GRANT SELECT ON SCHEMA ::  [VMW] to VC_USER_ROLE
    go
    GRANT INSERT ON SCHEMA ::  [VMW] to VC_USER_ROLE
    go
    GRANT DELETE ON SCHEMA ::  [VMW] to VC_USER_ROLE
    go
    GRANT UPDATE ON SCHEMA ::  [VMW] to VC_USER_ROLE
    go
    GRANT EXECUTE ON SCHEMA :: [VMW] to VC_USER_ROLE
    go
    sp_addrolemember VC_USER_ROLE , [vpxuser]
    go
    sp_addrolemember VC_ADMIN_ROLE , [vpxuser]
    go
    use MSDB
    go
    if not exists (SELECT name FROM sysusers WHERE issqlrole=1 AND name = 'VC_ADMIN_ROLE')
    CREATE ROLE VC_ADMIN_ROLE;
    go
    GRANT SELECT on msdb.dbo.syscategories to VC_ADMIN_ROLE
    go
    GRANT SELECT on msdb.dbo.sysjobsteps to VC_ADMIN_ROLE
    go
    GRANT SELECT ON msdb.dbo.sysjobs to VC_ADMIN_ROLE
    go
    GRANT SELECT ON msdb.dbo.sysjobs_view to VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_job TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_delete_job TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_jobstep TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_update_job TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_jobserver TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_jobschedule TO VC_ADMIN_ROLE
    go
    GRANT EXECUTE ON msdb.dbo.sp_add_category TO VC_ADMIN_ROLE
    go
    sp_addrolemember VC_ADMIN_ROLE , [vpxuser]
    go
    use master
    go
    grant VIEW SERVER STATE to [vpxuser]
    go
    GRANT VIEW ANY DEFINITION TO [vpxuser]
    go