Planning for the Database Tier

BizTalk Server RFID has a dependency on SQL Server for storing configuration information and optionally for storing RFID events if the out-of-the-box SqlServerSink is used in an RFID process. If the solution uses the Business Rule Engine (BRE) rules, they are stored in its own database. In addition, the solution might use custom databases for lookup / association information for RFID events. This section walks through the general planning guidelines for SQL Server.

Database Notes


The following tables store configuration information:

  • Devices. Stores device definition information.

  • DeviceGroups. Stores device groups organized by administrator.

  • Processes. Stores RFID process configuration information.

  • DeviceVersions. Stores each configuration change done for all RFID devices.

  • NameValueMap. Internal values used by the runtime.

The content of this database should not be modified externally.


The following tables store events processed by the out-of-the-box SqlServerSink event handler:

  • TagEvents. Stores enriched information from TagReadEvents processed in the RFID process pipeline.

  • TagListEvents. Stores enriched information from TagListEvents processed in the RFID process pipeline.

  • TagLists2Tags. Maintains the TagListEvents to TagReadEvents relationship mapping.

  • GenericEvents. Stores enriched IOPortValueChanged and UserDefinedEvents raised from an RFID process pipeline.


The out-of-the-box component RuleEnginePolicyExecutor is configured by using a policy from this database. This database is a repository for:

  • Policies, which are sets of related rules.

  • Vocabularies, which are collections of user-friendly, domain-specific names for data references in rules.

All the databases used by BizTalk Server RFID can be set up as local or remote SQL server configurations. Typically the BizTalkRuleEngineDB will be in a remote SQL server as a shared repository for business rules.

The RFIDstore database will typically be set up on a remote SQL server in a cluster environment.

If you choose a remote SQL server, use a domain account for the RFID Service Account. Usually the size of this database increases depending on the administrative operations. For example, when device properties change, the versions are tracked in the Device Versions table.

The RFIDsink database will continue to grow depending on the number of RFID processes containing out-of-the-box SqlServerSink components and depending on the rate of input events. The content of the RFIDsink database must be managed explicitly.

This database can be set up on a local or remote SQL server depending on ease of management.

For information about implementing high availability for SQL Server, refer to Planning for Database Availability ( in the BizTalk Server Operations Guide.