Comments
2 comments
-
virtking wrote:SQL Compare
1. I ran across a table which was marked as "=", but there was a difference in one of the constraints. I don't have a screen shot of it.
2. We keep objects under custom owners, so any dbo owned objects just clutters the view. In general it would be nice to filter objects by owner (i.e. exclude/include all 'dbo', 'abc' and 'xyz' owned objects). And make it a project level setting.
3. Template projects - projects only for settings without database selection capability. Regular projects should just inherit from a template project. If you need to change some/all settings - just change to a different template project, if exists, or change inherited properties right in the project.
4. When comparing snapshots of the same database, it would be nice to see file name of each snapshot file (possibly in a tooltip).
5. 'Map Owners' functionality runs only once per project - if I change either source or destination databases, clicking on the button will just display results from 1st mapping.
6. Ability to prefix *all* object names with owners - currently only tables are prefixed with owners (this is how it works with v.3 and 4 of the tool.). This will allow to run the script using just one id, instead of switching between many (4 in our case, since we don't use dbo as owner.) when running scripts. It also is a problem from the security point of view, because a dba may not want to give out more than one id to perform database conversion if he/she is not the person who executes the scripts. Also, (this is not unique to v5) if an object is prefixed in one database, but not the other, and this is the only difference, treat it as equal.
SQL Data Compare
1. See #2 above.
2. See #3 above
Thanks for a great product.
Hi,
some answers to a few of your points above.
For #1: Certain objects cannot be recreated exatly the same way in SQL Server. One of these is a default. Defaults are processed, and in SQL Server 2005 are modified in a very radical way. As an example, if you create a DRI default on 2005 as having the value "1", SQL Server will store (without asking you) "((1))". For this reason we must consider the semantics of defaults, and certain other objects. For more information please have a look at my blog post: <a>http://blogs.red-gate.com/blogs/andras/archive/2005/11/04/1.aspx</a>
So while the objects are the same the textual representations are different. Some of these you can influence by our options. For example if you have many with statements in a stored procedure, e.g. "with encryption, recompile", I try to ignore the order difference. But this can be influenced by the ignore with element order option.
However, in the bottom panel we display textual differences in the creation SQL. Unlike the engine the panel with the textual difference does not consider the semantics, and hence is the difference you see.
For point 6, there is partial support for this via mappings, but it is not complete, thus it is reserved for the future.
Regards,
Andras -
Hello Andras,
Thanks for your answers. I just have few comments on points 1 and 6.
1. I understand that support for SQL2005 server has complicated the logic. We use just SQL200 server and under v.3 of the tool the difference was identified. So my question is if it's known that both databases are on SQL2000 server(s), is it possible to just use v.3 logic?
6. Could you explain in more details, please, how mappings can be used to help with prefixing even if it's not complete?
I hope to get some comments on other points as well, possibly from other people
Thanks.
Add comment
Please sign in to leave a comment.
1. I ran across a table which was marked as "=", but there was a difference in one of the constraints. I don't have a screen shot of it.
2. We keep objects under custom owners, so any dbo owned objects just clutters the view. In general it would be nice to filter objects by owner (i.e. exclude/include all 'dbo', 'abc' and 'xyz' owned objects). And make it a project level setting.
3. Template projects - projects only for settings without database selection capability. Regular projects should just inherit from a template project. If you need to change some/all settings - just change to a different template project, if exists, or change inherited properties right in the project.
4. When comparing snapshots of the same database, it would be nice to see file name of each snapshot file (possibly in a tooltip).
5. 'Map Owners' functionality runs only once per project - if I change either source or destination databases, clicking on the button will just display results from 1st mapping.
6. Ability to prefix *all* object names with owners - currently only tables are prefixed with owners (this is how it works with v.3 and 4 of the tool.). This will allow to run the script using just one id, instead of switching between many (4 in our case, since we don't use dbo as owner.) when running scripts. It also is a problem from the security point of view, because a dba may not want to give out more than one id to perform database conversion if he/she is not the person who executes the scripts. Also, (this is not unique to v5) if an object is prefixed in one database, but not the other, and this is the only difference, treat it as equal.
SQL Data Compare
1. See #2 above.
2. See #3 above
Thanks for a great product.