The compare extract scripts will extract will generate formatted reports from SQL Server Management Studio of the various EnterWorks and EPX objects in a specific structured order to facilitate comparing two environments by comparing the corresponding extract files.
Each extract script has a recommend text field size to ensure the possible values are complete while not making the physical size (in terms of character width) excessively large. The following table lists the available scripts, their purpose, the recommended text size. The instructions for setting the text size are included below.
SQL Script | Purpose | Query Text Size |
---|---|---|
CompareEnableServerExtract_CodeSets.sql
|
Extracts the Code Sets, Taxonomy and Hierarchy definitions | 512 |
CompareEnableServerExtract_Core.sql
|
Extracts the most common objects, including groups, profiles, validation rules, repositories, and configuration repositories. | 512 |
CompareEnableServerExtract_ImportExport.sql
|
Extracts the import template, export template, syndication template, and publication template definitions | 512 |
CompareEnableServerExtract_SearchPref.sql
|
Extracts the User Preferences and defined advanced searches. | 512 |
CompareEnableServerExtract_Security.sql
|
Extracts the details for the attribute and repository security filters and the security settings for all groups and objects | 512 |
CompareEnableServerExtract_ServicesFramework.sql
|
Extracts only the model objects associated with the Services Framework | 512 |
CompareEnableServerExtract_SQL.sql
|
Extracts the tables, views and stored procedures from the EPIM database | 8192 |
CompareEnableServerExtract_SQL_ServicesFramework.sql
|
Extracts the tables, views and stored procedures associated with the Services Framework from the EPIM database | 8192 |
CompareEPXServerExtract.sql
|
Extracts the users, roles, and workflows from EPX | 8192 |
CompareEPXServerExtract_ServicesFramework.sql
|
Extracts the workflows associated with the Services Framework | 8192 |
When each script is run and the results output to a file, it is recommended to follow a naming convention for those files such that the project and environment and specific content are identified using the following naming convention:
<type>_<environment>_<project>.rpt
Where:
-
<type>
- identifies the type of file: CodeSet, Core, ImportExport, SearchPref, Security, ServicesFramework, SQL, ServicesFrameworkSQL, EPX, ServicesFrameworkEPX -
<environment>
- identifies the environment: DEV, QA, PROD -
<project>
- identifies the project, such as an organization's name.
Once the files have been generated from each environment, they can be compared using a tool such as WinMerge or searched using a text editor.
Each file will generate sections that begin with a series of equal signs and identify the section, followed by more equal signs. For example, the Core report includes the following sections:
===========================Groups===========================
===========================Group Capabilities===========================
===========================Group Home Page Widgets===========================
===========================Profiles===========================
===========================Validation Rules===========================
===========================Link Relationships===========================
===========================Repository Folders===========================
===========================Repositories===========================
===========================Repository Attributes===========================
===========================Code Sets===========================
===========================Scheduled Exports===========================
===========================Scheduled Imports===========================
===========================Package Promotions===========================
===========================Promotions===========================
===========================Shortcuts===========================
===========================CN_Registry===========================
===========================MQ_Registry===========================
===========================DAMConfig===========================
===========================DAMVariants===========================
===========================Automated Sort===========================
===========================Publication Merge===========================
===========================Sequences===========================
===========================Server Properties===========================
===========================Transmission Options===========================
Each section has a set of columns, many self-identifying (since the report can be quite large) with fixed positions (determined by the query text size of 512 or 8192). The rows in each section are ordered so differences are more easily identified by WinMerge.
When two files for the same report (but different environments) are loaded into WinMerge, the differences between then are highlighted:
The Location Pane graphically shows where there are differences in the file. Clicking on a location will move the file view panes on the right to that location. Lines that have differences will be shaded. When the horizontal scroll bar is moved, the contents in both panes move together. The actual differences in the line will be shaded a different color:
The toolbar has several buttons that help navigate through the changes:
For details on the other icons, consult the WinMerge documentation or online help.
The following image shows how the differences appear when using the navigation buttons to move up or down and to find the next difference in the current row: