除了使用 db_owner 資料庫角色,有經驗的資料庫管理員可以透過手動建立資料庫架構和角色設定權限,如此可確保提升對資料庫權限的控制。
若要執行下列程序,您可以使用圖形化使用者介面或執行指令碼。vCenter Server 安裝程式套件包含 vCenter-Server\dbschema\DB_and_schema_creation_scripts_PostgreSQL.txt 檔案中的範例指令碼。
程序
- 建立 vCenter Server 的資料庫和使用者。
- 在主要資料庫中,建立 vCenter Server 的資料庫。
- 建立 vCenter Server 的資料庫使用者,並將其對應至 vCenter Server 和 msdb 資料庫。
例如,若要建立資料庫 VCDB 和使用者 vpxuser,您可以執行下列指令碼:use master go CREATE DATABASE VCDB ON PRIMARY (NAME = N'vcdb', FILENAME = N'C:\database_path\VCDB.mdf', SIZE = 10MB, FILEGROWTH = 10% ) LOG ON (NAME = N'vcdb_log', FILENAME = N'C:\database_path\VCDB.ldf', SIZE = 1000KB, FILEGROWTH = 10%) COLLATE SQL_Latin1_General_CP1_CI_AS go use VCDB go CREATE LOGIN vpxuser WITH PASSWORD=N'vpxuser!0', DEFAULT_DATABASE=VCDB, DEFAULT_LANGUAGE=us_english, CHECK_POLICY=OFF go CREATE USER vpxuser for LOGIN vpxuser go use MSDB go CREATE USER vpxuser for LOGIN vpxuser go
現在,您即擁有可與 vCenter Server 搭配使用的 Microsoft SQL Server 資料庫。 - 在 vCenter Server 資料庫中,建立資料庫架構並將其指派給 vCenter Server 資料庫使用者。
例如,若要在 VCDB 中建立架構 VMW 並將其指派給 vpxuser 使用者,您可以執行下列指令碼:
use VCDB CREATE SCHEMA VMW go ALTER USER vpxuser WITH DEFAULT_SCHEMA =VMW
- 在 vCenter Server 資料庫中,建立並將權限授與 VC_ADMIN_ROLE 和 VC_USER_ROLE 資料庫角色,然後將角色指派給 vCenter Server 資料庫使用者。
例如,若要在 VCDB 中建立角色並將其指派給 vpxuser 使用者,您可以執行下列指令碼:
use VCDB go 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
- 在 msdb 資料庫中,建立並將權限授與 VC_ADMIN_ROLE 資料庫角色,然後將角色指派給 vCenter Server 資料庫使用者。
例如,若要建立角色並將其指派給 vpxuser 使用者,您可以執行下列指令碼:
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
備註: 僅在安裝和升級 vCenter Server 期間需要 msdb 資料庫中的 VC_ADMIN_ROLE 角色。在安裝或升級後,您可以撤銷角色並將其保留為非作用中狀態,以供未來升級之用,或者可為加強安全性而予以移除。 - 為 vCenter Server 資料庫使用者啟用資料庫監控。
例如,若要將資料庫磁碟大小監控權限授與 vpxuser 使用者,您可以執行下列指令碼:
use master go grant VIEW SERVER STATE to vpxuser go GRANT VIEW ANY DEFINITION TO vpxuser go