Home Products Downloads Purchase Support News Members Company
SITE FEED
Support Forum
The fastest and most effective to get answers to your questions quickly. Click Here for more info.
FAQs
Quick answers to common questions. Click Here for more info.
Troubleshooting
Known issues and basic troubleshooting techniques for problems or unexpected behaviors. Click Here for more info.
Knowledgebase
Technical tips, How-to articles, and other tutorials about ApexSQL Tools. Click Here for more info.
Online Documentation
All of our help files for download or convenient viewing online. Click Here for more info.
Videos
Watch product demos, training videos, or tutorials of our products' main features.  We frequently upload new videos so check often for updates. Click Here for more info.

Troubleshooting

Troubleshooting and Known issues with Apex SQL Tools


The differences section and the script section are empty in HTML report. How do I get these to show up in the report?

SUMMARY

The way to see the object differences and script in HTML report is explained.

SYMPTOMS

HTML report Differences and Script sections are empty though objects are listed in comparison summary.

CAUSE

The possible reason of not viewing the objects differences and scripts is that no one object was selected explicitly by clicking over it in HTML Report.

RESOLUTION

If HTML report was created by Menu ->Tools-> HTML Report command then it is the Interactive Report, and to display the objects scripts and differences you need to select and click the concrete object in “Comparison Results By Object” section. The DDL scripts and objects differences will appear in “Script” and “Differences” sections respectively.





If HTML report was created by Menu ->Tools -> HTML Plain Report command then it allows display DDL scripts for all objects at once. To view the objects scripts click the “View SQL” column in the object description row.




This will display the DDL script of the selected object.




LAST REVIEW

19 September 2007 Date of Last Review

Labels:

...


I’ve run a comparison but objects I know that are in my database aren’t showing up – what is wrong?

SUMMARY
There are several reasons why objects that exist in a database may not be displayed in the main screen after running a comparison.

SYMPTOMS
The comparison is completed but objects existing in the database are not displayed.

CAUSE

  1. The object type was not included in the types to be compared. If the type was not included originally, it will not be displayed under any circumstances until the main comparison is re-run with the object type included.




  2. The objects can be filtered out by their Type and comparison result by using the Object Filter Toolbar
  3. The objects can be filtered out by their Name, Schema, Type and comparison result by applying the filters for the appropriate Result Grid columns.
  4. The objects can be filtered out by applying the Difference Code filter.

RESOLUTION
Check that object types and particular objects are selected for comparison. Check that the option Treat Objects Selection as Exclude is not checked at Structure Comparison Wizard->Object Filter tab. Check that objects are not filtered out by the Result Grid column filters by their Name, Schema, Type and Comparison result or by the Objects Filter Toolbar.Verify that objects were not hidden by the Difference Codes Filter settings.

In the following example after two databases comparison had been completed the different Assemblies objects, missing and different Data Type objects, additional Default and identical Route objects were detected:





To Filter the objects by their type we use the Object Filter toolbar:





After Assemblies have been filtered out, the Assembly objects no more displayed in the main grid:





To filter the objects by their Name, Schema, Type and Comparison result the Result Grid column filters can be used:





The result of filtering out all but the missing objects is displayed below:





The object can be hidden by applying the Difference Code Filter:





For example the TestClr Assembly is different in Members:





After deselecting the Members column in the difference code filter and applying the filter the Assembly that was different only in Members attribute is not displayed in the main grid:







SEE ALSO
ApexSQL Diff doesn't show any objects after comparison in Data mode.

LAST REVIEW

17 September 2007 Date of Last Review

Labels: ,

...


Some objects are displayed as encrypted even it is known that they are non-encrypted.

When browsing DDL script of the objects some of them reported as being encrypted though they are known to be non-encrypted.

CAUSE
The cause might be that you have connected to SQL Server 2005 database with non-database owner permissions and some objects information becomes un-available for you.
For example, you are connecting to the target database with the read-only permissions:





You don't have privileges enough to access all meta-information that should be requested to specify the object properties, and warning message is displayed:





After comparison was finished the generated DDL script for existing non-encrypted database object is displayed as encrypted:




LAST REVIEW

17 September 2007 Date of Last Review

Labels:

...


Adding NOT NULL columns to table during synchronization.

SUMMARY

When it is necessary to add NOT NULL columns to the target table during synchronization the Default constraints are created automatically for each added column.

This approach allows to add columns even to the tables containing data and fill the NOT NULL columns of the altered table with "0" for each of existing row of data.
However, ApexSQL Diff doesn't drop the Default constraints after they had been added automatically and synchronized tables become different in Default constraints, and Default constraints are created with the randomly chosen names.

RESOLUTION
There are two workarounds available for this case:

  1. Re-comparing and synchronizing the objects repeatedly.


  2. Creating a script for dropping the extra- Defaults and execute it after synchronization script is finished:


    • Edit the Post-Processing script at Script Processing step of Structure Synchronization Wizard:




    • Enter script that will drop default constraints from the destination table:





    • The post-processing script drops extra-Constraints after synchronization script execution is finished:


LAST REVIEW

19 September 2007 Date of Last Review

Labels:

...


Current restrictions of schema mapping in ApexSQL Diff.

When schema “a” is mapped to schema “b” in source and target databases respectively then the following rules and restrictions should be taken into account:
  1. If the object [a].[Table1] exists in Source and objects [b].[Table1 ] and [a].[Table1] exist in Destination database, the mapping [a].[Table1] -> [a].[Table1] will be accomplished during comparison by default. So, the desired mapping [a].[Table1] -> [b].[Table1] won’t be set up.

  2. If the object [a].[Table1] exists only in Source, the object [a].[Table1] will be created in Destination after synchronization. The schema “a” will be created if necessary.

  3. If there are one-to-many schema mappings: “a”->”b”, “a”->”c” and “a”->”d” and the object [a].[Table1] exists in Source and [b].[Table1], [c].[Table1], [d].[Table1] exist in Destination, the only mapping that is added first in the Mapping Schema grid will be used to map objects.Other objects will be considered as “Destination only”.

  4. If there are mapped script-based objects in Source such as views or procedures that reference other source objects (for example, tables), the mapping won’t affect script-based objects bodies.All schemas used within such objects won’t be changed.

Example:

  • Source database contains the following objects: [a].[Table1], [a].[Table2], [a].[View1]
  • DDL script for [a].[View1] is:
    CREATE [a].[View1] AS
    SELECT t1.f1 , t2.f2
    FROM [a].[Table1] t1,[a].[Table2] t2

  • Destination database contains the following objects: [b].[Table1], [b].[Table2], [b].[View1]
  • Source schema “a” is mapped to destination schema “b”.

The result synchronization script for View1 will be following:
CREATE [b].[View1] AS
SELECT t1.f1 , t2.f2
FROM [a].[Table1] t1,[a].[Table2] t2

As you can see the tables in the body are still under schema [a] despite the mapping.

MORE INFORMATION
Mapping schemas in ApexSQL Diff How-to

LAST REVIEW
03 July 2007 Date of Last Review

Labels:

...


Connection timeout issue on connecting to a SQL Server

SUMMARY
The error message is displayed each time you are trying to connect to the SQL Server.

SYMPTOMS

The following error message is displayed each time you are trying to connect to the SQL Server:
Error Message 4:
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: TCP Provider, error: 0 - No connection could be made because the target machine actively refused it.)


RESOLUTION
  1. Verify that SQL Server is available by connecting with the native SQL Server client (Enterprise Manager or SQL Server Management Studio).






  2. Verify that SQL Server allows the remote client connections:



  3. Verify that protocol that is used to connect to server is enabled on server:




  4. Verify that TCP-port that is used to connect to the SQL server is correct for selected server instance(the default port number used to connect to unnamed SQL server instance is 1433 ). To connect to each out of the SQL server instances you can point the name of an instance(or machine name for unnamed instance) and TCP-port number it is listening on:
    f.e. JAZZ,1433 or JAZZ\SQL2000,3333.

  5. Verify that the SQL server instance is started.

  6. Check the firewall settings to ensure that ApexSQL Diff connections are not blocked by the firewall.

LAST REVIEW
17 September 2007 Date of Last Review

Labels:

...


Meta-information updating issue for non-schemabound views

SUMMARY

The meta-information of non-schemabound view may corrupt after synchronizing of underlying tables.

SYMPTOMS

If the view is based on the query of a following type:

SELECT *

FROM   TABLE1

and Table1 has changed its schema during structure synchronization then meta-information of the view doesn't reflect the changes of the underlying table structure.

CAUSE

The view meta-information doesn't updated automatically after synchronizing the structure of the tables the view depends on.

RESOLUTION

The following query can be used after table Table1 is synchronized to update all non-schema-bound views that are dependent on it:


SELECT DISTINCT 'EXEC sp_refreshview ''' + NAME + ''''

FROM   SYS.OBJECTS SO

       INNER JOIN SYS.SQL_DEPENDENCIES SD

         ON SO.OBJECT_ID = SD.OBJECT_ID

WHERE  (TYPE = 'V'

        AND SD.REFERENCED_MAJOR_ID = OBJECT_ID('dbo.Table1')

        AND OBJECTPROPERTY(OBJECT_ID(NAME),'IsSchemaBound') = 0)

LAST REVIEW

12 September 2007 Date of Last Review

Labels:

...


Welcome to the ApexSQL Troubleshooting and Known Issues

Welcome to the ApexSQL Troubleshooting and Known Issues. This is an online resource to help you find solutions to known issues with Apex SQL tools.

Labels: , , , , , , , , , , ,

...

© 2008 Apex SQL Tools All Rights Reserved | 1.919.968.8444 | Contact Us | Terms of Use | Privacy Policy