SergOO
Enthusiast
Enthusiast

SQL + vCenter

Jump to solution

Добрый день, Может было, но не нашел как сделать поиск по форуму, интересует вопрос по SQL.

1. Какой нужно использовать collation для создания базы для vCenter 6.0 u1b

2. Нужен скрипт, который создает базу для vCenter 6.0 u1b и прочих плюшек, если они потребуются. Может есть гайд.

3. По матрице совместимости я могу использовать?

VMware vCenter Server 6.0 U1 база данных поддерживается на:

Microsoft SQL Server 2014 Standard - 64-bit

Microsoft SQL Server 2014 Enterprise - 64-bit

Windows Server 2012 R2

4. Может будут советы. Буду благодарен.

Спасибо.

Tags (3)
1 Solution

Accepted Solutions
EGarbuzov
VMware Employee
VMware Employee

Добрый день.

1. SQL_Latin1_General_CP1_CI_AS (ссылка на п.2).

2. Скрипт есть вот тут: http://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vsphere.install.doc%2FGUID-BBA11020-...

3.  Матрица совместимости доступна тут: http://www.vmware.com/resources/compatibility/sim/interop_matrix.php?type=1&empty=1&solutions_produc...

Приаттачил скриншот поддерживаемых версий для примера.

View solution in original post

4 Replies
EGarbuzov
VMware Employee
VMware Employee

Добрый день.

1. SQL_Latin1_General_CP1_CI_AS (ссылка на п.2).

2. Скрипт есть вот тут: http://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vsphere.install.doc%2FGUID-BBA11020-...

3.  Матрица совместимости доступна тут: http://www.vmware.com/resources/compatibility/sim/interop_matrix.php?type=1&empty=1&solutions_produc...

Приаттачил скриншот поддерживаемых версий для примера.

SergOO
Enthusiast
Enthusiast

Я вот начал смотреть скрипт по пути <installation directory>/vpx/dbschema/DB_and_schema_creation_scripts_MSSQL.txt

он немного подлинней чем на сайте. Когда я его запустил у меня отрабатывает с ошибкой.

Этот скрипт правильный или что-то тут нужно подправить?


use [master]

go

CREATE DATABASE [VCDB] ON PRIMARY

(NAME = N'vcdb', FILENAME = N'E:\Databases\VCDB.mdf' , SIZE = 10MB , FILEGROWTH = 10% )

LOG ON

(NAME = N'vcdb_log', FILENAME = N'E:\Databases\VCDB.ldf' , SIZE = 1000KB , FILEGROWTH = 10%)

COLLATE SQL_Latin1_General_CP1_CI_AS

go

use VCDB

go

sp_addlogin @loginame=[vpxuser], @passwd=N'12345', @defdb='VCDB', @deflanguage='us_english'

go

ALTER LOGIN [vpxuser] WITH CHECK_POLICY = OFF

go

CREATE USER [vpxuser] for LOGIN [vpxuser]

go

CREATE SCHEMA [VMW]

go

ALTER USER [vpxuser] WITH DEFAULT_SCHEMA =[VMW]

go

/* User should have DBO Privileges or VC_ADMIN_ROLE and VC_USER_ROLE database roles */

/* BEGIN: User with DBO privileges */

sp_addrolemember @rolename = 'db_owner', @membername = 'vpxuser'

go

use MSDB

go

CREATE USER [vpxuser] for LOGIN [vpxuser]

go

sp_addrolemember @rolename = 'db_owner', @membername = 'vpxuser'

go

/* END: User with DBO privileges */

/* BEGIN: User with VC_ADMIN_ROLE and VC_USER_ROLE */

if not exists (SELECT name FROM sysusers WHERE issqlrole=1 AND name = 'VC_ADMIN_ROLE')

CREATE ROLE VC_ADMIN_ROLE;

GRANT ALTER ON DATABASE:: VCDB to 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 ALTER ON SCHEMA ::  [VMW] to 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_ADMIN_ROLE , [vpxuser]

go

sp_addrolemember VC_USER_ROLE , [vpxuser]

go

use MSDB

go

CREATE USER [vpxuser] for LOGIN [vpxuser]

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

/* END: User with VC_ADMIN_ROLE and VC_USER_ROLE */

/* BEGIN: DB disk size monitoring */

use master

go

grant VIEW SERVER STATE to [vpxuser]

go

GRANT VIEW ANY DEFINITION TO [vpxuser]

go

/* END: DB disk size monitoring */

0 Kudos
EGarbuzov
VMware Employee
VMware Employee

Когда я его запустил у меня отрабатывает с ошибкой.

Этот скрипт правильный или что-то тут нужно подправить?

Честно говоря я не пользовался этим скриптом, смотря что за ошибка. Как минимум, тут нужно подставлять свои пароли, пути и т.п.

Не смотрели в сторону vCSA? Там всё преднастроено сразу.

0 Kudos
SergOO
Enthusiast
Enthusiast

Разобрался. Вот скрипт и избегайте в паролях на vpxuser символов на предмет "," и пр.( по статье:

VMware KB: Installing or Upgrading to vCenter Server 6.0 fails with the error: The following command...

use [master]

go

CREATE DATABASE [VCDB] ON PRIMARY

(NAME = N'vcdb', FILENAME = N'E:\db\VCDB.mdf', SIZE = 10MB, FILEGROWTH = 10% )

LOG ON

(NAME = N'vcdb_log', FILENAME = N'E:\db\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

use VCDB

go

sp_addrolemember @rolename = 'db_owner', @membername = 'vpxuser'

go

use MSDB

go

sp_addrolemember @rolename = 'db_owner', @membername = 'vpxuser'

go

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

0 Kudos