String-Pool érvényesítés
A Windows Installer egyetlen megosztott sztringkészletben tárolja az összes adatbázis-sztringet az adatbázis méretének csökkentése és a teljesítmény javítása érdekében. A sztringkészlet érvényesítésének egyetlen módja a Windows Installer SDK-ban található MsiInfo eszköz használata.
A sztringkészlet ellenőrzése két fő ellenőrzésből áll:
DBCS-sztringtesztek
A DBCS sztringtesztjei két feltétel alapján ellenőrzik az adatbázisban lévő összes sztringet: semleges kódlapot tartalmazó csomagok esetén, ha bármelyik karakter kiterjesztett karakter (127-nél nagyobb), a sztring megjelölve lesz, és megjelenik egy üzenet, amely szerint az adatbázis kódlapja érvénytelen, mert ezek a karakterek megkövetelik, hogy egy adott kódlap egységesen jelenjen meg az összes rendszeren.
Ha az adatbázis rendelkezik kódlappal, a rendszer minden sztringben érvénytelen DBCS-jelzőt keres. Ha egy nem semleges sztring helytelenül van megjelölve, a karakterek nem jelennek meg megfelelően. (Ezt leggyakrabban az okozza, hogy a kódlapot egy adott értékre kényszeríti a _ForceCodepage táblával, amely már nem semleges sztringeket tartalmaz az adatbázisban.) Vegye figyelembe, hogy ehhez az ellenőrzéshez telepíteni kell az adatbázis kódlapját a rendszerre.
Kódlaphiba esetén a felhasználó kijavíthatja a hibát a _ForceCodepage táblával, hogy az adatbázis kódlapját a megfelelő értékre kényszerítse. További információ: Kódlapkezelés.
Referenciaszám ellenőrzése
Az összes sztring hivatkozási számának ellenőrzéséhez a rendszer minden táblát sztringértékek alapján vizsgál, az egyes különálló sztringek számát megtartja, és az eredményt összehasonlítja az adatbázis-sztringkészlet tárolt hivatkozási számával.
Sztringhivatkozások számával kapcsolatos probléma esetén a felhasználónak azonnal exportálnia kell az adatbázis minden tábláját MsiDatabaseExporthasználatával, hozzon létre egy új adatbázist, és importálja a táblákat az új adatbázisba MsiDatabaseImporthasználatával. Az új adatbázis tartalma megegyezik a régi adatbázis tartalmával, de a sztringhivatkozások száma helyes. A sérült sztringkészlettel rendelkező adatbázisok adatainak hozzáadása vagy törlése növelheti az adatbázis sérülését és az adatvesztést, ezért a további adatvesztés elkerülése érdekében fontos, hogy gyorsan végezze el ezeket a lépéseket.
Adatbázisok újraépítésekor ne felejtsen el beágyazni minden szükséges tárolót és streamet az új adatbázisba (lásd _Streams Tábla és _Storages Tábla), és vegye figyelembe a kódlapokkal kapcsolatos problémákat. Ne felejtse el beállítani az összes szükséges összegzési adatfolyam tulajdonságait is.