|
If you don't need to see
and synchronize certain kinds of schema information, like extended
properties, permissions or system tables, you can exclude them from
loading, therefore saving some time reading and comparing the
databases. Naturally, the excluded items couldn't take part in the
comparison and scripting.
Note that the Diff will
know nothing about these ignored objects, so it won't be able to
script them or preserve them in the target database when any
changes are made. For example, if you turn off the loading of
object permissions, any permissions for an object in the target
database will be lost when that object is synchronized.
The options on this page
don't take effect until the schema is refreshed. The Diff checks if
you've actually changed any of the options and prompts to reload
the schema(s) if necessary. You can also manually reload the
databases at any time by pressing the [Refresh] toolbar
button.
Skip
system objects. Normally the Diff only
shows non-system databases in the connection panel and also ignores
any system tables and other system objects during the comparison.
But if you ever need to compare system databases (e.g. the MODEL)
or system tables in a user database, just uncheck this
option.
Hide
predefined roles. The program always
reads all entries from the 'sysusers' table, including the built-in
roles like 'db_owner'. However, in most cases you don't need to see
them, so this option allows not to show them in the schema
tree. Note that this is not actually a "selective loading"
option and may be eventually moved to a different options
page.
[Removed:
Checking
for table data. During the schema
scan, the Diff also checks which of the tables actually contain
data. For one thing, this allows the program to enable or disable
the
Compare Data command depending on the
selected table being empty or not. More important, this information
can be used to optimize some of the generated SQL, because if a
table doesn't contain data, it need not be preserved during the
changes. Starting from version
1.95, the Diff uses a new, much faster, method of reading row
counts for all schema tables. So this option has been removed
and the row counts are always retrieved from the
databases.]
If system tables are
included in the scan (see above), the Diff will never check them
for data, assuming that system tables always have some (and it
would be a very bad idea to do any schema or data synchronization
between them, anyway!)
Filtering
by owner name. With this option you
can restrict the loading to objects belonging to a specific user
(in SQL 7.0, SQL 2000) or a specific named schema (SQL 2005).
This affects all objects from [sysobjects] table (tables, views,
constraints, triggers, procedures, functions) as well as
user-defined types. Note that if there are dependencies
between the loaded objects and objects belonging to some other
user/schema (and therefore not loaded), the Diff will not take such
dependencies into account and may not be able to generate a correct
synchronization SQL. [Note: filtering by
owner/schema name is obviously a connection-specific option, so in
future versions it is likely to be moved from here to the
connection panel]
Pre-load
object counts. This indicates whether
or not the Diff should run a query to obtain estimated numbers of
various kinds of schema objects it is going to read. Pre-loading
the counters allows to display realistic progress indicators, but
obviously the query itself adds some time to the database scan.
This option does not affect the completeness of the resulting
schema.
|