keskiviikko 11. elokuuta 2010

VMware: Setup found that multiple schemas exist in the database, please remove the extra schema(s) before continue.

Päivitysyritys Vcenter 4 -> 4.1:stä päätyi otsikossa olevaan virheeseen.

Muistaakseni kun 2.5 -> 4 teki tuon, niin se suostui jatkamaan päivitystä, mutta herjasi siitä. Nyt ks. ongelma piti korjata.

(En ole mikään tietokanta-asiantuntija, joten en ota näistä mitään vastuuta :))

Ongelman näkee, jos antaa tietokannassa (tässä oli SQL2005 kyseessä) seuraavan select -lauseen:

SELECT distinct sys.schemas.name AS schema_name FROM sys.objects INNER JOIN sys.schemas ON sys.objects.schema_id = sys.schemas.schema_id and sys.schemas.name 'sys'

Jos ylläoleva SELECT palauttaa 2 schemaa, niin kaikkien procedurien, viewien ja table omistajuus pitää vaihtaa dbo -omistajalle.


Seuraavilla komennoilla itselläni ainakin homma korjaantui. Muista ensin sammuttaa Vcenter ja ottaa kannasta backup.


Muuta usrvcenter kohtaan oman tietokantasi nimi.



SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + p.Name FROM sys.Procedures p INNER JOIN sys.Schemas s on p.schema_id = s.schema_id WHERE s.Name = 'usrvcenter'


SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + p.Name FROM sys.Tables p INNER JOIN sys.Schemas s on p.schema_id = s.schema_id WHERE s.Name = 'usrvcenter'

SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + p.Name FROM sys.Views p INNER JOIN sys.Schemas s on p.schema_id = s.schema_id WHERE s.Name = 'usrvcenter'

Jonka jälkeen se tulostelee paljon rivejä, tyyliin:

ALTER SCHEMA dbo TRANSFER usrvcenter.VPXV_VMGROUPS
ALTER SCHEMA dbo TRANSFER usrvcenter.VPXV_STAT_COUNTERS 

...


Tämän jälkeen suorita nuo kaikki ALTER SCHEMA -rivit, mitä nuo kolme SELECT-lauseketta tulosti.

Tämän jälkeen päivitys suostui menemään eteenpäin.

Toinen juttu mikä kannattaa muistaa, että ODBC pitää 4.1:ssä olla 64-bit.

Ja pari linkkiä, joista voi olla apua multiple schema -ongelman kanssa:

Ei kommentteja:

Lähetä kommentti