A new Flexera Community experience is coming on November 25th. Click here for more information.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Summary

In the more recent versions of XenApp (7.9+), Citrix recommends using 3 separate databases including Logging, Monitoring, and Site. This article discusses support for this configuration.

Symptoms

In the more recent versions of XenApp/XenDesktop (7.9+), Citrix recommends using 3 separate databases including Logging, Monitoring, and Site. Support for this varies depending on the configuration and your version of FlexNet Manager Suite.

FlexNet Manager Suite 2017 R1 and earlier
The import on the beacon from the XenDesktop database(s) fails with the error ?Invalid object name ?chb_Config.Site?. You can workaround this problem by following the steps in the Resolution field to update the adapter XML files.

FlexNet Manager Suite 2017 R2 and later
This version has built-in support from importing from the XenDesktop database when all 3 databases are present on the same server. You should target the monitoring database when setting up the connection on the beacon.

All versions
If the 3 databases are being hosted on separate SQL Servers or separate instances, the import will fail. This is because the beacon needs to connect to the 'Site' database to retrieve the Citrix farm name, then the monitoring database to retrieve the data which is not currently supported. An enhancement is logged to add support for this which is being tracked with reference FNMS-63835. If you would like to request this feature please raise a support case and mention this reference number. In the meantime, it may be possible to workaround the issue using the steps in the Resolution field

Cause

Due to the update with the XenApp data storage the ?chb_Config.Site? table that is used in SQL queries is no longer in the same database that is used for retrieval of data needed by FNMS.

Steps To Reproduce

  1. Install XenApp 7.12 with recommended 3 database configuration
  2. Open the Inventory Beacon and add a new inventory source with type 'Citrix XenApp (EdgeSight)'
  3. Specify connection information for XenApp database server and choose Citrix monitoring DB
  4. Try to run the import from this database
Expected Result: Data imports successfully without any errors.

Actual Result: In FNMS 2017 R1 and earlier, an error is received that states: "Invalid object name 'chb_Config.Site'.

Resolution

FlexNet Manager Suite 2017 R1 and earlier
Updates are made to the SQL used in the 5 XML files included in the zip file attached to this article that allow the ComplianceReader to work in either the original single database solution or the new 3 separate database setup:
  1. \mgs\Compliance\Importer\Procedures\Reader\Citrix XenApp (EdgeSight)\InstallerEvidence.xml
  2. \mgs\Compliance\Importer\Procedures\Reader\Citrix XenApp (EdgeSight)\Setup_Computer.xml
  3. \mgs\Compliance\Importer\Procedures\Reader\Citrix XenApp (EdgeSight)\Setup_Evidence.xml
  4. \mgs\Compliance\Importer\Procedures\Reader\Citrix XenApp (EdgeSight)\Setup_Usage.xml
  5. \mgs\Compliance\Importer\Procedures\Reader\Citrix XenApp (EdgeSight)\Usage.xml

Using separate SQL Servers or instances for each database

In the Setup_Computer.xml, Setup_Evidence.xml, and Setup_Usage.xml files used by the "Citrix XenApp (EdgeSight)" adapter/reader there is a step at the bottom of each the files called "GetFarmName". Each of these steps are the same in the 3 files. It uses a query of the "Monitoring" database by doing a string "REPLACE" of the database name "Site" (which is setup using the "Citrix XenApp (EdgeSight)" adapter/reader as the database connection used in the adapter/reader).

The first and simplest way around this is to hard code the value found in their "Monitoring" database and make sure to add it to the temporary table used elsewhere in the adapter/reader scripts (#FarmName is the temp table). The value could be retrieved by manually running the SQL found in the "GetFarmName" step against their "Monitoring" database to get the correct string value.

The second way to accomplish this would be to add the server where the "Monitoring" database exists as a linked server (with the same user credentials and permissions) to the database server where the "Site" database lives. Then the same 3 xml files mentioned above would need to be modified to use the linked server to get at the "Monitoring" database to retrieve the required value.

The Services team could also be engaged to implement the solution or to suggest and implement other solutions for this situation as well.

Please be aware that linked database servers in SQL Server can present security risks.


Additional Information

The updated logic in 2017 R2 and newer will attempt to guess the site name of the XenApp environment based on the name in the chb_Config.Site table and if that fails, the database name.
If the guessed site name does not match the actual site name in the XenApp environment, you can override the site name in the FnmpXenAppAgent.exe tool to force the site names to match.
For example, to force a site name of XenAppSite123, you can invoke the FnmpXenAppAgent.exe tool like

> FnmpXenAppAgent.exe -d "Server=172.168.38.83;Database=FNMP;Trusted_Connection=yes; " -t 600 -f XenAppSite123
Was this article helpful? Yes No
No ratings
Version history
Last update:
‎Feb 25, 2019 12:00 PM
Updated by: