The SQL scripting for the
side-by-side view can be slightly different than the "real" script
that will be sent to the server. The purpose if to make the
side-by-side view as readable as possible, fully represent all
details of the displayed object, but avoid showing unimportant
differences or miscellaneous SQL code. For example, the Diff
would never script "USE <database>" or "BEGIN TRANS / COMMIT"
in the display script.
DB names: It is a common
situation when the two database you are comparing have different
names and normally you'd just keep them as they were. But
when you select the root node of the schema tree and some
database-level scripts appear in the side-by-side view, they'd
usually have the database name as one of the parameters (e.g.
"CREATE DATABASE ..."). If the names are different, they visually
appear as differences. This doesn't actually affect anything, but
may be distracting. With the "Mask database names" option turned
on, the Diff would use "<database_name>" instead of the
actual name, thus eliminating these visible differences.
file paths: similar to the above,
but hides the actual file paths when FILE / FILEGROUP scripts are
upper/lower case for side-by-side script: When the Diff
generates script for the side-by-side view, the only purpose
is to show you the differences. In case the differences are in
upper/lower characters in names or SQL text, it is better not to
apply the uppercase/lowercase settings to this kind of
script. This options only gets enabled when there is some
uppercasing/lowercasing specified on the Formatting page.
compatible syntax. This option is only
relevant when the two databases you are comparing reside on
different versions of MS SQL Server. Starting from SQL 2005, it is
possible to define UDTs, users, roles and application roles using
"CREATE ..." statements instead of calling system procedures such
as [sp_addtype]. There are also some changes in how the WITH
... clause in indexes is scripted. A newer server will
usually understand the older syntax, but not vice versa. The
Diff tends to use the newer syntax whenever the target server
supports it. This is a good thing, except that in the side-by-side
view you might get some differences that need not be there, because
the same object is scripted differently. If you set the "Use
compatible syntax" option, the Diff will prefer to script both
sides the same way, using the older syntax.