This option page controls
all aspects of table-level scripting, except for the actual
If the "Always
specify..." flag is set, the
radio buttons below will be ignored and all column declarations
will contain either NULL or NOT NULL clauses. If the option is not
checked, NULL/NOT NULL will be added only to columns with the
nullability different from the default one. The initial settings
are shown in the snapshot. These settings result in only
non-nullable columns to be marked NOT NULL and all others assumed
with a table" checkboxes control if
the SQL for indexes and/or triggers will be added after the table
definition. Although indexes and triggers belong to a specific
table, they (unlike constraints, which are part of the table
definition) are scripted in separate SQL statements. If the
checkboxes are cleared, you can add triggers/indexes later, by
scripting the sub-nodes of the "Summary Collections" schema
column order. This option tells
the Diff to consider changes in the column order as significant
changes and synchronize them, when necessary, by recreating the
table. If there is any data in the destination table, the
Diff will generate a SQL sequence to preserve the data.
dependent views. When a table changes,
it may be a good idea to re-compile the views which refer to this
table, by generating ALTER VIEW statements for them, even if the
views themselves have not changed. This does not apply to
SCHEMABOUND views which must be dropped and re-created
this feature only works for SQL2000 and SQL2005. The SQL
Server 7.0 doesn't keep track of this kind of dependencies, so the
Diff can't track them either.
group changes... It has been reported that
the SQL server sometimes glitches when several different
constraints are all added in the same ALTER TABLE... statement,
whereas the same sequences of changes in separate batches works
just fine. This option has been added to solve the problem.
It is initially turned off, not to change the usual Diff behaviour,
but if you check it, the Diff will issue separate statements for
each column or constraint being added to the table.
and script ANSI_PADDING. There is a
database-level option changed by "SET ANSI_PADDING ON|OFF"
statements. However, the current value of this setting at the
moment of table creation is stored within that table (very similar
to how SET QUOTED_IDENTIFIER and
SET ANSI_NULLS are kept within each stored procedure). If the
option is enabled, the Diff will compare the ANSI_PADDING
tables and synchronize the differences. Otherwise, the difference
will be ignored.
SEED value. When a table containing
an IDENTITY column has been already filled with some data, the
initial value (aka "identity seed") doesn't affect anything.
Therefore it might be preferable to treat the difference in the
identity seed as a minor one and not synchronize it.
compression. In SQL 2008, the
COMPRESSION attribute can be specified for tables and
indexes. The difference in compression might or might not be
important, so we've made comparing it optional.
MS SQL Server 2008 documentation says that ANSI_PADDING
should always be ON and may not be changeable at all in future SQL
Server versions. It means that you are
unlikely to encounter situations where tables actually differ in
this respect, so this option in AdeptSQL Diff is of minor