Maintenance

Implementing a backup plan

Backing up your iMIS database ensures that your data is secure. Having a solid monthly routine in place minimizes the amount of data you could lose in a disaster.

🚧 Warning

Avoid using third-party backup SQL agents, which might cause problems when restoring your database.

Initial backup tasks
  • Schedule SQL Server Agent to back up your iMIS database nightly.
  • Configure the nightly backup to save the backup file (*.bak).
  • Set up SQL Server Agent to notify you if the backup fails.
Monthly backup tasks
  • Each month, test your backups. Restore the file to a temporary database, open iMIS, and verify that it works.
  • If your chosen backup utility allows, store it off-site as a fail-safe.
Reorganizing and rebuilding database indexes regularly

Be sure to set up a scheduled maintenance plan in SQL Server to reorganize and rebuild your iMIS database indexes on a routine basis, so that you have the best possible system performance. The larger the iMIS database, the more important this becomes in keeping performance up.

See MSDN to find out more about creating a maintenance plan. While every database is different and will have different requirements, a common routine is to reorganize your indexes daily and to rebuild them weekly.

Changing application server host names

If the name of the server that hosts the iMIS server ever changes, you must uninstall and reinstall iMIS to enable remote installations and future upgrades of iMIS.

Changing SMTP server settings

The SMTP server that you specify during installation is written to the web.config files for each iMIS application installed during that session. If you need to change SMTP server settings after iMIS has been installed, you must manually edit the respective web.config files to specify the new SMTP server.

Do the following to change SMTP server settings:

  1. Modify the web.config files for all instances of your iMIS to specify the domain name of the SMTP server to use for each:
    • On each iMIS server host, open the web.config files for each iMIS application:
      • iMIS default location:
        • C:\Program Files (x86)\ASI\iMIS\Net\web.config
        • C:\AsiPlatform\Asi.Scheduler_[your instance]\web.config
    • In each web.config file, search for the <network> element declaration and modify the value of the host attribute to specify the domain name of your organization’s SMTP server. For example:
    • <network host="mysmtpsrv.myorg.org"…

      📘 Note

      In the <network> element declaration, you can also specify port and authentication information for your SMTP server to ensure that iMIS can find and log on to the SMTP server in your environment. For details, refer to your Microsoft ASP.NET documentation.
  2. Restart each iMIS server on which you modified the web.config file.
Restoring databases

You must temporarily stop Internet Information Services (IIS) before attempting to restore the iMIS database. Otherwise, the service can lock the database and prevent the restoration.

Run the following command from a command prompt to ensure that IIS is stopped:
iisreset –stop

Once you have restored your database, you can run the command iisreset –start to restart IIS.

📘 Note

The SQL Service Broker must be enabled after a database restore. See Enable the SQL Service Broker for more information, please.

Enable the SQL Service Broker

The SQL Service Broker must be enabled after a database restore. To enable the SQL Service Broker, open the iMIS DB Maintenance Utility (go to Start > ASI > iMIS > Tools) and click Prepare iMIS Database.

Considerations when using Advanced email

Advanced email is disabled by default for test databases in order to avoid redirection of live email notifications to the test database (Settings > Advanced email). A Reactivate button will appear whenever a change in the configured SQL server or database name is detected. Select Reactivate only when the database is the primary live database. This database will then receive notifications whereas any previously configured database will not. See Advanced email for more information.

Improving startup time at login

If the initial start time is too slow even after rebooting or restarting IIS, you can edit settings to lower the startup time.

  1. Stop the AsiScheduler application.
  2. Edit the web.config files.
  3. Find the <SystemParams> section and add the following:
  4.                         <!-- Url to the application server this is installed for. -->
    <add key="ImisWebServerUrl" value="http://localhost/iMIS/"/>
    <!-- Value given in minutes. Default value is 15. -->
    
    <add key="PingInterval" value="15"/>
    <!-- Comma-separated list. Example value: 
    	"http://server1/iMIS/,http:server2/imispublic/,..." -->
    <add key="AdditionalUrls" value=""/>
  5. Recycle the AsiSchedulerPool app pool, then enable the AsiScheduler application for it to take affect immediately.

📘 Note

There is also a keep-alive service for all RiSE-managed sites, to automatically pre-load sites in IIS if they are restarted, to improve the load time for the first browser request. You control this service through the Asi.Scheduler web.config file.

Resetting system SQL authentication passwords

When the product setup.exe creates a new iMIS database, two SQL logins are created on the SQL Server instance that are used for system-level authentication of database transactions initiated by an iMIS user. These special logins prevent the need for any iMIS user to have a defined login or user on the SQL Server instance or iMIS database. Neither login is a member of any server role.

  • manager_<db> (where <db> is your iMIS database) is used by every iMIS user record that is a member of the SysAdmin role in Advanced Accounting Console.
    • This login is a member of the database roles db_owner and public.
    • As a member of the db_owner role, it enables activities such as rebuilding tables from Advanced Accounting Console.
  • imisuser_<db> (where <db> is your iMIS database) is used by every iMIS user record that is not a member of the Advanced Accounting Console SysAdmin role in Advanced Accounting Console.
    • This login is a member of the database roles IMIS and public.
    • Not a member of the db_owner role, activities such as rebuilding tables are unavailable.
Resetting authentication passwords automatically

In DB Maintenance, run Prepare iMIS Database to reset authentication passwords automatically. This resets an iMIS database that has just been restored to a new location or under a new name.

Resetting authentication passwords manually

📘 Note

You will rarely need to reset the hashed passwords for these special SQL logins. Should you need to, follow this procedure carefully.

Do the following to reset authentication passwords manually:

  1. If needed, grant access to the iMIS SQL Server login password for the SQL Server instance on which the iMIS database exists. Only that login can update other SQL logins.
  2. In Advanced Accounting Console, log in as MANAGER.
  3. Select File > System Setup.
  4. On the System Setup window, click SQL Security Setup.
  5. For manager_<db>, enter a string identically in both SQL Manager Password and Verify Password. The string does not matter: it becomes a hashed value.
  6. For imisuser_<db>, enter a string identically in both SQL User Password and Verify Password.
  7. Click Save to create the hashed password values stored in the System_Params table.
  8. Click Create SQL Logins to reset the hashed passwords for the logins on the SQL Server instance.
  9. When prompted, enter the sa password and accept any messages that appear regarding shutting down iBO on the iMIS server.