En este método de configuración de la base de datos de SQL, se crea el esquema personalizado VMW, en lugar de usar el esquema de dbo existente. También se debe habilitar la opción Supervisión de bases de datos para un usuario antes de instalar vCenter Server con un Platform Services Controller integrado o externo.

Antes de empezar

Para asegurarse de tener los roles y los permisos correspondientes antes de actualizar vCenter Server, actualice la base de datos y los usuarios de SQL Server para vCenter Server.

Por qué y cuándo se efectúa esta tarea

Este método requiere que se creen nuevos roles para la base de datos y estos se concedan al usuario de la base de datos.

Procedimiento

  1. Inicie una sesión de Microsoft SQL Server Management Studio como administrador del sistema o inicie sesión en una cuenta con privilegios de administrador de sistema.
  2. Ejecute el siguiente script para crear roles y aplicar privilegios.

    El script se encuentra en el paquete de instalación de vCenter Server, en la siguiente ruta: /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