WS-401 Replicator and Archiver Guide
WS-401 Replicator and Archiver Guide
WS-401
REPLICATOR AND ARCHIVER
USER GUIDE
Version 1.18
WS-401 Replicator and Archiver User Guide
www.survalent.com
FAX (905) 826-7144
It is assumed that you have some background knowledge about SCADA systems.
WS-401 Replicator and Archiver User Guide
Revisions
Version Description
1.0 Initial version.
1.1 Added support for Oracle.
Added SQL Server 2005.
1.2
Added Archiver.
Added description of fields contained in the archived operations messages table
1.3
(PRTSPL-ARCHIVE).
Added note on extending maximum memory usage during installation of service
1.4
packs for SQL Server 2000
Added comments about installing Microsoft Reporting Services.
Added “I want to use Scada Replicator for:” option.
Added destination database on separate computer (if not using Replicator for
1.5
WebSurv).
Revised page for entering SCADA host names.
Allow user to specify names of archive tables.
Replicator still supports SQL Server 2000. But when used with WebSurv or in
redundant configurations, only SQL Server 2005 and 2008 are supported.
Updated section 3.3, Replicator Manager.
1.6
Added section 4.3, Setup Preferences.
Added chapter 7 on redundant replicators and SSRDS.
Added sections in chapter 8 on redundant historian.
In order to support SQL Server Express, Replicator has been modified to use Broker
Services, which is not available in versions of SQL Server prior to 2005. Replicator
therefore no longer supports SQL Server 2000, and the following sections have
1.7 therefore been removed:
• Setup of Microsoft SQL Server 2000
• Switching to Mixed Authentication in SQL Server 2000
• Configuring SQL Server 2000 Memory
Updated chapter 4, Installation of the Replicator. Replicator now supports non-
1.8
standard ports for connection to the Microsoft SQL Server Database.
1.9 Added section 2.3 and section 2.4.
Revisions
WS-401 Replicator and Archiver User Guide
Version Description
Updated installation options in Replicator.
1.11 Added new Survalent Logo.
Updated the Replicator Editor
Updated the installation procedures (removed the Installation Tool Kit) for Replicator,
1.18
SSRDS and Archiver.
Revisions
WS-401 Replicator and Archiver User Guide
Contents
1 Introduction 1-1
Contents i
WS-401 Replicator and Archiver User Guide
6 SSRDS 6-1
6.1 Redundant Replicators .................................................................................................................. 6-1
6.2 Setup of Microsoft SQL Server..................................................................................................... 6-2
6.3 Purpose of SSRDS ........................................................................................................................ 6-2
6.4 Installation of SSRDS ................................................................................................................... 6-2
6.5 SSRDS Editor ............................................................................................................................... 6-5
6.5.1 Add New Server ............................................................................................................................ 6-6
6.5.1.1 In Service ................................................................................................................................. 6-6
6.5.1.2 Server Name ............................................................................................................................ 6-6
6.5.1.3 Description ............................................................................................................................... 6-7
6.5.1.4 Database Type.......................................................................................................................... 6-7
6.5.1.5 Trust Connection...................................................................................................................... 6-7
6.5.1.6 User Name ............................................................................................................................... 6-7
6.5.1.7 Password .................................................................................................................................. 6-7
6.5.1.8 Sequence # ............................................................................................................................... 6-7
6.5.1.9 Test Connection ....................................................................................................................... 6-8
6.5.1.10 Save.......................................................................................................................................... 6-8
6.5.1.11 Cancel ...................................................................................................................................... 6-8
6.5.2 Edit Server Details ........................................................................................................................ 6-9
6.5.3 Delete Server ................................................................................................................................. 6-9
6.6 SSRDS Info ................................................................................................................................. 6-10
Contents ii
WS-401 Replicator and Archiver User Guide
9 Appendices 9-1
9.1 Appendix A - Outbound Connections from ADMS to Replicator ................................................ 9-2
9.2 Appendix B Database Server Setup Tips ...................................................................................... 9-4
9.2.1 SQL Server .................................................................................................................................... 9-4
9.3 Using an Alternate Database Driver ............................................................................................. 9-6
Contents iii
WS-401 Replicator and Archiver User Guide
1 Introduction
This document describes how to set up and maintain the Replicator. The Replicator is a program that
replicates the SCADA/ADMS database to a SQL Server or Oracle database in real-time.
A companion program, called the Archiver, can be used to transfer the historical data in the replicated
database into a set of larger tables for long-term storage.
Note on Survalent Web Applications: The Replicator is a pre-requisite for the following Survalent web
applications – WebSurv/SurvCentral, CSR Call Handler OMS Dashboard and Mobile Crew. These
applications currently only support reading and writing data to SQL databases.
A Replicator editor is provided that gives you full control over what part of the SCADA/ADMS database is
replicated.
Chapter 4 describes how to use the Replicator editor to add more tables and fields to the replication
process.
Chapter 5 describes how to enable historical datasets for replication without using the Replicator Editor.
Introduction 1-1
WS-401 Replicator and Archiver User Guide
2 SQL Server
This chapter describes some details in what you need to do for the SQL Server database installation.
The SQL Server database will be populated by SCADA data in real-time by the Replicator. It’s this
replicated database that drives the SCADA Web Server.
The versions of SQL Server that are supported by the Replicator are express, standard, and enterprise
edition of SQL Server 2017/2019. However, when used with WebSurv or in redundant configurations,
only standard and enterprise of SQL Server 2017/2019 are supported. If WebSurv will be running on its
own dedicated server (or in a DMZ), then SQL Server Express is supported, Default Instance is required.
Note: When moving the SQL database from one server to another, rename the old SQL database to
reflect that it is obsolete. Also, if SQL has been upgraded, the database has moved, or changed, use the
Survalent Replicator Setup program. See section 4.3.2 Database Preferences for details.
The installation defaults to using the SQL connection settings (a Trusted connection authenticated by
Windows, or a name & password authenticated by SQL Server) that the you provide for the installation
process.
If you want to change that, it is done from Replicator Setup program, using this button .
• In the Feature Selection Screen, select the components of SQL Server which are to be installed:
• For best support of Survalent applications including Replicator, sure to enable “Mixed Mode (SQL
Server authentication and Windows authentication)” radio button
• Provide a password for the SQL Server administrator account (this account is not the one
normally used by Replicator)
• Typically, you would add the current user as an administrator of the SQL server. The SQL Server
installer will pick up the user which is currently logged in and add the name to the “Specify SQL
Server administrators” field.
If you want to manage SQL Server from this machine you may also install the SQL Server Management
Studio, or other management tool of your choice.
This chapter describes how to install the Replicator. The Replicator can be installed on Windows or
Windows Server.
NOTE: If you are a WebSurv user, the Replicator install kit is included with the WebSurv install kit. The
description contained in this chapter is based on installing the Replicator from the WebSurv kit. The
procedure is the same, however, if you are using a separate standalone Replicator install kit.
2. Click Next.
Result: The License Agreement screen displays.
6. In the “I will use Scada Replicator for” section check the box for each product that you intend to
use this Replicator database with.
Note: The Replicator will automatically be configured to include the database tables and fields
needed by the products you selected. In addition, at a later time, you can add more tables and
fields that may be required.
7. In the “Select Database Type” section choose the database server type that you will be
replicating to.
Note: Some of the Products listed above are only supported by Microsoft SQL Server. Please
consult the individual documentation for more information:
• OMS-404 Call Handler User Guide
• OMS-405 Dashboard Lobby Mode User Guide
• OMS-406 Dashboard Mobile Mode User Guide
• WS-400 WebSurv Installation Guide
8. Check the “Set the Replicator Manager as a startup program” box to have the program started
every time the computer starts up.
9. Check “Replicator always waits for a connection from SCADA” if you never want Replicator to
initiate a connection to the SCADA server.
Note: Replicator can initiate a connection to the SCADA server or it can accept a connection from
the SCADA server (which is a more secure configuration). If you select this option, it ensures the
more secure configurated is always used. If you intend to use OMS web applications that want to
submit changes through the replicated database to the SCADA Master, you must use this
“outbound” connections from SCADA for Replicator (RRecv service) and its companion service
ChangeManager. To make SCADA initiate the connection to Replicator you must define the
Replicator connection using STC Explorer. See Appendix A.
• The destination SQL Server Host Name is the name of the server where Microsoft SQL
Server is installed
• If required by your SQL server, you can specify a non-standard port for the connection to
the destination SQL Server Host. To do this, in the SQL Server Host Name field add the
non-standard port number with a comma separator.
Note: To reinstall the Scada Replicator, when the non-standard port is selected by the SQL
Server Configuration Manager, you have to return non-standard port to 1344 (standard port) by
the same SQL Server Configuration Manager and then the start new installation.
Do not forget to switch your port number back to the non-standard port number.
If…. Then….
Replication can use a trusted
Select the Trusted Connection checkbox.
connection to the SQL server
you want Replicator to use a SQL you have to uncheck Trusted Connection and specify the
Server account to connect to the User Name and Password of any existing SQL Server
database account.
Note: The Trusted Connection mode is recommended when the Scada Replicator and Microsoft
SQL Server are installed on the same local computer.
The SQL Server account mode is recommended when the Scada Replicator and Microsoft SQL
Server are installed on different computers.
The SQL Server account must have permission to execute stored procedures inside the
SCADADB.
14. If the Oracle radio button was selected, the Select Oracle Database Properties screen displays.
• In the Service Name field, enter the net service name that you defined
• In the User Name and Password fields, enter the username and password that you defined
16. Enter the information in the following fields to define a connection to the ADMS server. This may
be used if your SCADA system does not support “outgoing” connections to Replicator (see
Appendix A), and is needed by the Replicator Setup program if you need to define custom ADMS
data that you want to replicate.
• Connection Timeout is the time, in milliseconds, to wait for the ADMS server to respond
before generating an error. The default value is 1000 (milliseconds)
• Connection Retries are the number attempts to receive a response from the ADMS server
before generating an error. The default value is 1
• Timer Send Period is the interval, in milliseconds, at which to execute a stored procedure
that updates a special data table in the replicated database. This table contains the
following information: status of replication, number of updates in the last interval, time of
last update from SCADA. The default value of this interval is 5000 (milliseconds)
Two SCADA servers in a redundant Select Dual Redundant and enter the names for Host
pair A and Host B.
Select Quad Redundant and enter the names for Host
There or four servers in a redundant
A, B and C. Only enter a name is Host D if you have a
configuration
fourth server.
If any of the SCADA host computers have dual network cards, and therefore two host names,
then enter the two host names (or two IP addresses). One address will belong to the LAN A
address collection and other will belong to the LAN B address collection.
19. After filling in the required information, click on the Check button.
Result: The Next button becomes enabled.
21. In the Ready to Install the Application screen, click on the Next button.
Result: The SCADA Replicator is installed and the Finish screen displays.
Current versions of the Replicator will listen for this connection, and if it does not occur, will then attempt
to establish a connection to the SCADA Server. This allows the Replicator to work with old or current
SCADA Servers, with or without an outgoing connection configured.
To make use of the more secure connection from SCADA Server to the Replicator, you must define the
Replicator connection using STC Explorer. To ensure only this more-secure connection is used, configure
Replicator during installation to always use this connection, as described in step 11 of the installation
procedure in Chapter 4.
3. Right-click in the right-hand pane and choose New to open the Replicator editor.
5. To use an outgoing connection from SCADA Server to Replicator, check the option Scada Host
Connects to Replicator.
Note: Leaving this un-checked will mean the SCADA Server will wait for Replicator to initiate the
connection (less secure).
6. Enter the host name or IP address of the computer where Replicator is installed.
Note: If you have installed and configured dual redundant replicators (as discussed in step 18 of
the installation procedure in Chapter 2), enter the name or address of the second computer here
too.
7 Enter the name of an optional Status Point with which to monitor the state of the active replicator.
This will be used in place of one of the SYS$.REPLICATOR_n point that will otherwise be
updated. The Status Point entered (or the default one) may be used to support a SmartVU
display to monitor replicator state in addition to the on-line monitor available in the STC Explorer.
The Status Point may be a 2 state one, to support legacy active/not-active behavior, or will now
support a third state indicating that replication is either in progress or complete.
8 Enter the name of an optional Text Point with which to monitor the name of the active replicator.
This will be used in place of one of the SYS$.REPLICATOR_NAME_n point that will otherwise be
updated. The Text Point entered or the default one may be used to support a SmartVU display to
monitor the active replicator name rather than using the on-line monitor available in the STC
Explorer.
Certain products that make use of a replicated database also provide a means to make modifications to
selected data.
Please refer to the documentation for these products, listed in step 9 of the installation procedure in
Chapter 2.
If you are using any product that submits modifications to the SCADA database from the replicated
database, you must configure the Change Manager software to handle these modifications. To
accomplish this, simply check the option Scada Host Connects to Change Manager for this connection.
When outbound connections are enabled, you can configure the firewall to disable all inbound
connections from Replicator into SCADA. When you install Replicator, you can specify that it is not to
even try to connect, and just wait for connections from SCADA.
Note: For incoming modifications via Change Manager, the SCADA Server always initiates an outgoing
connection to the Replicator/Change Manager computer.
To run the Replicator Manager, select Start, point to Programs and click on Replicator Manager.
The icon of the Replicator Manager will be added in the system tray .
Double-clicking on the icon in the system tray brings up the Replicator Manager window if it was closed or
minimized before. Right-clicking on the icon brings up a popup menu containing Stop, Open, Close:
• Pushbuttons that allow you to start and stop the Replicator service
• An LED-style indicator showing the current status of the Replicator’s connection to the SQL
Server or Oracle database
• An LED-style indicator showing the current status of the Replicator’s connection to the SCADA
system
Note: When the Replicator starts (or reconnects after loss of connection), it first replicates the
entire SCADA database. This is called synchronization. After synchronization is complete, the
Replicator only transcribes changes.
• A checkbox that specifies whether the Replicator is to automatically start on reboot of the system.
This checkbox is checked for you by default
Note: If you do not reboot after installing the Replicator, you can start the Replicator manually by
using the Replicator Manager windows. See the next section.
To start the Replicator, click on the Start pushbutton in the Replicator Manager window.
If the Replicator successfully connects with the SQL Server or Oracle database and the SCADA system,
the DB and SCADA status indicators change to green. During synchronization, the SCADA status
indicator flashes and the traffic light is yellow.
If no connection is established, the LED status indicators and the traffic light remain red.
When the synchronization process completes, the green SCADA status indicator stops flashing, and the
traffic light turns green.
Note: The DB LED represents the target database. The name of the target database server is displayed
beside this LED. The SCADA LED represents the source (SCADA) database source. The name of the
currently active SCADA server is displayed beside this LED.
It is possible to configure groups of redundant replicators. (See section 6.1, Redundant Replicators.) If
two or more replicators belong to the same redundancy group, only one of them will be allowed to
connect to SCADA. The SCADA master will reject connection attempts from the other replicators in the
same group, and they will be set in standby mode. In this case, the SCADA LED flashes red, and the
message Stand By is displayed beside the LED.
If the active replicator is stopped or loses connection to either its database or to SCADA, another
replicator from the same group will become active. If the stopped replicator is restarted, it will go into
standby mode.
Note: The redundancy group ID, if there is one, is displayed in the left top corner of the Replicator
Manager window.
4 Replicator Editor
When you install the Replicator, a default list of tables and fields is automatically created for you that, with
the exception of historical datasets, is sufficient for use by the web server. You really only need to use
the Replicator Editor to:
• Enable the historical datasets that you want replicated (for purposes of trend graphs)
• Enable any other additional tables and fields that you want replicated into the SQL Server
database for other purposes
The Replicator Editor program is included in the Scada Replicator install kit.
To run the Replicator Editor, select Start, point to Programs and click on RRecvSetup.
The list of tables and fields to be replicated is contained in a database file on the SCADA host computers.
You can run the Replicator Editor on any workstation that can access the currently active SCADA host
and where the STC Explorer is installed.
• Tables
• Fields
• Historical Data Sets
Icon Description
Log In – Click on this icon to login via the Log In dialog.
Connection Preferences – Click on this icon to bring up the Connection Parameters dialog.
From here you to specify the host names of the SCADA host computers (up to four). If any of
the SCADA host computers has dual network cards, and therefore two host names, then enter
the two host names (or two IP addresses).
Application Preferences – Click on this icon to bring up the Replicator Preferences dialog. Go
to section 5.2 for more information.
Selecting a Table
To select a table to be replicated, check the corresponding checkbox in the Tables panel. The Fields
panel will update to show a list of all the fields contained in the selected table. Use the checkboxes in the
Fields panel to select the fields that you want. You can use the Select All and Deselect All pushbuttons to
select or deselect all of the fields respectively.
For changes to take effect, stop and then restart the Replicator.
• Service Preferences
• Database Preferences
• List of INI files
Field Description
The field allows you to specify the Redundancy Group ID to
Redundancy Group ID
assign two or more replicators to a group.
Database Preferences allows you to specify the ADO Provider, the Database Name and the Host
(Server) Name.
Select your preferred Provider from the available choices. Then specify ScadaDB as the database name
(the default required by most Survalent applications) and the name of your database server.
• To use Windows Authentication, the Trusted Connection checkbox must be checked. Replicator
will connect using the account credentials it is running under (it is the Windows service named
RRecv, and you can view or change its credentials from the Services control panel, Properties,
under Log On As. But default, this will be LocalSystem, which will be suitable for most SQL
Servers installed locally on this same machine
• If you plan to use a remote SQL server instead, please refer to SQL Server Credentials, below
Alternatively, to use SQL Server Authentication, the Trusted Connection checkbox must be unchecked,
and a SQL username and password must be entered.
Whichever credentials are used, the SQL user must have permission to perform queries and execute
stored procedures inside SCADADB database.
These same credentials specified here for Replicator (the Windows service RRecv) are also used by the
windows service ChangeManager, which is installed at the same time. If you selected Trusted Connection
above, and made a change to the Log On As setting for the RRecv service, please make the
corresponding change to the ChangeManager service as well.
Advanced installations that require access to a remote SQL Server will require some adjustments.
If you select a SQL username and password above, then that login must be created with suitable
permissions in the SQL Server you are using. It must then have a User mapping to ScadaDB database,
with appropriate permissions. For simplicity and reliability, we recommend assigning this user to the
“db_owner” role in ScadaDB.
(a) Usually, the SQL server and Replicator server will be members of the same Windows domain, or
trusted domains. In this case, a Windows domain user account should be selected (or a new one
created) to be used by Replicator and ChangeManager services.
(b) This Windows account will require the Log On as a Service right; Windows will add that
automatically when you first configure a windows service to Log On As this account (below).
(c) The SQL server will require a Login to be created, to permit this account to access the database
server. This Login will not require sysadmin or other server-wide access other than the usual Public
role. In ScadaDB there will then need to be a corresponding User mapping, with the appropriate
permissions. The simplest approach, which avoids encountering potential issues with future
software features, is to assign the db_owner database role to this User.
(d) For the RRecv and ChangeManager services, modify their Log On As configurations to use this
account username and password. This can be done from the Services control panel, in the
service’s Properties. (The first time this is done, Windows may report that the account has now
been given the Log On as Service right).
In addition to the table and field selections you may make (which are saved in the file RRecv_User.ini) the
Replicator must also process the tables and fields required by any products you may have selected
during Replicator installation (see step 8 in the installation of Replicator in chapter 4).
This configuration is contained in the INI files which you may see here. Do not make changes to the
settings on this page without assistance from Customer Support.
5 Historical Datasets
This chapter describes how to enable replication of historical datasets without using the Replicator editor.
5.1 Datasets
The historical datasets in the SCADA system are not automatically enabled for replication. It's up to you
to enable replication of all datasets for which you have graphs. Datasets that do not have graphs do not
need to be replicated as far as the web server is concerned, but if you want the data in the SQL Server
database for other purposes, you can have them replicated too.
If, in the web browser, you invoke a graph whose dataset is not being replicated, the graph window will be
empty.
5.1.1 SCADA
If you have a SCADA system, you can enable replication of historical datasets in two ways:
• Check the “Replicate data set” checkbox for each desired dataset in the historical dataset editor
of the STC Explorer
• Check the checkboxes beside the desired datasets in the Historical Datasets pane of the
Replicator Editor. See chapter 4, Replicator Editor
6 SSRDS
This chapter describes how to install and use the SSRDS (Survalent SCADA Search Replicator Database
Service Setup) program. SSRDS stands for Scada Search Replicated Database Server. The purpose of
the SSRDS program is to support redundant replicators.
In each redundancy group, only one replicator is allowed to connect to SCADA. The SCADA master will
reject connection attempts from the other replicators in the same group, and they will be set in standby
mode. (See section 3.3.2, Standby Replicator.)
If the active replicator of a group stops or loses connection to either its database or to SCADA, another
replicator from the same group will automatically become active. If the stopped replicator is restarted, it
will go into standby mode.
A replicator’s redundancy group assignment is made when you specify the Redundancy Group ID at
installation time (see chapter 2).
• A Windows service
• An editor
It must be installed on every computer that contains an application that needs access to the replicated
database.
Note: Even if your system is not configured for redundant replicators, you still need to install SSRDS (its
job is trivial in this case but still necessary).
4. Click Next
Result: The Destination Folder screen displays.
Note: This is where you define to SSRDS service the locations of all the replicators in the group.
By default, the replicator list contains only one entry, corresponding to the machine where you’re
presently installing SSRDS.
7. In this step
8. When you see the Finish screen, click on the Finish button.
The SSRDS service starts by checking the status of the first replicator in the server list. If this replicator’s
status is “synchronized”, then SSRDS sets this as the currently active replicator. All applications on this
machine will then connect to that replicator. SSRDS continues to monitor the replicator, and if it fails,
SSRDS will proceed to find another one from the list.
When you right-click in the SSRDS Editor window, a pop-up menu appears containing three items:
• Add Server
• Edit Server
• Delete Server
This function allows you to add a new replicator server to the list. It opens a Linked Server Details - Add
New Linked Server window, as shown below.
Enter the desired server properties into the fields described below, and then click on Save.
6.5.1.1 In Service
This is a checkbox that specifies whether the server is to be used or not. The default is checked. You can
uncheck it later if you wish to temporarily turn off the server for some reason.
For Oracle, the Server name is the net service name that you defined.
6.5.1.3 Description
This is just a description of the server. It’s optional. You can leave it blank.
• SSRDS must be installed on the same computer that contains the database (in this case, the
replicated SCADA database)
• If you choose the trusted connection option, the User Name and Password fields will be disabled
The Oracle provider does not support trusted connections, so if you selected the Oracle provider, the
Trust Connection checkbox will be disabled.
• Microsoft SQL Server is installed with Mixed Authentication mode (Windows Authentication and
SQL Server Authentication). After installing SQL Server, you can add a new user account inside
the SQL Server database. You can use this account name and password to define a non- trusted
connection
For Oracle, you can use any existing user account name in the Oracle database.
6.5.1.7 Password
Enter the password for the account whose username you entered above (SQL Server or Oracle).
6.5.1.8 Sequence #
This is a number that specifies the order that you want SSRDS to check the servers. Give the server that
you want checked first the lowest number. By default, the editor assigns a sequence number of 1 to the
first server that you add, and increments by 1 for each new server.
6.5.1.10 Save
To save the server information, click on the Save button and the following confirmation message displays
There is no need to stop and restart the SSRDS service for your changes to take effect.
6.5.1.11 Cancel
To close the edit window without saving your changes, click on Cancel.
To edit the properties of an existing server, select the desired server from the server list, right-click and
then choose Edit Server Details from the pop-up menu that displays.
This brings up the Linked Server Details - Edit Linked Server window that displays the selected server
details, as shown below.
The <<, <, >, >> navigation buttons allow you to navigate through the various server definitions in the list.
To delete a server definition, select the desired server from the server list, right-click and choose the
Delete Server function from the pop-up menu that appears.
If you did not reboot the computer after installation of SSRDS, the icon will not yet be in the system tray.
In this case, go to C:\Program Files (x86)\quindar\SSRDS and then double-click on TraySSRDSInfo.exe
The SSRDS Info window will then appear and the icon will be added to the system tray. The SSRDS Info
window contains following information:
Field Description
This is the Server name or IP address of the currently active replicated
Replicated Database Server
database. The server description is in brackets.
This is the name of the currently active SCADA host computer, from
Scada Host
which the replicator takes data.
This is the currently active replicator status:
SCADA Connection
This is the time when the replicator last updated the replicated
Last Update
database.
7 The Archiver
This chapter describes how to install and use the Archiver program.
7.1 Introduction
The purpose of the Replicator program is to replicate your SCADA database into a relational database
such as SQL Server or Oracle. The historical data (datasets and operations messages) is replicated
exactly. That is, if you have one year’s worth of data in a dataset on the SCADA system, that’s what you
will have in the corresponding table of the replicated database.
The purpose of the Archiver program is to extend the historical data tables beyond the sizes imposed by
the configuration of the SCADA system. The Archiver does this by transferring the data from the
replicated tables into a parallel set of archive tables, and allowing the archive tables to grow to a much
larger size, or even indefinitely. The data records contained in the archive tables are in the same format
as that of the replicated tables.
The Archiver can be installed on multiple computers (including the web server itself), to provide multiple
archiving services, if desired. Each instance of the Archiver can be configured to archive any
combination of historical tables from the replicated database into another database. This configuration is
done on each archive computer via the Archive Editor (described in section 7.4 through to section 7.10,
Archives).
The Archiver does not have to be installed on the computers that contain the source (replicated) or the
destination (archive) database, although it may be convenient for you to do so. Furthermore, each
instance of the Archiver can be configured (via the Archive Editor) to archive to multiple target databases,
i.e., produce multiple archives, with the same or different set of tables.
The Archiver supports both SQL Server and Oracle, and is capable of archiving from SQL Server into
Oracle and vice versa.
The Archiver can be installed on, Windows Server 2017 or higher. Because the source and destination
database can both be on other computers, the Archiver has been designed to not require either SQL
Server or Oracle on its own computer. The Archiver stores its configuration in a set of XML files.
In addition, Archiver supports a redundancy capability that, together with a redundant replicator, allows
you to create a redundant historian.
• Two or more replicators are operated in a single redundancy group. This requires an additional
license. Each replicator writes to its own target database, so both the replicator program and the
replicated database are redundant
• Only one replicator is active at any given time, however. As mentioned before, this saves on the
SCADA CPU loading. A program called SSRDS monitors all the replicators in the group and tells
applications such as WebSurv and Archiver where the active replicator is. (See section 6.1,
Redundant Replicators, and section 6.3, Purpose of SSRDS)
• Two copies of Archiver are installed, each with its own target archive database. Both Archivers
are active, connected to the same replicator, and archive to their own target databases. When
the replicator’s failover, both Archivers reconnect and continue archiving
• In order for the historians to be truly redundant, it’s necessary that their archive and job lists be
identical. To achieve this without requiring that you maintain parallel job lists on both computers,
each redundant Archiver uses a web service to periodically check for changes that you may have
made on the other Archiver. Any changes that are found on the other Archiver are brought back
to update this Archiver. This means that when you want to edit the archives or job list, it’s not
necessary to make the changes in both Archives
Note: The installation the Archive Web service used for synchronization is described in section
7.14.
The result is two active and fully redundant Archivers with identical archive data. They are fully redundant
in the sense that they derive their data from redundant replicators (both Archivers switch when there is a
replicator failover – using just one replicator means there is a single point of failure). But the load on the
SCADA system is equivalent to just one replicator.
The Archiver requires that version 4.0 or higher of the Microsoft .NET framework be installed. If this is not
the case, an error message displays when you attempt to install the Archiver. After installing .NET
Framework, you will be able to install the Archiver.
4. Next button.
Result: The Destination Folder screen displays.
The fields below are activated and you must specify the:
Redundant
10. When you see the Finish screen, click on the Finish button.
The following sections describe the menus in the Archive Editor and how to use them to define archives.
• Exit - This menu item closes all forms and causes the Archive Editor to exit
Option Description
When you select this option a dialog box displays. Check this checkbox
if you want to archive the OMS tables.
This menu item allows you change the redundancy option and enter the
Change Archiver Redundant
name(s) or address(s) of the other Archive computer. See section 7.6,
Server Names
Change Archiver Redundant Server Names, for details.
Change SCADA System This menu item allows you to specify the type of SCADA system that
Type you have). See section 7.7, Change SCADA System Type, for details.
This menu item allows you to change the clean-up schedule. By default,
clean-up time is 03:00 a.m. and is set up for you by the installation
Change Clean-up Time
procedure. See section 7.8, Change Clean-up Time, for details on what
this means.
Option Description
This menu item allows you to create, update or delete archives and edit
Archives
their job lists. See section 7.10, Archives, for details.
Scada Search Replicated This menu item brings up the SSRDS Editor that allows you to edit the
Database Server Editor list of replicated database servers. See section 6.5 for details.
This menu contains the option About - This menu item opens the About Archiver window.
• Setup Parameters
The current redundancy option is displayed in the panel. If you select non-redundant, the two other
panels are disabled.
7.6.2 Please enter the name or address(s) of the Archiver Redundant computer(s)
If the redundant option is selected, this panel is enabled to specify the name(s) or address(s) of the other
Archiver. This information is used by the Archive Web Service on both Archivers to synchronize each
other’s archive and job lists. See section 7.14.
If the Archive Web Service is installed on both machines, you can test the connection to the other
Archiver’s Archive Web Service by clicking on the Test button. If the connections are established without
error, a confirmation message is displayed.
If the connections are not established properly the following error message displays:
The current value of the frequency of file synchronization between Archivers is displayed in this panel.
The default value is 1 minute. You can modify this value.
This pushbutton opens a Start/Stop File Sync Service dialog. This dialog allows you to start and stop the
Archiver File Synchronization services (if the redundant option is selected).
The dialog also contains a checkbox that allows you to specify that the File Sync service is to start
automatically when the operating system starts (i.e., on reboot of the computer).
Note: This is separate from starting and stopping the Archive service (see section 7.9, Start/Stop Archive
Service).
The current status of the File Synchronization services is displayed in the status panel at the bottom of
the Archive Editor.
7.6.5 Save
Clicking on the Save button will cause your settings to be saved, but not close the Change Archiver
Redundant Server Names dialog.
Clicking on the Save button will cause your settings to be saved, and close the Change Archiver
Redundant Server Names dialog.
7.6.7 Cancel
Choose Windows to connect to Survalent ADMS or SCADA on Windows. Choose VMS for legacy
SCADA on VMS.
You will probably never need to use this function, since you have an opportunity to specify the type of
SCADA system at installation time. This function is included primarily to make testing with both types of
system more convenient for Survalent.
“Clean-up” refers to the clean-up of excess records in archive tables for which you have specified a
maximum size (the Number of Records to Keep field in the Job Editor). If a job has a blank Number of
Records to Keep, no clean-up is performed for that job (i.e., the table grows forever, and it’s your job to
trim it when it becomes too large).
The default clean-up time that is set by the installation procedure is 03:00 a.m. See Job Parameters in
section 7.10.5.
The current status of the Archive and File Synchronization (if the redundant type is selected) services are
displayed in the status panel at the bottom of the Archive Editor.
7.10 Archives
This menu item opens an Archives window, as illustrated below. This window displays the list of
archives.
In the Archives list, if you click on a column heading, the archives list becomes sorted by the selected
field.
If you right-click in the Archives window, a pop-up menu appears containing four items:
• Add Archive
• Edit Archive
• Delete Archive
• Job List
Note: If no archives have been created yet, only the Add Archive menu item displays.
This function allows you to define a new archive. It opens an Archive Details Add window, as shown
below.
Enter the desired archive properties into the fields described below, and then click on Save.
This is the name of the archive. The name must be unique (on this
computer) and cannot contain any of the following characters:
Name
< > " | \ / * ?
The fields in the Source Database section define to the Archiver the
Source Database
data source, i.e., the replicated SCADA database.
You can select from two types of providers:
If you choose the trusted connection option, the User Name and
Password fields will be disabled. The Oracle provider does not
support trusted connections, so if you selected the Oracle provider,
the Trust Connection checkbox will be disabled.
For Oracle, you can use any existing user account name in the
Oracle database.
Password Enter the password for the account whose username you
entered above (SQL Server or Oracle).
Target Database The fields in the Target Database section define the Archive’s
target database, i.e., the database to which the archive data is
to be written. Other than the fact that they are for the target
database, these fields have the same meaning as the
corresponding fields in the Source Database section.
Options for Target
Database
Schema for
The field allows you to select either the point name or the point
Column Names
ID to be used for the column names in the Archive Database.
I want to save
Time(s) as Local Select this if you want the records to be time stamped with the
Time (Default is local time.
UTC)
In a redundant historian configuration, each of the two Archivers gets data from the same source
(replicated) database. The SSRDS service on each Archiver machine tells the Archiver which is the
currently active replicated database.
In this configuration, you do not need to specify the source database for each redundant historian.
Instead, the source database is automatically filled in for you from the SSDRS data, and these fields are
disabled for editing.
NOTE: You should install and configure SSRDS first. But if you didn’t, you’ll just see blanks in the source
database fields. If you install and configure SSRDS afterwards, and then come back to the Archive
editor, you will see the defined source database definitions.
To edit an existing archive, select the desired archive from the archive list, right-click and then choose
Edit Archive from the pop-up menu that appears. This brings up the Archive Details Edit window that
displays the selected archive details, as shown below.
The <<, <, >, >> navigation buttons allow you to navigate through the various archive definitions in the
list.
Note: If you wish to rename an existing archive, you have to first stop the Archive service. You can do
this by clicking on the Start/Stop Archive Service button, which will bring up the Start/Stop Archive Service
dialog (see section 7.9, Start/Stop Archive Service).
If you do not stop the Archive service before renaming the archive, an error message is displayed.
To delete an archive definition, select the desired archive from the archive list, right-click and choose the
Delete Archive function from the pop-up menu that appears. This will bring up a Delete Archive
Confirmation dialog.
In order to delete an archive, you have to stop the Archive service. You can do this via the Start/Stop
Archive Service item in the Options menu. If you don’t stop the Archive service before deleting an
archive, an error message is displayed.
An archive’s job list is the set of tables (historical datasets and operations messages) that the Archiver is
to transfer to the archive database.
To display an archive’s job list, select the desired archive from the archive list, right-click and then choose
Job List from the pop-up menu that appears.
This brings up the Job List window that displays the selected archive’s job list, as shown below.
Field Description
Show Active Job List This checkbox allows you to filter the Job List window to show active jobs only.
The Job List window automatically refreshes itself every minute to show you the
Refresh Screen current status of all the jobs. If you want an immediate refresh at any time, you
can click on the Refresh Screen button.
When the Archive service is active, it transfers data according to the schedules
that you have defined for the active jobs.
Run Manually For testing purposes, a pushbutton function is included that makes it possible to
operate the Archiver manually. This button is labeled Run Manually, and can only
be operated on an active archive while the Archive service is stopped (otherwise
the pushbutton is dim). For Survalent use only.
Close To close the job list window, click on the Close button.
You do not have to create the job list. It’s created for you automatically and contains a list of all the
historical datasets that are in the replicated SCADA database (i.e., all the datasets that have the
“Replicate” flag set). For each historical dataset, the displayed job shows the dataset name (which is also
the job name), the dataset description, and the current job status. The list also includes a special job for
operations messages, with a job name of PRTSPL.
When you create a new archive, all of the jobs are initialized to inactive. All you have to do for each job
that you want to activate is to check an “Active” flag and enter some scheduling parameters. This is
described in section 7.10.5.
If you click on a column heading in the Job List, the list of jobs becomes sorted by the selected field.
The job list for an archive is stored in three files, SourceTableList.xml, JobList.xml, and ArchiveList.xml,
located in a subfolder with the same name as the archive. Do not edit these files.
If you right-click in the Job List, a pop-up menu appears. This pop-up menu contains one item, Edit Job,
that allows you to edit the job.
To edit a job, select the desired job from the job list, right-click and then choose Edit Job from the pop-up
menu that appears. This opens the Edit Job window that displays the selected job details, as shown
below.
The <<, <, >, >> navigation buttons allow you to navigate through the various job records in the list.
The Edit Job window is probably the most important window in the Archive editor. This is where you get to
tell the Archiver how you want each table to be archived.
The various sections of the Edit Job window are described below.
If you want to specify your own archive table names, you may do
so by entering them in the Target Table Name field for each job.
Note: When you edit an existing job and change the target table
name from the default, the Archive program will automatically
rename the table in the target database and continue to append
archive data to the renamed table. No data is lost.
Target Table
Name If you change the table name again, however, the archiver will not
rename the table again. It will simply create a new table and start
archiving into the new table. The old table will still exist and will
contain old archive data.
If you want to rename a table again without this split, you have to:
• Rename the table in the job editor and rename the table in
the target database
The Start Time and Interval are displayed in the Job List window.
For a historical dataset, this is the timestamp (in local time) of the
Last Sample Time most recent sample record that has been archived. The Archiver
(Local Time) uses this as a placeholder for when it next performs a scheduled
transfer of the dataset table.
The Last Sample Time (local time) and Last Serial Number are
displayed in the Job List window.
Next Schedule This is the time of the next scheduled transfer of data from the
Time source table to the target (archive) table.
This is the time at which the most recent transfer of data was
actually performed.
Last Run Time
Note: The Next Schedule Time and Last Run Time are displayed
in the Job List window.
Number Records This is the number of records that were transferred at the last
Last Transferred scheduled transfer.
This is the total number of records contained in the target table.
You will see this value grow after every transfer where a non-zero
number of records is transferred.
For jobs with a maximum table size defined, you will see this
Total Records In
value drop to the specified maximum after the scheduled clean-up
Table
operation. See section 7.8, Change Clean-up Time, and Job
Parameters in section 7.10.5.
This section shows the status (result) of the job’s most recent
Last Message transfer operation. These fields are not editable. This information
is stored in the ArchiveList.xml file.
Code This is a numeric status (result) code.
This is a message string that describes the status (result) of the
most recent transfer operation.
Message
See the Status Message table below for a list of all of the possible
status codes and messages.
Table 7-6 contains a list of all of the possible status codes and messages, along with suggested action for
you to take when you see the message.
11 ERROR: Failed to clean-up Open and read the Log file in [Archive Name] folder.
Check the target database connection properties.
By default, the table names in the archive database consist of the concatenation of and the string
“ARCHIVE-” and the source table names. For example, for a dataset number 10, you would find in the
replicated database a table named HISTSAMPLES10. In the archive database, you will find a
corresponding table named ARCHIVE-HISTSAMPLES10.
You have the option to assign your own table names in the archive database. See Job Parameters in
section 7.10.5.
Note: Because the archive table names are distinct from the replicated table names, it is possible to
specify the target database to be the same as the replicated database (database name = SCADADB).
We don’t recommend that you do this, however. In fact, we recommend that you place your archive
database on a separate machine altogether, if available, especially if you are operating WebSurv. The
reason for doing so is that this avoids heavy load on the archive (due to activities such as reporting, data
mining and other analyses) from affecting the performance on your web server.
For historical datasets, the Archiver converts the relatively obscure point ID-based column names in the
replicated database into easy-to-use point name-based column names in the archive database.
The table below illustrates the conversion of Replicator column names to Archiver column names, where:
• pid = point ID
• Pointname = point name
For operations messages, the table in the replicated database is named PRTSPL, while that in the
archive database is named PRTSPL-ARCHIVE. Both tables have the same structure. This structure is
shown in Table 7-8.
If, on the SCADA system, you delete points from an existing dataset, the Replicator automatically adjusts
the replicated table to drop the columns that no longer exist. The Archiver, however, does not delete
such columns from the corresponding archive table. The data that was previously archived from the
deleted points will remain in the archive table. From now on, all new sample records in the archive will
contain nulls for these points.
If you wish to remove these columns, you are free to do so at any time, using SQL Server Management
Studio (after you have extracted the old data that you wish to keep, if any).
If you add points to an existing dataset, the Replicator automatically adjusts the replicated table to add
the new columns. In this case, the Archiver will do the same thing, i.e. add the new columns to the
archive table. The new columns will contain nulls for all rows prior to the time that the columns were
added.
If you simply modify the name of a point that is contained in a dataset, this does not affect the Replicator
since its column names are point ID-based. The Archiver does not really know the reason for the change,
and therefore does not know whether to just rename the column or to create a new column.
• It leaves the old column as is, but stops archiving into it. New sample records will contain nulls in
this column
• It adds a new column corresponding to the new point name and initializes its contents to that of
the old column. New sample values for this point will go into this new column
• Service Log File - This file is called ServiceLogList.log and is located in the [Install Archive
Directory]/Service folder. In this file, the Archiver keeps track of the dates and times that the
Archive service was started and stopped
• Archiver Log File - This file is called ProjectLog.log and is located in the [Install Archive
Directory]/Databases folder. In this file, the Archiver logs actions that you perform using the
Options menu (e.g., Change SCADA System Type and Change Clean-up Time)
• Log File for each Archive - This file is called LogList.log and is located in the [Install Archive
Directory]/Databases/ [Archive Name] folder. Each archive has its own log file. These log files
are used to log errors that occur during data transfers. Events that are logged in this file include
those listed in the table below.
Table 7-13 Error Messages That Are Logged in the Archive Log File
7. When you see the Finish screen, click on the Finish button.
The state of the replicator can be monitored from the Scada Explorer\ Systems\ Replication.
On startup, the Scada Server replicator code will check for these points and update them as required.
SYS$,REPLICATOR_1
SYS$,REPLICATOR_2
SYS$,REPLICATOR_3
SYS$,REPLICATOR_4
If these points are 2-state then set to ‘1’ (or normal state) if a certain replicator is connected, 0 otherwise.
If these points are 4-state then set to ‘1’ (or normal state) if a certain replicator is connected and is fully
synchronized, 2 if it is connected and still in the process of synchronizing, 0 otherwise.
Note: These are the default status points that are used automatically, if they exist. These may optionally
be overridden by alternative points if configured in the dialog in section 3.2
9 Appendices
The following sections provide additional configuration information related to your Replicator.
Appendices 9-1
WS-401 Replicator and Archiver User Guide
To avoid this situation, the ADMS Server can be configured to initiate outbound connections to one or
more Replicators. This way, only the firewall on the (less secure) Replicator database server is required
to permit an incoming connection. To accomplish this, use STC Explorer to define the necessary
Replicator connection(s) under System | Replication.
Right-click in the right hand pane and choose New to create a Replicator connetion. The dialog below will
appear, where you can enter the connection details.
You may give the connection a Name and Description that you find helpful.
Appendices 9-2
WS-401 Replicator and Archiver User Guide
Specify the IP address or host name of the machine where Replicator is installed, in Replicator Host 1. To
configure ADMS Server to initiate outbound connections to this Replicator, select the option Scada Host
Connects To Replicator (leaving this un-checked will mean that the ADMS Server will wait for an incoming
connection from the Replicator, in the traditional way).
If you have installed two Replicators in a redundant configuration (operating on the same SQL or Oracle
database), enter the name or IP address of the backup Replicator in Replicator Host 2. The ADMS Server
will attempt to connect to each Replicator in turn, until one is successful.
To replicate a database for use by other applications, including WebSurv, where no modifications to the
external data are to be transferred back to the ADMS Server, this is all that is required. Press OK to save
the configuration.
Periodically, the ADMS Server will attempt to establish the connection. You can monitor the progress
using the Replication Online Monitor window, or by using the Replicator Manager application on the
machine(s) where Replicator is installed.
However, if you will be using the Replicated database with a Survalent web application that is required to
submit modifications of data to the ADMS Server (such as Call Handler or Mobile Crew, for example), you
must select the option Scada Host Connects To Change Manager as well. This will cause the ADMS
Server to connect out to the “Change Manager” on the Replicator machine in order to retrieve the
modified data. (This connection is always out-bound.)
Appendices 9-3
WS-401 Replicator and Archiver User Guide
See attached screenshots. If these are not set correctly in SSMS then Replicator will fail (installation and
synchronization).
The SQL Server should normally be configured for both Windows and SQL Server authentication. The
Replicator and the Survalent web applications may also require SQL Server authentication.
Appendices 9-4
WS-401 Replicator and Archiver User Guide
If the Replicator and the web applications connect using the NT AUTHORITY\SYSTEM identity this Login
must be configured with the necessary permissions. (This may already be set up as a default, depending
on your SQL Server installation). If required, select the Sysadmin role.
Appendices 9-5
WS-401 Replicator and Archiver User Guide
• You are required to use more recent security protocols, such as TLS 1.2
You may use Windows’ Regedit program to specify the name of the provider to use in this registry key:
• HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Quindar\ScadaWeb\AdoProvider
(the portion in italics is required on 64-bit systems only)
The following provider names are supported (providing you have them installed on your server):
• SQLOLEDB
• MSOLEDBSQL
• SQLNCLI11
• MSDAORA
• .ORACLE
• SCADAPROVIDER
Appendices 9-6