How to Perform Database Repairs

From TrainzOnline
(Difference between revisions)
Jump to: navigation, search
m
Line 1: Line 1:
 
<table width=1000>
 
<table width=1000>
 
<tr valign="top">
 
<tr valign="top">
<td colspan=2>The information in this Wiki Page applies to '''TANE''', '''TRS19''', '''Trainz Plus''' and '''TRS22'''. This guide will take you through the process of performing manual asset updates using '''Content Manager'''. Updates occur whenever new versions of assets installed on your system are uploaded to the '''DLS'''.</td>
+
<td>The information in this Wiki Page applies to '''TANE''', '''TRS19''', '''Trainz Plus''' and '''TRS22'''.<br>
 +
 
 +
This guide will take you through the process of performing manual database repairs and clean database installs. '''Trainz''' will automatically perform database repairs when it detects corruption in the Trainz database but sometimes a manual repair will be required.</td>
 
</tr>
 
</tr>
 +
</table>
 +
 +
<table width=1000>
 
<tr valign="top">
 
<tr valign="top">
 
<td width=375>
 
<td width=375>
Line 26: Line 31:
 
</tr>
 
</tr>
 
</table>
 
</table>
 +
<br>
 +
<table width=1000> <!-- BEGIN Nav Buttons Table -->
 +
<tr valign="top">
 +
<td width=729><span id="stepWhat"></span>&nbsp;</td>
 +
<td width=46>[[file:BackToTop.png|link=#top|alt=Top|Top]]</td>
 +
<td width=75>&nbsp;</td>
 +
<td width=75>[[file:NextDown.png|link=#stepWhy|alt=Next Down|Next Down]]</td>
 +
<td width=75>[[file:BackToBottom.png|link=#bottom|alt=Bottom|Bottom]]</td>
 +
</tr>
 +
</table> <!-- END Nav Buttons Table -->
 +
 +
='''What is the "Trainz Database"?'''=
  
 
<table width=1000 bgcolor="lightcyan" cellpadding=2>
 
<table width=1000 bgcolor="lightcyan" cellpadding=2>
 
<tr valign="top">
 
<tr valign="top">
 
<td width=10>[[image:BlueDot10x10.png|link=]]</td>
 
<td width=10>[[image:BlueDot10x10.png|link=]]</td>
<td>'''Trainz''' will perform automatic updates when in '''Driver''' and '''Surveyor''' modes but you have little control over when and how this occurs</td>
+
<td>The '''Trainz Database''' contains all the installed assets</td>
 +
</tr>
 +
</table>
 +
 
 +
<table width=1000>
 +
<tr valign="top">
 +
<td>In the earliest Trainz versions all the assets that came installed with Trainz, or that you installed from the DLS or downloaded as .cdp files, were stored as separate folders on your designated data drive. This made it easy to access the assets for editing and other operations. However the penalty was that each time you started Trainz it had to scan the assets to check their integrity and the more assets you had the longer the startup took. This led to a great many complaints from users.
 +
 
 +
Today, all installed Trainz assets are added as records in an asset database which has significantly sped up the startup process and has reduced the possibility of accidental data corruption by users. The penalty is that users can no longer access the installed assets by using Windows Explorer. Access to the assets in the database for editing and examination is through the '''Content Manager''' program.
 +
 
 +
Because it is a database manager, '''Content Manager''' also provides users with many more search, display and management options than were ever previously possible. Each entry in the display shown below is a single record in the Trainz database. Each entry can be easily opened for editing, it can be deleted, copied (cloned) and updated. New assets can be manually created or installed from other sources.</td>
 +
</tr>
 +
</table>
 +
<br>
 +
<table width=1000>
 +
<tr>
 +
<td>[[file:DBR_EDBR20.png|link=]]</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
Line 36: Line 69:
 
<table width=1000> <!-- BEGIN Nav Buttons Table -->
 
<table width=1000> <!-- BEGIN Nav Buttons Table -->
 
<tr valign="top">
 
<tr valign="top">
<td width=729><span id="stepFilter"></span>&#160;</td>
+
<td width=729><span id="stepWhy"></span>&nbsp;</td>
<td width=46>[[image:BackToTop.png|link=#top|alt=Top|Top]]</td>
+
<td width=46>[[file:BackToTop.png|link=#top|alt=Top|Top]]</td>
<td width=75>&#160;</td>
+
<td width=75>[[file:NextUp.png|link=#stepWhat|alt=Next Up|Next Up]]</td>
<td width=75>[[image:NextDown.png|link=#stepDLS|alt=Next Down|Next Down]]</td>
+
<td width=75>[[file:NextDown.png|link=#stepHow|alt=Next Down|Next Down]]</td>
<td width=75>[[image:BackToBottom.png|link=#bottom|alt=Bottom|Bottom]]</td>
+
<td width=75>[[file:BackToBottom.png|link=#bottom|alt=Bottom|Bottom]]</td>
 
</tr>
 
</tr>
 
</table> <!-- END Nav Buttons Table -->
 
</table> <!-- END Nav Buttons Table -->
='''Set Up An Update Filter'''=
+
='''Why Would a Database Repair (DBR) Be Needed?'''=
  
<table width=1000 bgcolor=#000000 cellpadding=2>
+
<span style="font-weight: 700; font-size: 15px;">A Quote from N3V</span>
 +
 
 +
<table width=1000>
 
<tr valign="top">
 
<tr valign="top">
<td>
+
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<table width=996 bgcolor=#ffffe0 cellpadding=2>
+
<td>"In terms of DB repairs, it should only be necessary if the program is updated or crashes. My understanding of the additional repairs are for things that are done outside the program function [i.e. outside of '''Content Manager''' and '''Surveyor'''] (like manually adding content into the local data folder) so in that case the db repair 'discovers' the new content".</td>
<tr valign="top">
+
<td>[[image:PencilTips.PNG|link=]]</td>
+
<td>
+
<table>
+
<tr valign="top">
+
<td width=10>[[image:DotPoint.JPG|10px|link=]]</td>
+
<td>a '''Update Filter''' allows you to easily perform this operation at any time</td>
+
 
</tr>
 
</tr>
 +
</table>
 +
 +
<table width=1000>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:DotPoint.JPG|10px|link=]]</td>
+
<td>When '''Trainz''' is operating there is a great deal of database activity going on with records being opened and closed, and data being read and written. Corruption of the data is always possible, particularly if the power supply is interrupted or the program is suddenly terminated (a "crash") while records are open or being written. For this reason, '''Content Manager''' comes equipped with automatic and manual database repair tools.</td>
<td>because this is something that you will probably be doing on a regular basis, it would be a good idea to save the filter to perform the task of searching for asset updates.</td>
+
 
</tr>
 
</tr>
 
</table>
 
</table>
 +
<br>
 +
<table width=1000 bgcolor=#000000>
 +
<tr valign="top">
 +
<td>
 +
<table bgcolor=#ffffe0>
 +
<tr valign="top">
 +
<td>[[file:PencilTips.PNG|link=]]</td>
 +
<td>A common, but not exclusive, cause of database problems and even '''CTD'''s (crashes to desktop) may be your antivirus program. Everytime '''Trainz''' accesses the database your AV program may perform a scan of the database.<br><br>
 +
Adding '''TANE.exe''', '''TRS19.exe''' and '''TRS22.exe''' to your AV programs '''real time scan''' exclusion list can potentially resolve many of these issues by preventing the AV from accessing the database.
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 69: Line 108:
 
</table>
 
</table>
 
<br>
 
<br>
<table cellpadding=2>
+
<table width=1000> <!-- BEGIN Nav Buttons Table -->
 
<tr valign="top">
 
<tr valign="top">
<td colspan=2><span style="font-weight: 700; font-size: 17px;">Steps:</span></td>
+
<td width=729><span id="stepHow"></span>&nbsp;</td>
 +
<td width=46>[[file:BackToTop.png|link=#top|alt=Top|Top]]</td>
 +
<td width=75>[[file:NextUp.png|link=#stepWhy|alt=Next Up|Next Up]]</td>
 +
<td width=75>[[file:NextDown.png|link=#stepEDBR|alt=Next Down|Next Down]]</td>
 +
<td width=75>[[file:BackToBottom.png|link=#bottom|alt=Bottom|Bottom]]</td>
 
</tr>
 
</tr>
 +
</table> <!-- END Nav Buttons Table -->
 +
='''How to Perform a Database Repair (a DBR)'''=
 +
 +
<table width=1000 bgcolor="lightcyan" cellpadding=2>
 
<tr valign="top">
 
<tr valign="top">
<td width=25>[[image:DotPoint1.JPG|link=]]</td>
+
<td width=10>[[image:BlueDot10x10.png|link=]]</td>
<td><span style="font-size: 17px; font-weight: 700;">Open a Content Manager Filter:</span>
+
<td>A '''DBR''' performs a "surface scan" of the database detecting missing content and content errors. It will update your database and can clean up some corrupted data.</td>
<table> <!-- BEGIN Step 1 table -->
+
</tr>
 +
</table>
 +
<br>
 +
This is the simplest and (usually) the fastest option.<br>
 +
 
 +
<table bgcolor=#000000>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:Update_Filter01.png|link=]]</td>
 
 
<td>
 
<td>
 +
<table bgcolor=#ffffb0>
 +
<tr valign="top">
 +
<td>[[file:NotePad.PNG|link=]]</td>
 +
<td><span style="font-size: 17px;">'''Notes:'''</span><br>
 +
----
 +
Perform a '''DBR''' if you have:-
 
<table>
 
<table>
 
<tr valign="top">
 
<tr valign="top">
<td width=25>[[image:DotPoint1Blue.png|link=]]</td>
+
<td width=10>[[image:DotPoint.JPG|10px|link=]]</td>
<td>from the '''Trainz''' Launcher, select <span style="color: white; background-color: black; font-weight: 700; font-size: 15px;">&#160;Manage Content&#160;</span></td>
+
<td>'''unexpected problems''' with missing content</td>
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:DotPoint2Blue.png|link=]]</td>
+
<td>[[image:DotPoint.JPG|10px|link=]]</td>
<td>in the '''Filter''' drop down box, select '''Custom...'''
+
<td>content '''errors with installed assets''' (particularly if those assets did not previously show any problems)</td>
</td>
+
 
</tr>
 
</tr>
<tr>
+
<tr valign="top">
<td colspan=2>
+
<td colspan=2>A '''DBR''' updates your database, revalidates the content and can often clear up any corruption that has occurred.</td>
<br>This will produce the following filter options...<br>
+
[[image:Update_Filter02a.png|link=]]
+
</td>
+
</tr>
+
</table> <!-- END Step 1 table -->
+
</td>
+
 
</tr>
 
</tr>
 
</table>
 
</table>
Line 103: Line 153:
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:DotPoint2.JPG|link=]]</td>
+
<td colspan=2>
<td><span style="font-size: 17px; font-weight: 700;">Configure:</span>
+
<table bgcolor=#ffffe0>
<table> <!-- BEGIN Step 2 table -->
+
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:Update_Filter03.png|link=]]</td>
+
<td>[[file:PencilTips.PNG|link=]]</td>
<td>
+
<td>If you have installed a new asset that '''Content Manager''' reports has having '''missing''' or '''unknown''' assets then a '''DBR''' is '''very unlikely''' to find those missing assets.
<table>
+
<tr valign="top">
+
<td width=25>[[image:DotPoint1Blue.png|link=]]</td>
+
<td>open the '''Asset KUID''' drop down box and select '''Out of date'''</td>
+
</tr>
+
<tr valign="top">
+
<td width=25>[[image:DotPoint2Blue.png|link=]]</td>
+
<td>leave the '''Out of date''' setting at '''True'''</td>
+
</tr>
+
<tr>
+
<td colspan=2>
+
<br>This will produce the following filter options...<br>
+
[[image:Update_Filter04a.png|link=]]
+
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 130: Line 166:
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<br>
 +
<table width=1000>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:DotPoint3.JPG|link=]]</td>
+
<td colspan=2><span style="font-weight: 700; font-size: 17px;">Steps:</span></td>
<td><span style="font-size: 17px; font-weight: 700;">... and Configure:</span><br>
+
</tr>
<table> <!-- BEGIN Step 3 table -->
+
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:Update_Filter04.png|link=]]
+
<td width=25>[[image:DotPoint1.JPG|link=]]</td>
 +
<td><span style="font-size: 17px; font-weight: 700;">Open the Developer Menu</span>
 
<table>
 
<table>
 
<tr valign="top">
 
<tr valign="top">
<td width=25>[[image:DotPoint1Blue.png|link=]]</td>
+
<td colspan=2>From either the '''Launcher''' (below left) or '''Content Manager''' (below right) open the '''Developer''' menu and select the '''Rebuild Database''' option</td>
<td>delete the '''Name''' filter by a <span style="font-weight: 700; font-size: 15px; background-color: lightcyan;">&#160;Left Click&#160;</span> on its [[image:CMFilterDeleteBtn.png|link=]] button on its extreme right</td>
+
 
</tr>
 
</tr>
</table>
+
<tr valign="top">
<br>
+
<td>[[file:DBR_EDBR01.png|link=]]</td>
The final filter selection will look like ...<br>
+
<td>[[file:DBR_EDBR02.png|link=]]</td>
[[image:Update_Filter05.png|link=]]
+
</td>
+
 
</tr>
 
</tr>
 
</table>
 
</table>
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
 +
<table width=1000>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:DotPoint4.JPG|link=]]</td>
+
<td>The process will proceed automatically and unaided through a number of steps, '''only some of which are shown below'''. The time required for each step will vary enormously (some will take much longer than others) and the total time involved will depend on the number of assets installed, the speed of your system and other factors.
<td><span style="font-size: 17px; font-weight: 700;">Save:</span><br>
+
<table> <!-- BEGIN Step 4 table -->
+
<tr valign="top">
+
<td colspan=2>
+
 
<table>
 
<table>
 
<tr valign="top">
 
<tr valign="top">
 
<td width=25>[[image:DotPoint1Blue.png|link=]]</td>
 
<td width=25>[[image:DotPoint1Blue.png|link=]]</td>
<td>click the <span style="font-weight: 700; font-size: 15px;">Save</span> button</td>
+
<td>'''Scanning for deleted asset files'''<br>
 +
[[file:DBR_EDBR03.png|link=]]</td>
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
 
<td>[[image:DotPoint2Blue.png|link=]]</td>
 
<td>[[image:DotPoint2Blue.png|link=]]</td>
<td>enter a meaningful name for your filter and click <span style="font-weight: 700; font-size: 15px;">Ok</span></td>
+
<td>'''Scanning for added asset files'''<br>
 +
[[file:DBR_EDBR04.png|link=]]</td>
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
<td colspan=2>[[image:Update_Filter06.png|link=]]</td>
+
<td>[[image:DotPoint3Blue.png|link=]]</td>
 +
<td>'''Importing built in assets'''<br>
 +
[[file:DBR_EDBR06.png|link=]]</td>
 
</tr>
 
</tr>
</table>
+
<tr valign="top">
</td>
+
<td>[[image:DotPoint4Blue.png|link=]]</td>
 +
<td>'''Rebuilding cached asset data'''<br>
 +
[[file:DBR_EDBR07.png|link=]]</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
 
</td>
 
</td>
 +
</tr>
 +
<tr valign="top">
 +
<td>The '''Rebuilding Trainz Asset Database''' window will disappear if the '''DBR''' process has been successfully completed without finding any errors. If errors have been found then the window will remain on the screen to report on the number of errors and warnings.</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
 
<br>
 
<br>
You can now select and run this filter whenever you want to check for and install any asset updates.<br>
 
 
<table width=1000> <!-- BEGIN Nav Buttons Table -->
 
<table width=1000> <!-- BEGIN Nav Buttons Table -->
 
<tr valign="top">
 
<tr valign="top">
<td width=729><span id="stepDLS"></span>&#160;</td>
+
<td width=729><span id="stepEDBR"></span>&nbsp;</td>
<td width=46>[[image:BackToTop.png|link=#top|alt=Top|Top]]</td>
+
<td width=46>[[file:BackToTop.png|link=#top|alt=Top|Top]]</td>
<td width=75>[[image:NextUp.png|link=#stepFilter|alt=Next Up|Next Up]]</td>
+
<td width=75>[[file:NextUp.png|link=#stepHow|alt=Next Up|Next Up]]</td>
<td width=75>[[image:NextDown.png|link=#stepBuiltin|alt=Next Down|Next Down]]</td>
+
<td width=75>&#160;</td>
<td width=75>[[image:BackToBottom.png|link=#bottom|alt=Bottom|Bottom]]</td>
+
<td width=75>[[file:BackToBottom.png|link=#bottom|alt=Bottom|Bottom]]</td>
 
</tr>
 
</tr>
 
</table> <!-- END Nav Buttons Table -->
 
</table> <!-- END Nav Buttons Table -->
  
='''Updating Assets "Installed From DLS"'''=
+
='''How to Perform an Extended Database Repair (an EDBR)'''=
  
<table width=1000>
+
<table width=1000 bgcolor="lightcyan" cellpadding=2>
 
<tr valign="top">
 
<tr valign="top">
<td>If you run your new filter and see one or more updated assets available for download that were "Installed from DLS", then the process is very simple.</td>
+
<td width=10>[[image:BlueDot10x10.png|link=]]</td>
 +
<td>An '''EDBR''' performs a "deep scan" of the database and checks that the data in every asset conforms to the rules for that type of asset</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
 
<br>
 
<br>
<table width=1000>
+
<table width=XXX bgcolor=#000000 cellpadding=2>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:Update_DLS01.png|link=]]</td>
 
 
<td>
 
<td>
<table bgcolor=#000000 width=250>
+
<table width=XXX-4 bgcolor=#ffffb0 cellpadding=2>
 
<tr valign="top">
 
<tr valign="top">
<td>
+
<td width=25>[[image:NotePad.PNG|link=]]</td>
<table bgcolor=#ffffe0 width=246>
+
<td><span style="font-size: 17px;">'''Notes:'''</span><br>
<tr valign="top">
+
----
<td>[[image:PencilTips.PNG|link=]]</td>
+
<td>Clicking the '''Status''' column heading will sort the order of the rows into order so that all the "Available for download" updates will be grouped together. A second click may be needed to bring them to the top of the list or closer to the top.</td>
+
</tr>
+
</table>
+
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
</td>
 
</tr>
 
</table>
 
<br>
 
<table width=1000 bgcolor=#000000 cellpadding=2>
 
 
<tr valign="top">
 
<tr valign="top">
<td>
+
<td>[[image:DotPoint.JPG|10px|link=]]</td>
<table width=996 bgcolor=#ffffff cellpadding=2>
+
<td>An '''EDBR''' is a more complex, slower and potentially more troublesome repair process</td>
<tr valign="top">
+
<td colspan=2><span style="font-weight: 700; font-size: 17px;">Steps:</span> To download and install all the updated assets:-  </td>
+
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
<td width=25>[[image:DotPoint1.JPG|link=]]</td>
+
<td>[[image:DotPoint.JPG|10px|link=]]</td>
<td>highlight all the items in the list shown as '''Installed from DLS''' in the '''Status''' column</td>
+
<td>An '''EDBR''' puts every single asset in the database through the same error and compliance checks that are run when a new asset is installed</td>
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:DotPoint2.JPG|link=]]</td>
+
<td>[[image:DotPoint.JPG|10px|link=]]</td>
<td><span style="font-weight: 700; font-size: 15px; background-color: lightcyan;">&#160;Right Click&#160;</span> on any one of the items and select '''Download''' from the popup menu</td>
+
<td>Perform an '''EDBR''' if you have '''serious problems''' with your database that a DBR does not fix</td>
</tr>
+
<tr valign="top">
+
<td colspan=2>[[image:Update_DLS02.png|link=]]<br><br>
+
If the selected items have any new or updated dependencies that are also on the DLS then '''Content Manager''' will automatically find and download them as well</td>
+
 
</tr>
 
</tr>
 
</table>
 
</table>
Line 239: Line 266:
 
</table>
 
</table>
 
<br>
 
<br>
<table bgcolor="Aquamarine">
+
<table bgcolor=#ff0000>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:LinkWiki.PNG|link=]]</td>
 
 
<td>
 
<td>
More information on the '''Status''' labels used in '''Content Manager''' can be found on the '''Trainz Wiki Page''' at:-<br>
+
<table bgcolor=#fcbcbc>
'''[[Understand_Content_Manager_Status_Labels|How To Understand the Content Manager Status Labels]]'''<br>
+
<tr valign="top">
 +
<td>[[file:Stop.PNG|link=]]</td>
 +
<td><span style="font-size: 15px; font-weight: 700;">CAUTION:</span><br>
 +
It is not unusual for '''Content Manager''' to display a list of faulty assets '''after an EDBR''' that were not shown as faulty before the '''EDBR''' was run
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
<br>
+
</td>
<table width=1000> <!-- BEGIN Nav Buttons Table -->
+
<tr valign="top">
+
<td width=729><span id="stepBuiltin"></span>&#160;</td>
+
<td width=46>[[image:BackToTop.png|link=#top|alt=Top|Top]]</td>
+
<td width=75>[[image:NextUp.png|link=#stepDLS|alt=Next Up|Next Up]]</td>
+
<td width=75>[[image:NextDown.png|link=#stepMixture|alt=Next Down|Next Down]]</td>
+
<td width=75>[[image:BackToBottom.png|link=#bottom|alt=Bottom|Bottom]]</td>
+
</tr>
+
</table> <!-- END Nav Buttons Table -->
+
 
+
='''Updating Built in, Base and Payware Assets'''=
+
 
+
<table width=1000 bgcolor="lightcyan" cellpadding=2>
+
<tr valign="top">
+
<td width=10>[[image:BlueDot10x10.png|link=]]</td>
+
<td>Assets that are '''Built-in''', '''Base''' or '''Installed, Payware''' will require a few extra steps to be updated</td>
+
 
</tr>
 
</tr>
 
</table>
 
</table>
 
+
<br>
 
<table width=1000>
 
<table width=1000>
<tr valign="top">
 
<td>The method shown above for updating '''DLS''' assets '''will not work''' for assets that are '''Built-in''', '''Base''' or '''Installed, Payware'''. If '''Content Manager''' lists updates for these types of assets as available for download then the process involves a few extra steps.</td>
 
</tr>
 
</table>
 
 
[[image:Update_Builtin01.png|link=]]
 
 
<table width=1000 cellpadding=2>
 
 
<tr valign="top">
 
<tr valign="top">
 
<td colspan=2><span style="font-weight: 700; font-size: 17px;">Steps:</span></td>
 
<td colspan=2><span style="font-weight: 700; font-size: 17px;">Steps:</span></td>
Line 282: Line 287:
 
<tr valign="top">
 
<tr valign="top">
 
<td width=25>[[image:DotPoint1.JPG|link=]]</td>
 
<td width=25>[[image:DotPoint1.JPG|link=]]</td>
<td><span style="font-size: 17px; font-weight: 700;">Select Built-in, Base and Payware Assets to Update:</span>
+
<td><span style="font-size: 17px; font-weight: 700;">Open the Developer Menu</span></td>
<table> <!-- BEGIN Step 1 table -->
+
<tr valign="top">
+
<td>[[image:Update_Builtin02.png|link=]]</td>
+
<td>
+
<table>
+
<tr valign="top">
+
<td width=25>[[image:DotPoint1Blue.png|link=]]</td>
+
<td>select all the '''Built-in''', '''Base''' or '''Installed, Payware''' items shown in your '''Updates Available''' list</td>
+
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:DotPoint2Blue.png|link=]]</td>
+
<td colspan=2>
<td>'''Right''' click on any one of the items in the list. Note that the option '''Download''' is not available in the popup menu</td>
+
<table> <!-- BEGIN Step 1 table -->
</tr>
+
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:DotPoint3Blue.png|link=]]</td>
+
<td>[[file:DBR_EDBR01.png|link=]]</td>
<td>select the option '''List Asset Versions'''</td>
+
<td>[[file:DBR_EDBR02.png|link=]]</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
</td>
 
</tr>
 
<tr>
 
<td colspan=2>
 
<br>
 
This will display all the available versions of the selected assets that are:-
 
 
<table>
 
<table>
 
<tr valign="top">
 
<tr valign="top">
<td width=10>[[image:RedDot10x10.png|link=]]</td>
+
<td colspan=2>From either the '''Launcher''' (left) or '''Content Manager''' (right):-</td>
<td>on your system, and</td>
+
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:RedDot10x10.png|link=]]</td>
+
<td width=25>[[image:DotPoint1Blue.png|link=]]</td>
<td>on the DLS, and</td>
+
<td>open the '''Developer''' menu</td>
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:RedDot10x10.png|link=]]</td>
+
<td>[[image:DotPoint2Blue.png|link=]]</td>
<td>obsolete</td>
+
<td>hold down the <span style="font-weight: 700; font-size: 15px; color: white; background-color: black;">&#160;Ctrl&#160;</span> key</td>
</tr>
+
</table>
+
<br>
+
[[image:Update_Builtin03.png|link=]]
+
<br>
+
You may need to click the '''Status''' column heading once or twice to sort them into order and group all the '''Available for download''' assets together.
+
</td>
+
</tr>
+
</table>
+
</td>
+
 
</tr>
 
</tr>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:DotPoint2.JPG|link=]]</td>
+
<td>[[image:DotPoint3Blue.png|link=]]</td>
<td><span style="font-size: 17px; font-weight: 700;">Select Assets to Update:</span>
+
<td>select the '''Rebuild Database''' option</td>
<table> <!-- BEGIN Step 2 table -->
+
<tr valign="top">
+
<td>
+
<table>
+
<tr valign="top">
+
<td width=10>[[image:RedDot10x10.png|link=]]</td>
+
<td>select all the items shown in the list as '''Available for download'''</td>
+
</tr>
+
<tr valign="top">
+
<td>[[image:RedDot10x10.png|link=]]</td>
+
<td>'''DO NOT INCLUDE''' items shown as '''Available for download, Obsolete''' (unless that is what you really want)</td>
+
</tr>
+
<tr valign="top">
+
<td>[[image:RedDot10x10.png|link=]]</td>
+
<td><span style="font-weight: 700; font-size: 15px; background-color: lightcyan;">&#160;Right Click&#160;</span> on any one of the items and select '''Download''' from the popup menu</td>
+
</tr>
+
</table>
+
<br>
+
[[image:Update_Builtin04.png|link=]]<br><br>
+
If the items have any new or updated dependencies that are also on the '''DLS''' then '''Content Manager''' will automatically find and download them as well
+
</td>
+
 
</tr>
 
</tr>
 
</table>
 
</table>
Line 360: Line 318:
 
</table>
 
</table>
 
<br>
 
<br>
<table width=1000> <!-- BEGIN Nav Buttons Table -->
+
A possible result of an EDBR.<br>
<tr valign="top">
+
<table width=1000>
<td width=729><span id="stepMixture"></span>&#160;</td>
+
<td width=46>[[image:BackToTop.png|link=#top|alt=Top|Top]]</td>
+
<td width=75>[[image:NextUp.png|link=#stepBuiltin|alt=Next Up|Next Up]]</td>
+
<td width=75>&#160;</td>
+
<td width=75>[[image:BackToBottom.png|link=#bottom|alt=Bottom|Bottom]]</td>
+
</tr>
+
</table> <!-- END Nav Buttons Table -->
+
 
+
='''Updating a Mixture of Assets'''=
+
 
+
 
+
<table cellpadding=4 bgcolor=#ffffff>
+
 
<tr>
 
<tr>
<td colspan="2">If '''Content Manager''' shows a mixture of '''Installed from DLS''', '''Built-in''', '''Base''' and '''Installed, Payware''' assets to be updated, then use the method described above for updating all the assets.</td>
+
<td>
</tr>
+
[[file:DBR_EDBR10.png|link=]]
<tr valign="top">
+
<td><span style="font-size: 17px;">'''Steps:'''</span>
+
<table>
+
<tr valign="top">
+
<td width=25>[[image:DotPoint1.JPG|link=]]</td>
+
<td>select all assets to be updated</td>
+
</tr>
+
<tr valign="top">
+
<td width=25>[[image:DotPoint2.JPG|link=]]</td>
+
<td>select '''List Asset Versions''' from the menu</td>
+
</tr>
+
<tr valign="top">
+
<td width=25>[[image:DotPoint3.JPG|link=]]</td>
+
<td>select and download all assets marked '''Available for download'''</td>
+
</tr>
+
</table>
+
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 399: Line 329:
 
<table width=1000> <!-- BEGIN Nav Buttons Table -->
 
<table width=1000> <!-- BEGIN Nav Buttons Table -->
 
<tr valign="top">
 
<tr valign="top">
<td width=729><span id="bottom"></span>&#160;</td>
+
<td width=729><span id="bottom"></span>&nbsp;</td>
<td width=46>[[image:BackToTop.png|link=#top|alt=Top|Top]]</td>
+
<td width=46>[[file:BackToTop.png|link=#top|alt=Top|Top]]</td>
<td width=75>[[image:NextUp.png|link=#stepMixture|alt=Next Up|Next Up]]</td>
+
<td width=75>[[file:NextUp.png|link=#stepEDBR|alt=Next Up|Next Up]]</td>
<td width=75>&#160;</td>
+
<td width=75>&nbsp;</td>
<td width=75>&#160;</td>
+
<td width=75>&nbsp;</td>
 
</tr>
 
</tr>
 
</table> <!-- END Nav Buttons Table -->
 
</table> <!-- END Nav Buttons Table -->
 
+
----
 
----
 
----
 
='''Trainz Wiki'''=
 
='''Trainz Wiki'''=
<table cellpadding=4 bgcolor=#ffffff>
+
<table cellpadding=2 bgcolor=#ffffff>
 
<tr valign="top">
 
<tr valign="top">
<td>[[image:TrainzWiki.png|link=]]</td>
+
<td>[[file:TrainzWiki.png|link=]]</td>
 
<td>
 
<td>
 
<span style="font-size: 17px;">'''More Tutorials and Guides to Using Trainz'''</span><br>
 
<span style="font-size: 17px;">'''More Tutorials and Guides to Using Trainz'''</span><br>
Line 422: Line 352:
 
</table>
 
</table>
 
----
 
----
This page was created by Trainz user '''<span class="plainlinks">[http://online.ts2009.com/mediaWiki/index.php/User:Pware pware]</span>''' in Februrary 2019 and was last updated as shown below.
+
This page was created by Trainz user '''<span class="plainlinks">[http://online.ts2009.com/mediaWiki/index.php/User:Pware pware]</span>''' in January 2019 and was last updated as shown below.
 
----
 
----
 
[[Category:How-to guides]]
 
[[Category:How-to guides]]

Revision as of 22:16, 7 November 2023

The information in this Wiki Page applies to TANE, TRS19, Trainz Plus and TRS22.
This guide will take you through the process of performing manual database repairs and clean database installs. Trainz will automatically perform database repairs when it detects corruption in the Trainz database but sometimes a manual repair will be required.

Contents

NotePad.PNG Notes:

The section describing how to create a Clean Install (i.e. containing only Base and Built-in assets) has been removed because the technique described no longer works in the latest versions of Trainz.


  Top   Next Down Bottom

What is the "Trainz Database"?

BlueDot10x10.png The Trainz Database contains all the installed assets
In the earliest Trainz versions all the assets that came installed with Trainz, or that you installed from the DLS or downloaded as .cdp files, were stored as separate folders on your designated data drive. This made it easy to access the assets for editing and other operations. However the penalty was that each time you started Trainz it had to scan the assets to check their integrity and the more assets you had the longer the startup took. This led to a great many complaints from users.

Today, all installed Trainz assets are added as records in an asset database which has significantly sped up the startup process and has reduced the possibility of accidental data corruption by users. The penalty is that users can no longer access the installed assets by using Windows Explorer. Access to the assets in the database for editing and examination is through the Content Manager program.

Because it is a database manager, Content Manager also provides users with many more search, display and management options than were ever previously possible. Each entry in the display shown below is a single record in the Trainz database. Each entry can be easily opened for editing, it can be deleted, copied (cloned) and updated. New assets can be manually created or installed from other sources.


DBR EDBR20.png


  Top Next Up Next Down Bottom

Why Would a Database Repair (DBR) Be Needed?

A Quote from N3V

     "In terms of DB repairs, it should only be necessary if the program is updated or crashes. My understanding of the additional repairs are for things that are done outside the program function [i.e. outside of Content Manager and Surveyor] (like manually adding content into the local data folder) so in that case the db repair 'discovers' the new content".
When Trainz is operating there is a great deal of database activity going on with records being opened and closed, and data being read and written. Corruption of the data is always possible, particularly if the power supply is interrupted or the program is suddenly terminated (a "crash") while records are open or being written. For this reason, Content Manager comes equipped with automatic and manual database repair tools.


PencilTips.PNG A common, but not exclusive, cause of database problems and even CTDs (crashes to desktop) may be your antivirus program. Everytime Trainz accesses the database your AV program may perform a scan of the database.

Adding TANE.exe, TRS19.exe and TRS22.exe to your AV programs real time scan exclusion list can potentially resolve many of these issues by preventing the AV from accessing the database.


  Top Next Up Next Down Bottom

How to Perform a Database Repair (a DBR)

BlueDot10x10.png A DBR performs a "surface scan" of the database detecting missing content and content errors. It will update your database and can clean up some corrupted data.


This is the simplest and (usually) the fastest option.

NotePad.PNG Notes:

Perform a DBR if you have:-

DotPoint.JPG unexpected problems with missing content
DotPoint.JPG content errors with installed assets (particularly if those assets did not previously show any problems)
A DBR updates your database, revalidates the content and can often clear up any corruption that has occurred.
PencilTips.PNG If you have installed a new asset that Content Manager reports has having missing or unknown assets then a DBR is very unlikely to find those missing assets.


Steps:
DotPoint1.JPG Open the Developer Menu
From either the Launcher (below left) or Content Manager (below right) open the Developer menu and select the Rebuild Database option
DBR EDBR01.png DBR EDBR02.png
The process will proceed automatically and unaided through a number of steps, only some of which are shown below. The time required for each step will vary enormously (some will take much longer than others) and the total time involved will depend on the number of assets installed, the speed of your system and other factors.
DotPoint1Blue.png Scanning for deleted asset files
DBR EDBR03.png
DotPoint2Blue.png Scanning for added asset files
DBR EDBR04.png
DotPoint3Blue.png Importing built in assets
DBR EDBR06.png
DotPoint4Blue.png Rebuilding cached asset data
DBR EDBR07.png
The Rebuilding Trainz Asset Database window will disappear if the DBR process has been successfully completed without finding any errors. If errors have been found then the window will remain on the screen to report on the number of errors and warnings.


  Top Next Up   Bottom

How to Perform an Extended Database Repair (an EDBR)

BlueDot10x10.png An EDBR performs a "deep scan" of the database and checks that the data in every asset conforms to the rules for that type of asset


NotePad.PNG Notes:

DotPoint.JPG An EDBR is a more complex, slower and potentially more troublesome repair process
DotPoint.JPG An EDBR puts every single asset in the database through the same error and compliance checks that are run when a new asset is installed
DotPoint.JPG Perform an EDBR if you have serious problems with your database that a DBR does not fix


Stop.PNG CAUTION:

It is not unusual for Content Manager to display a list of faulty assets after an EDBR that were not shown as faulty before the EDBR was run


Steps:
DotPoint1.JPG Open the Developer Menu
DBR EDBR01.png DBR EDBR02.png
From either the Launcher (left) or Content Manager (right):-
DotPoint1Blue.png open the Developer menu
DotPoint2Blue.png hold down the  Ctrl  key
DotPoint3Blue.png select the Rebuild Database option


A possible result of an EDBR.

DBR EDBR10.png


  Top Next Up    


Trainz Wiki

TrainzWiki.png

More Tutorials and Guides to Using Trainz


This page was created by Trainz user pware in January 2019 and was last updated as shown below.


Personal tools