FILE: C:\Program Files\Microsoft SQL Server\150\DAC\bin\Microsoft.SqlServer.Dac.Extensions.xml
--
Microsoft.SqlServer.Dac.Extensions
Determines the validation performed on the model prior to code analysis.
The TSqlModel is fully validated prior to code analysis.
No validation is performed on the TSqlModel prior to code analysis
The results of Code Analysis against a particular model. Will include any
s found, in addition to any errors that occurred
during analysis
Creates a
Gets all errors, whether during initialization or during the analysis process. This
does not include the found during analysis since these are
returned separately.
Serializes the results in XML format to an output file.
Only the problems discovered during analysis are output. No errors that occurred during
the analysis process will be output.
The filename for the output file.
This should be a fully qualified path to the file, or if a relative file path is used
then the resolved path will be relative to the location of the executable running for
your process.
If a relative file path is used this w
Serializes the results in XML format to an output stream. For backwards compatibility
Only the problems discovered during analysis are output. No errors that occurred during
the analysis process will be output.
An output stream to write the XML results to. This must support write
Any problems discovered by the rules run during code analysis
Errors and messages that occurred during analysis.
Gets errors that occurred during initialization of code analysis, rule lookup,
and anything other than the analysis itself.
Gets errors that occurred during calling of the message suppression routine.
Was analysis completed successfully? Analysis may fail for a number of reasons, for instance
if errors already exist in the model before processing.
A service that runs code analysis against a model and provides results to the caller.
Note that this class is not thread-safe since multiple simulataneous calls to are
not supported. However it is possible to call from a thread while a separate thread is
waiting on the method to complete.
Gets the rules loaded by the service. The current state of these rules (enabled, disabled, rule problem severity)
can be queried, as can information about the rule such as its ID and metadata.
list of objects representing rules discovered by the service, their metadata and status
To discover any problems loading rules, should be called
Gets any errors that may have occurred during loading of the analysis rules.
This causes rules to be loaded by the service.
A list of errors that occurred during rule loading.
Applies the specified rule settings against the service's configuration.
describing which rules should be run
Sets the problem suppression predicate to be applied when suppressing rules.
This is an optional feature that supports ignoring problems raised by a rule.
The problem might be suppressed based on the element the problem was raised against, or the source
that the problem was found in.
Predicate that should examine the suppression context and decide whether the problem needs to be suppressed
Cancels execution of the analysis service
Performs the analysis of the model. This will initialize all required resources, run analysis
and report back results to the caller.
If the and/or
are specified then these will be deleted at the start of the analysis, and new files created at the
end of the analysis
The to be analyzed
describing the problems found and any errors that
occurred during processing
If the is null
Main entry point for task execution.
Ensure the model builds successfully - otherwise there is no point in continuing analysis
since for SCA it's assumed that the model is valid already.
Wrap whatever message suppression logic has been defined in a routine that will
call into that code and catch any errors thrown by customer logic
Check if the rule in context is suppressed. Handles exceptions thrown by the problem suppression code
so that execution does not get stopped due to issues in external code
Return true if rule is suppressed for modelElement; false otherwise
Optional path to a results file. If this is specified, the analysis service will save all results to
an XML file at the end of analysis. If no file path is specified then this will not be done automatically,
but can be used to output the results after
analysis has completed.
Optional path to a file that is created if analysis succeeds. This can be used to check whether analysis
should be run or not - for instance if analyzing a dacpac, comparing the modification time for the dacpac versus
the analysis success file can tell you whether the dacpac is more recent than the last analysis.
Determines the validation performed on the model prior to code analysis. This can be used to bypass
the requirement that a TSqlModel be valid prior to analysis by a code analysis rule.
The used to indicate whether execution should be canceled.
Gets a value that indicates whether the analysis was canceled
Factory class that supports creation of objects.
Creates an analysis service with the standard properties and all rules turned on by default.
This is a convenience method that takes the from the model
and passes it to the
method.
The that will be analyzed. The version of the model must be known at the
time the service is created since only rules compatible with that
will be loaded and run.
A that can analyze the contents of the
Creates an analysis service and configures it using the passed to the method.
The settings are a convenient way to set up the service in one step, but if you wish to
specify some settings after creating the service this is possible via methods and properties on
the itself.
This is a convenience method that takes the from the model
and passes it to the
method.
The that will be analyzed. This must be known at the time the
service is created since only rules compatible with the for the model
will be loaded and run.
Settings object defining how to configure the service
A that can analyze the contents of the
Creates an analysis service with the standard properties and all rules turned on by default.
The expected of models to be analyzed. This should be known at the time the
service is created since only rules compatible with this
will be loaded and run.
A that can analyze the contents of the
Creates an analysis service and configures it using the passed to the method.
The settings are a convenient way to set up the service in one step, but if you wish to
specify some settings after creating the service this is possible via methods and properties on
the itself.
The expected of models to be analyzed. This must be known at the time the
service is created since only rules compatible with this
will be loaded and run.
Settings object defining how to configure the service
A that can analyze the contents of the
Defines the optional configuration settings for a . This can determine which
rules are run, how to suppress certain problems, and where to save results to.
These settings can also be set on the after it has been created, but are included
here to make construction more convenient.
Creates a new object.
Optional rule settings define what rules should be run during analysis and the severity of the problems created.
If no are specified the default behavior is to run all discovered rules.
This property is applied using .
An optional predicate that can be used to suppress problems raised by rules during analysis.
See for more information.
This property is applied using .
Optional path to a results file. If this is specified, the analysis service will save all results to
an XML file at the end of analysis. If no file path is specified then this will not be done automatically,
but can be used to output the results after
analysis has completed.
This property directly maps to .
Optional path to a file that is created if analysis succeeds. This can be used to check whether analysis
should be run or not - for instance if analyzing a dacpac, comparing the modification time for the dacpac versus
the analysis success file can tell you whether the dacpac is more recent than the last analysis.
This property directly maps to .
Determines the validation performed on the model prior to code analysis. This can be used to bypass
the requirement that a TSqlModel be valid prior to analysis by a code analysis rule.
Internal rule utilities that will never meet the conditions for sharing with the public via an open API
or inclusion in a sample project
Tries to map an internal element to a public element.
Get the schema object name in EscapedFullyQualifiedName format from an ISqlModelElement
Get the schema object name in EscapedFullyQualifiedName format from a Sql element Descriptor
Get the schema object name in user's choice of format from a Sql element Descriptor
Get the schema object name in user's choice of format from an ISqlModelElement
Represents an exception that occurred when running the rule problem suppression test.
Exception throw from DAC model errors.
Construct a new instance of the class.
Construct a new instance of the class with the specified error message.
Construct a new instance of the class with the specified error message
and a reference to the inner exception that is the cause of this exception.
The message that describes the error.
The exception that is the cause of the current exception, or a null reference if no inner exception is specified.
Write exception information to the supplied object.
that holds the serialized object data.
that contains contextual information about the source or destination.
If is a null reference.
Get collection of additional error, warning, and informational messages associated with this exception.
Collection of additional messages associated with this exception.
Construct a new instance of the class.
Construct a new instance of the class with the specified error message.
Construct a new instance of the class with the specified error message
and a reference to the inner exception that is the cause of this exception.
The message that describes the error.
The exception that is the cause of the current exception, or a null reference if no inner exception is specified.
Represents the problem suppressor used by SSDT projects. The method
can be passed to in order to use this
class.
This reads suppression information from a file with a name matching
("StaticCodeAnalysis.SuppressMessages.xml") in the root directory.
All relative paths will be resolved relative to the project folder defined in the constructor
The default file name for a message suppression file within a project.
Internal factory method that creates a new .
The file manager to use for loading/saving suppression rules.
Thrown if there was a problem parsing the XML
Creates a new .
The folder in which the XML Message suppression file is found.
Any rule suppressed using a relative file path will base the full path off
this folder location.
Thrown if the Path to the XML file was invalid or if there was a problem parsing the XML
Creates a new .
The folder in which the XML Message suppression file is found.
Any rule suppressed using a relative file path will base the full path off
this folder location.
'
The name of the XML message suppression file. This is expected to be under the project folder.
Thrown if the Path to the XML file was invalid or if there was a problem parsing the XML
Resets the suppressed problems to their default state. If an XML suppression file for the
project existed already then the state will be reloaded from there, otherwise it will
be reset so that no problems are suppressed.
Removes all problem suppression directives for a particular filename.
The updated set of problems to suppress will be immediately written out to the backing XML file that describes what
rules should be suppressed for a given file.
path to the file
If the is null
Gets information on what problems will be suppressed. Specifically, a set of
objects will be returned that defines each combination of a
rule being suppressed and the file name for which the rule is suppressed.
A list of objects defining each combination of a
rule being suppressed and the file name for which the rule is suppressed
Adds one or more instances of to the set of suppressed problems.
The full set of suppressed problems will be immediately written out to the backing XML file.
An IEnumerable of objects defining each combination of a
file for which some problems should be suppressed, and the specific rule whose problems should be
suppressed.
Gets the predicate that can be used to
If any errors occur during
Describes a rule discovered by the rule engine and supports configuration of its properties.
Descriptors inherit properties from , to support enabling/disabling the rule during
analysis and specifying the severity for problems created by the rule.
This class is not intended to be subclasses by external users - instances of are created
by the analysis service.
Specifies how a rule should be configured - should this be enabled or disabled? What severity should be applied
for the rule?
Creates a new for a rule, using the default settings for
and .
ID of the rule this configuration specifies. Cannot be null or whitespace.
Creates a new for a rule.
ID of the rule this configuration specifies. Cannot be null or whitespace.
Is this rule enabled or disabled?
What is the severity of problems identified by this rule? Should be either
or .
Gets the unique Id used to identify the rule. This is the fully qualified ID, which would usually be
in the form "My.Org.MyRuleName".
Gets the namespace for the rule. This is the part of the rule that precedes the final "." in the ID name.
For instance for a rule ID "My.Org.MyRuleName", the namespace would be "My.Org".
Gets the last part of the rule ID. This is the part of the rule that follows the final "." in the ID name.
For instance for a rule ID "My.Org.MyRuleName", the short rule ID would be "MyRuleName".
Specifies if the rule is enabled and should be included in the code analysis.
The default value is true
What severity should problems created by the rule have?
The default severity is
Protected constructor to be called by implementing classes.
ID of the rule being described
The description of the rule. This should be a short human readable description of what the
rule is intended to warn against or block.
This is automatically read from the property
Display name describing the rule.
This is automatically read from the property
The actual instance of the
The describing the rule.
This is a required property that must be defined by subclasses.
The settings used to configure rules used during analysis.
Before analysis begins, this settings object will be applied to the rules discovered
by the analysis service. If DisableRulesNotInSettings is set to true then any rules
not included in these settings will be disabled and not run during analysis.
These settings are applied by calling the method
on rules returned by the engine.
Creates a new object.
Creates a new containing a set of rules.
The rules to include
If is null
Creates a configuration based on a settings string like the one used
inside SSDT project files. This string defines what rules should be disabled or have their problems treated as
errors instead of warnings. Any rule not included in the settings string will be enabled by default.
A semicolon delimited string identifying rules to be disabled or have problems treated as errors.
The format is "-My.Disabled.Rule;+!My.Enabled.RuleWithError;-!My.Disabled.RuleWithError". Hence disabled rules should have "-"
before their ID and enabled rules with errors should have "+!" before their ID.
Only rules that are to be disabled or have their problems treated as errors should be included in the settings string.
If this parameter is null or contains no valid rules, a default empty configuration will be returned. This will result in all
discovered rules being run.
List of errors found when processing the list.
Converts the rule configuration info in this object into a
settings string like the one used
inside SSDT project files. This string defines what rules should be disabled or have their problems treated as
errors instead of warnings. Any rule not included in the settings string will be enabled by default.
A semicolon delimited string identifying rules to be disabled or have problems treated as errors.
The format is "-My.Disabled.Rule;+!My.Enabled.RuleWithError;-!My.Disabled.RuleWithError". Hence disabled rules have "-"
before their ID and enabled rules with errors have "+!" before their ID.
Only rules that are to be disabled or have their problems treated as errors should be included in the settings string.
Adds multiple objects to the list of rules
The rules to include
If is null
Adds a new object to the list of rules
item to be added
Removes a object from the list of rules.
item to be removed
true if the item was successfully removed
Tries to find the that matches the specified
. If the configuration doesn't exist then null will be returned
The fully qualified rule ID
, or null if none matches the
Tries to find the that matches the specified
.
The fully qualified rule ID
out , or null if none matches the
true if a configuration matching the specified was found, false otherwise
Applies these settings to another set of rules.
The rules the settings should be applied to
Includes a rule for execution
Fully qualified Id for the rule
If the is null or whitespace
Excludes a rule from execution
Fully qualified Id for the rule
If the is null or whitespace
Treat any problems found a rule as warnings
Fully qualified Id for the rule
If the is null or whitespace
Treat any problems found a rule as errors
Fully qualified Id for the rule
If the is null or whitespace
Is a particular rule in the rule settings disabled?
Fully qualified Id for the rule
true if the problem is disabled; false otherwise
If the is null or whitespace
Is a particular rule in the rule settings treated as error?
Fully qualified Id for the rule
true if the problem is treated as error; false otherwise
If the is null or whitespace
Should rules not found in these settings be disabled? The default is "false", so that
any rules not explicitly covered in the settings will still be run during analysis.
Represent an exception that may occur during a code analysis run
Initialize a new instance of
Exception message and inner exceptions are set to null
Initialize a new instance of with a message
Exception message
Initialize a new instance of with a message and an inner exception
Exception message
Inner exception to attached to this exception
The class to locate the accurate AST that defines the name for a model element
The base class that defines analysis events.
This analyzer works against the s that represent
the exact DDL language describing an object.
This makes it easier to examine the actual script/fragment structure that represents
an object.
This method handles pre-batchprocessing
This method handles post-batchprocessing
This method handles pre-DDL statement processing
Node that will be processed
This method handles post-DDL statement processing
Node that was processed
This method handles the discovery of a new Symbol
Fragment the symbol belongs to
The element descriptor
This method handles the pre-DML statement processing
Node that will be processed
This method handles the post-DML statement processing
Node that will be processed
This method handles additional processing required for a node/schemaidentifier
Node to be processed
Descriptor to be processed
Relevance
This method handles additional processing required for a node/schemaidentifier
Node to be processed
An enumerable of possible hits
This method handles the discovery of a new supporting statement
Node to be processed
Runs the schema analysis against a fragment
the fragment is linked to
the fragment to analyze
The TSqlFragment referring to the name of the element
The TSqlFragment referring to the element itself
Base class for SQL static code analysis rules. An analysis rule analyzes a model / model element and returns a list of
problems found during analysis.
Implementing classes must have a defined on the
class definition to be discovered and used during code analysis.
Base class for all types of analysis rule. An analysis rule analyzes a model / model element and returns a list of
problems found during analysis.
Performs analysis and returns a list of problems detected
Contains the schema model and model element to analyze
The problems detected by the rule in the given element
Types of elements checked by this rule. Required if the rule scope is ,
for scoped rules this is not relevant
perform actual analysis
A type of that can be used by code analysis
rules to examine the internal structure of a .
This analyzer works against the s that represents
the exact DDL language describing an object.
This makes it easier to examine the actual script/fragment structure that represents an object.
For some data sources such as dacpacs, the backing script and s
will be auto-generated by DacFx. Any analyzer that tries to enforce stylistic rules such as
blocking the use of brackets to escape object names should be disabled when running against
those sources - they would be raising issues about the default DacFx style conventions rather
than the actual code contents of a project.
Creates a that helps analyze an element on behalf of a rule
defining a rule and its metadata properties.
This can be used to get the description for a rule and add it to any , among other things
being created, or query any other metadata information about the rule
The being analyzed
A specific whose backing
is to be analyzed
Runs rule analysis against a fragment and adds any problems found to the
list.
A fragment whose contents should be analyzed
Problems found by the analyzer are added to this list
Tries to determine the correct model element from a set of possible matching element descriptors.
Descriptors for
The
out that matches the best possibility, or null if lookup failed
out for the element that was matched, or
null if the lookup failed
out describing the relavance of the
to the
true if the lookup succeeded
add a problem found by the current analyzer
clean up all the problems
Print a message to debug window in Debug mode
Get all problems identified by this analyzer
get the SQL schema manager used by the current analyzer
Get the the rule associated with the current analyzer
Get the element for which the current analyzer works
constructor
Note: This class relies on internal code that is shared with the internal validation rules. In order to minimize code
reuse and avoid unnecessarily duplicating code, some parts of this class directly use and call into the internal model.
This is viewed as acceptable as upgrading to the public API isn't really necessary and would not provide significant
benefits to external users.
In addition, some internal objects such as dynamic column sources cannot be mapped to the public model and hence
it is necessary to use the internal object model in cases where those objects might have issues
convert TSql.DataType to TSqlDataTypeInfo
This method is used to check variable assignment from proc/function return value to a variable
Use this if you know the type of proc/function return value
we currently support
column_name = expression,
@variable = expression, and
@variable = column = expression
Return a dictionary with parameter name key and type info value
Return a list of parameter value info that is resolved using parameters from subroutine and execute statement
All object types that match a subroutine are expected to have a "Parameters" relationship which we can read.
We look up the relationship class dynamically since it will vary between Procedures, ScalarFunctions and other
types
Attempts to look up the return type for a function
Must use the internal model here since dynamic object column sources aren't modelable in the public model,
and this is a situation where those appear.
This method heavily uses the internal implementation - again this whole class struggles to use the
public model
Note: This method uses internal methods
get TSqlDataTypeInfo for the acutal data type of a UDT and UDDT based on its
SqlElementDescriptor.
ElementDescriptor for the UDDT or UDT
actual data type if found, null otherwise
Again we've failed to fully use the public model in this method, if this can be reviewed
at a future date then perhaps this can be fixed.
Verifies a descriptor is a type of scalar module (ScalarFunctions and Aggregates count as this)
This method heavily uses the internal implementation - again this whole class struggles to use the
public model
The SchemaAnalyzer checks for the usages of system function @@IDENTITY
and reports its possibe misuse.
Constructor with SqlAnalysisRule, SqlSchemaModel, and ISqlModelElement provided
perform actual analysis
constructor
perform actual analysis
constructor
Creates a new to analyze a particular element in the model.
This rule checks if a small length (less than three) is used for variable-length types,
which include VARCHAR, NVARCHAR, and VARBINARY
Such data types can be used in various scenarios:
column of regular tables
column of temporary tables
column of common table expressions
subroutine parameter
variable
scalar function return type
user defined data types
TODO, yangg: we currently dont' handle temporary table columns, cte columns, and variables,
since interpretation is not ready yet
perform actual analysis
perform actual analysis
Constructor with comparison manager
Provides getters for the types that need to access dynamic objects - there's no clean way to do this.
A subset of top-level types such as Procedures have a body script containing
dynamic objects. We don't want to miss flagging errors in these, but these
aren't accessible via the public model. To work around this we use the internal
model implementation for this work
perform actual analysis
perform actual analysis
constructor
The base rule for checking LikePredicate, we suggest using "m%" instead of "%m".
perform actual analysis
This rule checks whether the patterns of the LIKE predicate from WHERE clauses start
with "%" while match expression is a column, which can cause a table scan and degrade
performance
constructor
the class is to find out all the columns participating in an expression but not part of function call or ISNULL
perform actual analysis
This rule suggests moving columns to one side of en expression in the WHERE clause,
thus to avoid table scan.
constructor
When we see an In Predicate, we want to check whether there is Table Index
that it could use to boost the performance. If not, we give a warning. This
is because In Predicate is executed by a Table Scan instead of Index Seek, which
hugely slows down the SQL query performance.
perform actual analysis
This checks whether a column test expression of the IN predicate has an
index or not. If it does not, the evaluation of the predicate can cause
a table scan and degrade the performance.
constructor
Check whether the specified column has index or not.
true when the column has index; false, otherwise
the class is to check whether a nullable column exists in an expression
other than ISNULL function and IS NULL / IS NOT NULL operators
The base rule for Nullable Column Performance Rule.
perform actual analysis
This rule is to find out all the nullable columns used in WHERE predicates which
do not act as operands of IS NULL / IS NOT NULL or arguments of ISNULL function
Attribute defining a rule export, and the metadata about that rule. Implements ISqlAnalysisRuleMetadata,
which should be used on the importer side to ensure type consistency
The metadata describing a rule - its namespace, id, scope etc.
The description of the rule. This should be a short human readable description of what the
rule is intended to warn against or block.
The scope of this rule. Choose between and .
Note that for element scoped rules, the property must return
one or more element types that can are supported for analysis by the rule
(Optional) Category used to group the rule in Visual Studio UI. This should never be localized
Constructor
Unique ID used to identify this rule. Required parameter, rule will not load if this is missing or empty
Display name to show in the Visual Studio UI. Required parameter, rule will not load if this is missing or empty
The description of the rule. This should be a short human readable description of what the
rule is intended to warn against or block. This field is localizable, but this should be done
be subclassing and overriding the Description property.
// Example of an Attribute class that supports localized descriptions:
public class TestLocalizedExportCodeAnalysisRuleAttribute : ExportCodeAnalysisRuleAttribute
{
private readonly string _descriptionResourceName;
private string _descriptionValue;
public TestLocalizedExportCodeAnalysisRuleAttribute(string id, string displayName, string descriptionResourceName)
: base(id, displayName)
{
_descriptionResourceName = descriptionResourceName;
}
public override string Description
{
get
{
if (_descriptionValue == null)
{
// Using the descriptionResourceName as the key for looking up the description in the resources file.
// MyResources is a resource file in the same project as the LocalizedExportCodeAnalysisRuleAttribute class.
// For each rule, and entry should be added to the resources file with the descriptionResourceName as the
// key and the description as the value
_descriptionValue = MyResources.ResourceManager.GetString(_descriptionResourceName);
}
return _descriptionValue;
}
}
}
Rules in a different assembly would need to overwrite this
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to Data types of {0}({1}) and {2}({3}) are incompatible..
Looks up a localized string similar to Expression is cast from {0} to {1}..
Looks up a localized string similar to Data loss might occur when casting from {0} to {1}..
Looks up a localized string similar to Data types of {0} and {1} are not implicitly compatible. You must use the CONVERT or CAST function..
Looks up a localized string similar to Data types of {0} and {1} are incompatible..
Looks up a localized string similar to The following data type is not valid in this context: {0}.
Looks up a localized string similar to Maintain compatibility between data types..
Looks up a localized string similar to Deterministic function call ({0}) might cause an unnecessary table scan..
Looks up a localized string similar to Extract deterministic function calls from WHERE predicates..
Looks up a localized string similar to Potential misuse of system function @@IDENTITY..
Looks up a localized string similar to Consider using SCOPE_IDENTITY instead of @@IDENTITY..
Looks up a localized string similar to Avoid using patterns that start with "%" in LIKE predicates.
Looks up a localized string similar to Avoid using patterns that start with “%” in LIKE predicates..
Looks up a localized string similar to A column in an expression to be compared in a predicate might cause a table scan and degrade performance..
Looks up a localized string similar to In the comparison, simplify the expression that includes indexed columns..
Looks up a localized string similar to A column without an index that is used as an IN predicate test expression might degrade performance..
Looks up a localized string similar to Avoid using columns that do not have an index as test expressions in IN predicates..
Looks up a localized string similar to Nullable columns can cause final results to be evaluated as NULL for the predicate..
Looks up a localized string similar to Use ISNULL(column, default value) on nullable columns in expressions..
Looks up a localized string similar to Old-style JOIN syntax is used..
Looks up a localized string similar to Avoid using deprecated syntax when you join tables or views..
Looks up a localized string similar to Output parameter ({0}) is not populated in all code paths..
Looks up a localized string similar to Specify values for output parameters in all code paths..
Looks up a localized string similar to A future keyword.
Looks up a localized string similar to A keyword.
Looks up a localized string similar to An ODBC keyword.
Looks up a localized string similar to {0}({1}) is used as a type name..
Looks up a localized string similar to Avoid using reserved words for type names..
Looks up a localized string similar to The shape of the result set produced by a SELECT * statement will change if the underlying table or view structure changes..
Looks up a localized string similar to Avoid SELECT * in stored procedures, views, and table-valued functions..
Looks up a localized string similar to one element.
Looks up a localized string similar to Avoid {0} of only {1}..
Looks up a localized string similar to Avoid using types of variable length that are size 1 or 2..
Looks up a localized string similar to {0} elements.
Looks up a localized string similar to Object name({0}) contains special characters..
Looks up a localized string similar to Avoid using special characters in object names..
Looks up a localized string similar to Stored procedure({0}) includes sp_ prefix in its name..
Looks up a localized string similar to Avoid using sp_ as a prefix for stored procedures..
Utility class for TransactSql.ScriptDom functionality. These functions will not be
part of the public API, but they may be added to the public samples project so that users can
understand how we use the ScriptDom APIs for writing rules.
Checks if a fragment represents the body of a subroutine, a view,
or a trigger. These have similar characteristics, for instance the ability to
include select statements against tables.
representing part of a TSQL object definition
true if this is a subroutine, a view or a trigger body
recursively remove parenthesises of an TSql parser expression
Expression to parse
Expression without parenthesis
Error category for static code analysis
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to {0}, {1}.
Looks up a localized string similar to Invalid prefix for rule key: {0}. Ignored..
Looks up a localized string similar to Rule '{0}' in assembly '{1}' was ignored because it is missing SupportedElementTypes. This is required for Element scope rules.
Looks up a localized string similar to Rule '{0}' in assembly '{1}' was ignored because it has no SupportedElementTypes that are top-level types. Only top-level types are processed during analysis. The following types were ignored: [{2}].
Looks up a localized string similar to Rule '{0}' in assembly '{1}' has one or more SupportedElementTypes that are not top-level types. These following types will be ignored during analysis: [{2}].
Responsible for executing rules against a SQLModel.
Execute all enabled rules against the specified model and each model element found in the model
The model against which the rules are executed
The errors that occurred when executing rules
The problems detected by executing the rules
Used for testing purposes
Used for testing purposes
Used for testing purposes
Creates a that uses standard extension lookup
properties and returns this to the caller
For testing purposes only - injects a new rulestore factory for use when finding rules
Initializes the
defining how rules should be loaded
Gets all rules.
Output containing all errors that occurred during load. This will include general load errors
for all contributors on the machine, plus load errors relating to version mismatch between requested contributor version
and the available contributors on the machine
Creates a RuleEngine.
Errors found while processing rules - are there duplicate rules or rules that do not include required metadata
A RuleStore that stores analysis rules and their metadata. Rules are accessible in their original form
Gets the Code Analysis rules and their metadata wrapped inside RuleDescriptorImpl objects. The EngineProperties are used to
filter rules by platform and to run a rule descriptor updater (if present), which can flag the rule as enabled/disabled
and update the severity
Errors found while processing rules - are there duplicate rules or rules that do not include required metadata
For now only ISqlCodeAnalysisRule is supported via MEF - can change in the future if other rule types are required.
Gets the Code Analysis rules and their metadata wrapped inside RuleDescriptorImpl objects. The EngineProperties are used to
filter rules by platform and to run a rule descriptor updater (if present), which can flag the rule as enabled/disabled
and update the severity
Errors found while processing rules - are there duplicate rules or rules that do not include required metadata
Factory for loading rules via MEF extensibility.
Creates an IRuleStore with rules found by MEF
Properties defining the configuration for extensibility loading etc
Errors found while loading rule extensions
For testing purposes only - injects a new IExtensionManagerFactory which supplies types
Tries to find source information for a given TSqlObject
true if source information was found
Tries to find source information for a given TSqlObject
true if source information was found
The context information for suppressing a SCA problem
Initialize a new instance of SqlRuleProblemSuppressionContext
The Rule detecting the problem
The problem
The Schema Model being analyzed
The element for which a problem was discovered
The Schema Model the rule is checking against
The discovered by an analysis rule
The Rule detecting the problem
Properties to use when creating a rules engine.
Optional string that can be used to disable rules
and set rule severity
The predicate to suppress problems detected by a rule against an element
Callback function that tests whether to abort executing rules
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to Static Code Analysis: Some rules may not run as expected because the model being analyzed does not contain scripts representing your schema objects. When analyzing code from a data source such as a Dacpac it is recommended that the source should be loaded as script-backed model to ensure correct rule operation.
Looks up a localized string similar to Error.
Looks up a localized string similar to {0} elements are in an error state.
Looks up a localized string similar to Static Code Analysis: {0} problems have been detected..
Looks up a localized string similar to Static Code Analysis: No problems have been detected..
Looks up a localized string similar to Static Code Analysis: One problem has been detected..
Looks up a localized string similar to {0}: {1}.
Looks up a localized string similar to The results are saved in {0}..
Looks up a localized string similar to Unknown.
Looks up a localized string similar to Warning.
Defines the fields necessary for analysis, including the schema model and
model element to analyze.
The being analyzed.
The being analyzed.
Describes the rule being executed, and can be used to access the
Gets the script fragment which defines the element being analyzed, if this is available.
May be null.
Tries to get the most suitable for use during the rule analysis process.
If the TSqlObject was originally built from a scripted source then the original source fragment will be returned.
Otherwise a new AST will be generated from the />.
This ensures that when reporting s the most accurate source information can be included
in the error messages.
See for implementation details
Describes a problem found by a rule during analysis. Contains relevant information
such as the Rule that found the problem, the SqlObject causing the problem,
the severity, and the error message to display.
Source position information (source name, start line and column) are initially inferred based on
the and passed into the constructor. Note that if
a is passed in then the start line/column for that
will be used (if present), otherwise the 's values will be used (if present).
Note that certain models such as those generated from a dacpac may not have source position
information.
Constructs a new . Source position information
(source name, start line and column) is inferred based on the
parameter, as long as this information is present in the model.
Description of the problem
The element that caused the problem
Constructs a new . Source position information
(source name, start line and column) is inferred based on the
and parameters, as long as this information is present in the model.
Description of the problem
The element that caused the problem
specifying the precise
Sets source position information (source name, start line and column) for this ,
overriding any position information inferred when the rule was created.
specifying the values to set for the
, and fields
Description of the rule used to detect the current problem. Does not need to be set by the rule itself
Id of the rule that created this
The causing the current problem
causing the problem
Problem description
The severity of this problem, can be error, warning.
The string for displaying the error message, based on rule information
and the problem description
Name of the source this problem was found in. This is determined based on the
model element passed into the constructor. May be null if no source information
was available. For instance models loaded from Dacpac files may not have source
information available
The line the problem begins at, if known
The column the problem begins at, if known
The type of message for reporting problems
Unknown severity
Warning
Error
The scope examined by a static code analysis rule.
The rule examines a single element.
The rule examines the entire model.
Information about a problem being suppressed for a particular source.
This information includes the source name and the rule whose problems should be suppressed.
Creates a for a given source name and rule
Name of the source to be suppressed. This is commonly the path to a file on disk.
Information about the rule whose problems should be suppressed
Gets the name of the source to be suppressed. This is commonly the path to a file on disk.
Gets a with information about the rule
whose problems should be suppressed
Represents a problem encountered during schema comparison.
Exception associated with the error, or null
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to Performing publish is not possible for this comparison result..
Looks up a localized string similar to Performing script generation is not possible for this comparison result..
Looks up a localized string similar to The specified connection string is not valid..
Looks up a localized string similar to The operation failed..
Looks up a localized string similar to The operation failed. The error was: {0}.
Looks up a localized string similar to The operation could not continue because the source database was modified after schema comparison was completed..
Looks up a localized string similar to The operation could not continue because the source model contains errors..
Looks up a localized string similar to The operation could not continue because the target database was modified after schema comparison was completed..
Looks up a localized string similar to The operation could not continue because the target model contains errors..
Looks up a localized string similar to The path '{0}' does not contain a valid schema compare file (.scmp file)..
Looks up a localized string similar to SchemaComparison only supports database and dacpac endpoint types..
Looks up a localized string similar to The specified file could not be opened as a schema comparison file. The file might be corrupt or it might refer to a target or source endpoint that is not of type database or dacpac. Only database endpoints and dacpac endpoints are supported..
Looks up a localized string similar to A non-empty database name must be specified in order to generate an update script for a SchemaCompareDacpacEndpoint..
Refers to a source or target for schema comparison
Refers to a dacpac file as either a source or target for schema comparison
Constructs a schema compare endpoint that refers to a dacpac file
Path to a dacpac file
The dacpac file path
Refers to a database as either a source or target for schema comparison
Constructs a schema compare endpoint that refers to a database
A connection string to a database instance
The supplied connection string is null.
Invalid value within the connection string (for example, when a Boolean or numeric value was expected but not supplied).
The supplied connectionString is not valid.
Constructs a schema compare endpoint that refers to a database
A connection string to a database instance
that supplies the password for the database connection used by this instance.
The supplied connection string or password is null.
Invalid value within the connection string (for example, when a Boolean or numeric value was expected but not supplied).
The supplied connectionString is not valid.
Constructs a schema compare endpoint that refers to a database
A connection string to a database instance
The supplied connection factory is null.
The database name
Class that allows comparing schema between two types of entities: databases and dacpac files
SchemaComparison constructor that uses a schema compare file (.scmp file) for
all comparison settings. Only dacpac and/or database endpoints may be compared.
The path to a schema compare file (.scmp file)
If either the source or the target endpoint is neither a database nor a dacpac file.
SchemaComparison constructor that takes endpoints that specify the source and target for comparison.
A that refers to a schema source.
An that refers to a target. Comparison will update the target to match the source.
Performs schema comparison, populating comparison results.
Saves the SchemaComparison as an scmp file.
When true, any existing file at filePath will be overwritten. If false, save will throw an
IOException if a file already exists at filePath.
Saves the SchemaComparison as an scmp file into a stream
A stream that supports writing.
The that refers to a schema source.
The that refers to a target. Comparison will update the target to match the source.
Elements in the source database model to exclude from comparison.
Elements in the target database model to exclude from comparison.
Options that affect the behavior of package deployment.
Represents the different possible types of
A model object (for example: column, parameter)
A property of a model object (for example: Name, Collation)
Class that provides information about the differences between a source and target database.
Differences are represented in a tree structure.
Used to try to include a difference as part of the set of update actions that are scripted or published.
The tree node to (possibly) modify
Returns true if, after completion, the node's state is included
Used to try to exclude a difference as part of the set of update actions that are scripted or published.
The tree node to (possibly) modify
Returns true if, after completion, the node's state is not included
Provides an enumeration of errors that prevent successful schema compare operations.
Generates a T-SQL update script that makes the target schema consistent with the source schema.
The name of the target database.
SchemaCompareScriptGenerationResult
If the target is a dacpac and a null or empty databaseName value was provided.
Generates and then executes a T-SQL update script that makes the target schema consistent with the source schema.
Indicates whether comparison resulted in a valid, usable result
Indicates whether the source and target endpoints are equal
The source database model
The target database model
A tree that contains results of schema comparison of source and target endpoints.
Result of generating scripts
The generated script
When needed (e.g. for Azure SQL Database), a separate script to be executed against the master database on the target server
Indicates whether generating the script was successful.
Provides context information in the event of an error.
Provides error information in the event of an exception.
Result of publishing comparison result
The generated script
When needed (e.g. for Azure SQL Database), a separate script to be executed against the master database on the target server
Indicates whether generating the script was successful.
Any errors encountered while publishing
Represents an object or property difference found during comparison of two database models.
Represents the type of this node
The update action required to make the schema of the target equal to the source schema.
Indicates whether this node and all of its children will be included during script generation or publish of the comparison result.
Indicates whether this node can be excluded from script generation and publish of the comparison result.
The parent difference (of type ), if any, of this difference
Object or property differences, if any, that relate to this difference.
Object from the source database model
Object from the target database model
Node name
Represents an object by name and type for use in operations.
Constructs an identifier that refers to an object by type and name.
The type of an object
The ObjectIdentifier (name) of an object
Constructs an identifier that refers to an object by type and name.
The type of an object
The ObjectIdentifier (name) of an object
The type of the parent object. This is used to refer to an unnamed object by reference to its (named) parent.
The name of the parent object. This is used to refer to an unnamed object by reference to its (named) parent.
Constructs an identifier that refers to an object by type and name.
The type name used by schema comparison
The possibly null ObjectIdentifier (name) of an object
Constructs an identifier that refers to an object by type and name.
The type name used by schema comparison
The possibly null ObjectIdentifier (name) of an object
The type name of the parent object. This is used to refer to an unnamed object by reference to its (named) parent.
The name of the parent object. This is used to refer to an unnamed object by reference to its (named) parent.
The type name used by schema comparison
Specifies the name of an object
The type name of the parent object. This is used to refer to an unnamed object by reference to its (named) parent.
Specifies the name of the parent object. This is used to refer to an unnamed object by reference to its (named) parent.
Represents a schema update action
Delete - removing an object from the database
Change - modifying an object in the database
Add - adding an object to the database
Provides extension methods to support manipulation of DacPackage objects.
These extension methods work on an existing
Updates the model in a , replacing the current model with a new one.
Before updating, the model will be validated and if errors are encountered a
will be thrown. If callers wish to block on warnings as well as errors, they must validate the model by calling
and checking if any errors or warnings are included in the messages returned.
Note: only the model is replaced - all other artifacts such as refactor log, pre-deployment script,
post-deployment script and and contributor artifacts are not altered. If any of these artifacts
rely on elements that are no longer in the updated model then deployment may fail. It is the
responsibility of the caller to ensure that these artifacts are consistent with the new model.
The API can be used to update other artifacts such as the refactor log and scripts
and keep them consistent with the updated model.
These artifacts are stored as package parts and are identified by their URI.
Package parts can be examined using . Please refer to the
API for further information about updating package parts.
to be updated
representing the model to save into the package.
describing the name, version and description to use
for the , or null if the package information should remain the same.
If the contains data.
If there are any errors saving the model to the package,
including errors validating the model.
If the was not loaded with .
If the or parameters are null.
Creates a package with the specified and saves it to the specified location.
Path to the package file.
representing the model to save into the package.
Metadata information that describes the package.
If there are any errors during package serialization, including errors validating the model.
If the or parameters are null.
Creates a package with the specified and saves it to the specified location.
In addition to the , other artifacts such as refactor log and deployment contributors can be specified in .
Path to the package file.
representing the model to save into the package.
Metadata information that describes the package.
defining advanced options and additional artifacts.
If there are any errors during package serialization, including errors validating the model.
If the or parameters are null.
Creates a package with the specified and saves it to the specified .
to which the package content will be serialized.
representing the model to save into the package.
Metadata information that describes the package.
If there are any errors during package serialization, including errors validating the model.
If the or parameters are null.
Creates a package with the specified and saves it to the specified .
In addition to the , other artifacts such as refactor log and deployment contributors can be specified in .
to which the package content will be serialized.
representing the model to save into the package.
Metadata information that describes the package.
defining advanced options and additional artifacts.
If there are any errors during package serialization, including errors validating the model.
If the or parameters are null.
Derivatives of the BuildContributor extension are executed during a
project build after the project's model has been constructed and verified.
Called after the project's model has been completely built giving the build
contributor an opportunity to examine the model and possible output
additional files.
object
Any messages to be published as part of the build process can be added to this List.
May relate to errors or can also be informational
This type of exception should be thrown if the build cannot continue.
Provides the context for the build process that is used by objects
during project build. See documentation for the and
properties for information on how to specify these inside a project file.
Initializes a new instance of the class.
A of named property values. Canno be null
A of command-line arguments and values. Cannot be null.
A reference to the of the project. Cannot be null.
An array of objects.
Gets a dictionary of named properties and their values
Gets a dictionary of command-line arguments and their values.
When building in SSDT, arguments are available when found in a .sqlproj file or a referenced .targets file.
For instance to add a "RunMyContributor" argument with a value of
"true", the following would be added:
<PropertyGroup>
<ContributorArguments Condition="'$(Configuration)' == 'Debug''">
$(ContributorArguments);RunMyContributor=True;
</ContributorArguments>
</PropertyGroup>
In this case the argument is only added for Debug configuration.
Using the above configuration it is possible to collect information from the MSBuild environment
and pass it to the contributor.
Gets the of the project
Gets an array of representing
Files from the project system which influence the build contributors.
Input configuration files can be defined in a .sqlproj file as part of the MSBuild process.
Inside a .sqproj file, Build Configuration files are specified as follows:
<ItemGroup>
<BuildExtensionConfiguration Include="MyContributorName.MyFileName1.sql" />
<BuildExtensionConfiguration Include="MyContributorName.MyFileName2.sql" />
</ItemGroup>
Note that configuration files are accessible to all contributors. Contributors may employ a
file naming pattern to identify which input files related to that contributor.
A BuildFailedException should be thrown to indicate that the build cannot continue.
This will stop the build process.
Constructs a with a string exception message
string describing the cause of the failure
Constructs a with a string exception message
and an inner providing more information about the failure
string describing the cause of the failure
that is the root cause of the failure
Instances of this class are created by Build and Deployment contributors during design-time to
initialize arguments that are passed to them at runtime.
In SSDT, these arguments must be specified using a ContributorArguments property
in a .sqlproj file or a referenced .targets file. For instance to add a "RunMyContributor" argument with a value of
"true", the following would be added:
<PropertyGroup>
<ContributorArguments Condition="'$(Configuration)' == 'Debug''">
$(ContributorArguments);RunMyContributor=True;
</ContributorArguments>
<PropertyGroup>
In this case the argument is only added for Debug configuration.
Using the above configuration it is possible to collect information from the MSBuild environment
and pass it to the contributor.
It is also possible to specify these when creating a package by using
and specifying .
Initializes a new instance of the class.
Initializes a new instance of the class.
The name of the argument.
The value of the argument.
If the or parameters are null
Gets or sets the name of the argument.
Gets or sets the value of the argument expressed as a string.
Represents a streamable version of a configuration file that is used by DacFx in the deployment and build processes.
These streams enable deployment extensions to enhance and extend the design and deployment experience.
Input configuration files can be defined in a .sqlproj file as part of the MSBuild process.
The files are treated as streams, and will be passed to contributors
via the method, where they can
be copied as outputs that are stored in the generated dacpac.
These streams will then be made available
in the , where they can be
consumed for configuration and data during deployment. At the end of the
method all streams will be disposed.
Contributors that need to obtain data from the streams must read and cache the data during this method -
attempts to read from the stream during the method
will fail.
Inside a .sqproj file, Deployment Configuration files are specified as follows:
<ItemGroup>
<DeploymentExtensionConfiguration Include="MyContributorName.MyFileName1.sql" />
<DeploymentExtensionConfiguration Include="MyContributorName.MyFileName2.sql" />
</ItemGroup>
Note that configuration streams are accessible to all contributors. Contributors may employ a
file naming pattern to identify which input files related to that contributor.
Creates an instance of the
A file path for which a stream can be created
Gets the
The filename used to represent this stream
Information that identifies a deployment contributor
Id of the extension that implements the
deployment contributor
Version of the deployment contributor extension (optional).
Base class for implementing deployment step types.
It should not be used for writing extensions. Extensions
must directly implement DeploymentStep
Represents a step in a deployment plan.
Returns a string that describes this step. The base returns the
type of the step
Returns a list of strings that represent a set of TSQL script batches to be applied
during deployment
Helper that writes the set of batch scripts to the provided writer
Gets the next step in the container, which is a of type DeploymentStep.
Gets the previous step in the container, which is a of type DeploymentStep.
Internal custructor as class is meant for internal purpose
Internal custructor as class is meant for internal purpose
Returns a list of strings that represent a set of TSQL script batches to be applied
during deployment
Returns a string that describes this step. The base returns the
type of the step
A step in a deployment plan that represent an alter to an element.
This class is for read-only purpose and cannot be instantiated.
Base class for script based deployment steps.
Represents a deployment step that consists of an Abstract Syntax Tree (AST) and reference to a script Domain Object Model (DOM) generator.
This class is for read-only purpose.
Gets an optional message describing the step
Returns true if the step's message will be the first batch when calling
GenerateTSql()
Gets the script for this step.
Gets the ScriptGenerator for this step
Get the source element in the alter step
Gets the target element in the alter step
A step in the deployment plan that represents script deployment at the beginning the post-deployment.
This class is for read-only purpose and cannot be instantiated.
Represents an empty step in deployment plan.
This class is for read-only purpose and cannot be instantiated.
A step in the deployment plan that represents script deployment at the beginning of pre-deployment.
This class is for read-only purpose and cannot be instantiated.
The step in a deployment plan that represents a create of an element.
This class is for read-only purpose and cannot be instantiated.
Get the source element of the create element step
The DacBulkCopyStep uploads / streams data from the dac package to the target db.
This class is for read-only purpose and cannot be instantiated.
The step in deployment plan that represents delete from table.
This class is for read-only purpose and cannot be instantiated.
The step in deployment plan that represents drop of a temporal system-versioning clause
and system-time PERIOD.
This class is for read-only purpose and cannot be instantiated.
The step in deployment plan that represents creation of a temporal system-versioning clause
and system-time PERIOD on the appropriate temporal columns.
This class is for read-only purpose and cannot be instantiated.
The step in deployment plan that represents creation of a temporal system-versioning clause
and system-time PERIOD on the appropriate temporal columns.
This class is for read-only purpose and cannot be instantiated.
The step in deployment plan that represents drop of a temporal system-versioning clause
and system-time PERIOD.
This class is for read-only purpose and cannot be instantiated.
The step in deployment plan that represents drop of an temporal table schema-bound objects
This class is for read-only purpose and cannot be instantiated.
The step in deployment plan that represents disabling foreign keys.
This class is for read-only purpose and cannot be instantiated.
The step in deployment plan that represents restoring constraints.
This class is for read-only purpose and cannot be instantiated.
The step in deployment plan that represents saving constraints.
This class is for read-only purpose.
The step in deployment plan that represents deploying scripts.
This class can be instantiated and used by extensions.
Creates an instance of
script to deploy
Initializes a with multiple TSQL scripts
of strings representing
TSQL scripts
A step in deployment step that represents dropping a sql object.
This class is for read-only purpose and cannot be instantiated.
Gets the target element
A step in the deployment plan that represents script deployment at the end of post-deployment.
This class is for read-only purpose and cannot be instantiated.
A step in the deployment plan that represents script deployment at the end of pre-deployment.
This class is for read-only purpose and cannot be instantiated.
Instances of this class mark the portion of the deployment plan where
ALTERs (and CREATEs) are performed.
This class is for read-only purpose and cannot be instantiated.
An instance of this class marks the beginning of the "drops" portion of the
deployment plan. Drops occur in the plan before Alters.
This class is for read-only purpose and cannot be instantiated.
This class marks the start (in a deployment plan) of the preservation of intent section of the
plan. These operations are ones taken to affect refactoring changes.
This class is for read-only purpose and cannot be instantiated.
This step marks the beginning of the transactional section of a deployment plan.
This class is for read-only purpose and cannot be instantiated.
The step in deployment step that represents change database.
This class is for read-only purpose and cannot be instantiated.
Gets the database name
The step in deployment that represents database creation.
This class is for read-only purpose and cannot be instantiated.
The step in deployment that represents database drop.
This class is for read-only purpose and cannot be instantiated.
The step in deployment that represents the creation of the tracking table (__ScriptTrackingLogs).
This table is used to improve the reliability of deployment to SQL Azure.
This class is for read-only purpose and cannot be instantiated.
The step in deployment that represents drop of the tracking table (__ScriptTrackingLogs).
This class is for read-only purpose and cannot be instantiated.
Instances of this class mark the portion of the deployment plan where
ALTERs (and CREATEs) are completed.
This class is for read-only purpose and cannot be instantiated.
An instance of this class marks the end of the "drops" portion of the
deployment plan.
This class is for read-only purpose and cannot be instantiated.
This class marks the end (in a deployment plan) of the preservation of intent section of the
plan. These operations are ones taken to affect refactoring changes.
This class is for read-only purpose and cannot be instantiated.
This step marks the end of the transactional section of a deployment script.
This class is for read-only purpose and cannot be instantiated.
This step is represents a step in the SQL deployment plan that finalizes the access settings to the database. These
settings include Read-Only or Read-Write access, restricted, single user or multi-user, and online versus offline.
This class is for read-only purpose and cannot be instantiated.
In the deployment plan, instances of this step represent moving the element from a previous schema to
the new one.
This class is for read-only purpose and cannot be instantiated.
Gets the moved element
Gets the new schema
Gets the previous name
A type of step in a Sql deployment plan that signifies a SQL "print" statement.
This class is for read-only purpose and cannot be instantiated.
Represents a step in the deployment plan that renames a element.
This class is for read-only purpose and cannot be instantiated.
Gets the renamed object
Gets the old name of the object
Gets the new name of the object
Represents a data motion step in a sql deployment plan.
This class is for read-only purpose and cannot be instantiated.
Gets the source table object
Gets the target table object
Represents a data motion step for column encryption in a sql deployment plan.
This class is for read-only purpose and cannot be instantiated.
Gets the source table object
Gets the target table object
Represents a step which will enable change tracking on the database
Represents a step which will disable change tracking on the database
Represents a step which will execute sp_refresh stored procedures
Represents a rename back to original step for column encryption in a sql deployment plan.
This class is for read-only purpose and cannot be instantiated.
Gets the source table object
Gets the target table object
Concrete classes implementing must add the
attribute to their class definition. This ensures
they will be detected and available for use during build.
s require a unique ID which can be based on their fully qualified type name, or explicitly
passed as a string
Initializes a
Unique Id used to identify the export
Optional string defining the version number of the extension.
Must be a valid version string
Intializes a
The Concrete type that extends - this is used
to generate the unique Id for this Export
Optional string defining the version number of the extension.
Must be a valid version string
This class represents a deployment constributor that executes the deployment plan. An
example of a constributor would be one who executes deployment steps to create a
report about actions performed during a deployment
Represents a contributor to the deployment process
The base class for deployment contributors. Subclasses of this class
participate in a deployment by modifying a deployment plan or by executing
the plan
Initializes a new instance of the class.
Inherited from
Publishes a message to the deployment engine. The deployment engine will process and report the message to consumers.
A that contains the message to publish
Called by the build process in DacFx to give your code an opportunity to modify deployment configuration.
The current object.
If there is a critical error that should stop the build process
from continuing, implementing contributors may throw a .
Called by the deployment process in DacFx to give your code an opportunity to collect configuration information from the provided files.
At the end of the method all streams will be disposed.
Contributors that need to obtain data from the streams must read and cache the data during this method -
attempts to read from the stream during a later method such as the method
will fail.
A object
An of objects
If there is a critical error that should stop the deployment process
from continuing, implementing contributors may throw a .
Cancels execution of the contributor
Gets a value that indicates whether the contributor was canceled
The used to indicate whether contributor execution should be canceled
Called by the deployment engine to allow custom contributors to execute their unique tasks
A object
If there is a critical error the should stop the deployment process
from continuing, implementing contributors may throw a .
Concrete classes implementing must add the
attribute to their class definition. This ensures
they will be detected and available for use during SQL Deployment.
s require a unique ID which can be based on their fully qualified type name, or explicitly
passed as a string
Initializes a
Unique Id used to identify the export
Optional string defining the version number of the extension.
Must be a valid version string
Intializes a
The Concrete type that extends - this is used
to generate the unique Id for this Export
Optional string defining the version number of the extension.
Must be a valid version string
Represents the current setup for objects.
The setup object can be used by deployment contributors during build operations to cause files
to be copied as outputs that are stored in the generated dacpac, or to create new files
that are stored in the dacpac. See the API
for more information about specifying inputs.
Returns an enumerable collection of objects.
Returns a new output configuration file stream that is open for read and write.
A partial file name.
The metadata to be saved to the file.
Copies an input stream's contents into an output stream that is stored inside a package
to be copied
Gets a dictionary that contains the current properties and settings.
Gets the SqlCmd variables defined
Provides a context for objects in DacFx
Gets or sets a dictionary of named arguments and their values.
Gets the options being used for this deployment
Does the model a SQL Azure database.
Does the model a SQL Azure database.
Gets the Source
Gets the Target
Represents an exception that occurs during deployment.
Initializes a new instance of the class
Initializes a new instance of the class
Indicates the reason for the exception.
Initializes a new instance of the class
Indicates the reason for the exception.
Indicates a nested exception.
Represents the plan that is generated for Deployment.
Total number of steps in the plan
Gets the first deployment step
Gets the last deployment step
Returns the head on the plan or null if the plan is empty
Returns the tail of the plan or null if the plan is empty
Provides a context for objects.
Gets the
Gets the
Set if a deployment script is also being generated against an Azure target
(which requires that the portion executed against master be its own script)
Set if a deployment script is also being generated. This
enables other deployment contributors to correlate error messages back to a script/file
Represents a constributor that can modify a deployment plan
Provides a way for subclasses to modify the plan by adding a
step after the specified step
The for the plan
Identifies the before which the will be added.
The to be added
Provides a way to modify the existing plan by adding a step after the existing step
The for the plan
Identifies the after which the will be added.
The to be added
Provides a way to remove the specified step from the plan
The for the plan
Identifies the to be removed.
Concrete classes implementing must add the
attribute to their class definition. This ensures
they will be detected and available for use during SQL Deployment.
s require a unique ID which can be based on their fully qualified type name, or explicitly
passed as a string
Initializes a
Unique Id used to identify the export
Optional string defining the version number of the extension.
Must be a valid version string
Intializes a
The Concrete type that extends - this is used
to generate the unique Id for this Export
Optional string defining the version number of the extension.
Must be a valid version string
Creates a that uses standard extension lookup
properties and returns this to the caller
Initializes the
defining how contributors should be loaded
Gets all matching extensions for a set of required contributors.
specifying contributos to load and any version matching requirements
Output containing all errors that occurred during load. This will include general load errors
for all contributors on the machine, plus load errors relating to version mismatch between requested contributor version
and the available contributors on the machine
Gets all extensions matching the Contributor type.
Output containing all errors that occurred during load. This will include general load errors
for all contributors on the machine, plus load errors relating to version mismatch between requested contributor version
and the available contributors on the machine
Finds and loads all contributors that match the expected data
Input enumerable of s defining the contributors being queried
mapping contributor ID to an instance of the contributor
Any s encountered while loading the contributors
List of s describing the contributors that matched the query
Service that provides data about a
Service providing data required for a ModelComparisonResult
If compared elements are equal
List of elements that have no changes
List of element groups that are equal
List of elements exists in source, does not exist in target
List of elements exists in target, does not exist in source
List of elements are changed.
The result will keyed by elements in source, and it will have
what are the changes together with that changed element.
List of elements changed because of properties are changed.
List of elements changed because of relationship entries are added or dropped
List of elements changed because of composed children are changed.
List of elements changed because of hierarchical dhildren are changed.
Helper class that converts and relays calls from Internal API
to public external API
Calls a method on a contributor, handling message passing requirements.
Rethrows public s as internal
s.
Id of the contributor to be called
contributor to be called
Action that
Helper class that converts and relays calls from Internal API
to public external API
A shim between the public API and the internal DacFx API. Responsible for loading all public DeploymentPlanExecutor contributors, and
relaying the calls from the internal API to the public API
A shim between the public API and the internal DacFx API. Responsible for loading all public DeploymentPlanModifier contributors, and
relaying the calls from the internal API to the public API
Acts as a relay between the internal and public DeploymentPlans. Converts
Internal DeploymentStep objects to Public objects, and vice versa.
Wraps a step from the public API, ensuring it can be used by the internal API
Service that provides data about a
Get boolean that specifies whether CLR deployment will cause blocking assemblies to be dropped.
Get boolean that specifies whether deployment will block due to platform compatibility.
Get boolean that specifies whether a database backup will be performed before proceeding
with the actual deployment actions.
Get boolean that specifies whether deployment should stop if the operation could cause data loss.
Get boolean that specifies whether the system will check for differences between the
present state of the database and the registered state of the database and block deployment
if changes are detected. Even if this option is set to true, drift detection will only occur
on a database if it was previously deployed with the option enabled.
Get boolean that specifies whether the declaration of SQLCMD variables are commented
out in the script header.
Get boolean that specifies whether the target collation will be used for identifier
comparison.
Get boolean that specifies whether the existing database will be dropped
and a new database created before proceeding with the actual deployment actions.
Acquires single-user mode before dropping the existing database.
Get boolean that specifies whether the system will acquire single-user mode on the target
database during the duration of the deployment operation.
The database will be returned to multi-user mode after all changes are applied.
Database may remain in single-user mode if an error occurs during execution.
Get boolean that specifies if all DDL triggers will be disabled for the duration of the
deployment operation and then re-enabled after all changes are applied.
Triggers may remain disabled if an error occurs during execution.
Get boolean that specifies whether items configured for Change Data Capture (CDC)
should be altered during deployment.
Get boolean that specifies whether items configured for Replication
should be altered during deployment.
Get boolean that specifies whether to drop all constraints that do not
exist in the source model.
This applies to check, default, foreign key, primary key, and unique constraints.
Get boolean that specifies whether to drop all DML triggers that do not
exist in the source model.
Get boolean that specifies whether to drop all extended properties that do
not exist in the source model.
Get boolean that specifies whether to drop all indexes that do not
exist in the source model.
Get boolean that specifies whether objects that exist in the target but not source should be dropped during deployment.
Get boolean that specifies whether to drop all permissions that do not
exist in the source model.
Get boolean that specifies whether to drop all role memberships that do not
exist in the source model.
Get boolean that specifies whether to drop all statistics that do not
exist in the source model.
Get boolean that specifies whether default values should be generated to populate NULL columns that are constrained to NOT NULL values.
This is useful when needing to add a new NOT NULL column to an existing table with data.
Get boolean that specifies whether to exclude the ANSI_NULL option from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the AUTHORIZATION option from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the collation specifier from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude from consideration
the order of columns in tables when comparing the source and target model.
Get boolean that specifies whether to exclude comments from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the file specification
of a cryptographic provider from consideration when comparing the source and
target model.
Get boolean that specifies whether to exclude DDL trigger order from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude DDL trigger state from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the DEFAULT_SCHEMA option from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude DML trigger order from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude DML trigger state from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude all extended properties from
consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the FILENAME option of
FILE objects from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the filegroup specifier
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the SIZE option of FILE objects
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the FILLFACTOR option
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the path specification of
FULLTEXT CATALOG objects from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the seed value of IDENTITY columns
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the increment value of IDENTITY columns
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude differences in index options
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the PAD_INDEX option
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude difference in the casing of keywords
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the ALLOW_ROW_LOCKS and
ALLOW_PAGE_LOGKS options from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the SID option of the LOGIN object
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the NOT FOR REPLICATION option
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the partition scheme object
from consideration when comparing the source and target model for the following
objects: Table, Index, Unique Key, Primary Key, and Queue.
Get boolean that specifies whether to exclude the parameter type and
boundary VALUES of a PARTITION FUNCTION from consideration when comparing the
source and target model. Also excludes FILEGROUP and partition function of a
PARTITION SCHEMA from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude all permission statements
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the QUOTED_IDENTIFIER option
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude all ROLE MEMBERSHIP objects
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the LIFETIME option of ROUTE objects
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the existence or absence of semi-colons
from consideration when comparing the source and target model.
Get boolean that specifies whether the options on the target table are updated
to match the source table.
Get boolean that specifies whether to exclude user settings
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude whitespace
from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the CHECK|NO CHECK option of a CHECK
constraint object from consideration when comparing the source and target model.
Get boolean that specifies whether to exclude the CHECK|NO CHECK option of a FOREIGN KEY
constraint object from consideration when comparing the source and target model.
Get boolean that specifies whether to include referenced, external elements that also
compose the source model and then update the target database in a single deployment operation.
Get boolean that specifies whether to use transations during the deployment operation
and commit the transaction after all changes are successfully applied.
Get boolean that specifies whether to force a change to CLR assemblies by dropping and recreating them.
Get boolean that specifies whether files are supplied for filegroups defined in the deployment source.
Get boolean that specifies whether the database will be registered as a Data-Tier Application.
If the target database is already a registered Data-Tier Application, then the registration will be updated.
Get boolean that specifies whether the target database should be altered to match the
source model's collation.
Get boolean that specifies whether the target database should be altered to match the
source model's compatibility level.
Get boolean that specifies whether the database options in the target database should
be updated to match the source model.
Get boolean that specifies whether the target database should be checked to ensure that
it exists, is online and can be updated.
Get boolean that specifies whether a file size is specified when adding files to file groups.
Get boolean that specifies whether constraints are validated after all changes are applied.
Constraints are always added with NOCHECK option; as a result their validation is skipped during creation.
Get boolean that specifies whether referencing procedures are refreshed when referenced objects are updated.
Get string that specifies the target connection string
Gets boolean that if set specifies whether the target database exists
Gets string that specifies the target database name
Get boolean that specifies whether the target server is LocalDB
Get boolean that specifies whether the deployment operation should proceed when errors are
generated during plan verification.
Get boolean that specifies whether the deployment operation should proceed when errors are
generated during plan verification.
Get boolean that specifies whether deployment will verify that the collation specified in the
source model is compatible with the collation specified in the target model.
True to continue if errors are generated during plan verification; otherwise, false.
Default is true.
Get boolean that specifies whether the plan verification phase is executed or not.
True to perform plan verification; otherwise, false to skip it.
Default is true.
Get dictionary of SQL command variable values, keyed by variable name.
Dictionary of SQL command variable values, keyed by variable name.
Valid values must be provided for every variable before deployment, or failures may occur during deployment.
Contains change details for a TSqlObject.
Including changed properties, added/dropped/ordinal changed relationship entries,
added/dropped/changed/ordinal changed composing children and
added/dropped/changed/ordinal changed hierarchical children.
Constructs a ModelComparisonChangeDefinition that uses a
to retrive definition data
Gets the target object of the change definition
SchemaModel compare result.
Contains same elements list, elements needed to add to target list,
elements needed to drop in target list, and changed elements list.
Constructs a ModelComparisonResult using a
to obtain the result data
If compared elements are equal
List of elements that have no changes
List of element groups that are equal
List of elements exists in source, does not exist in target
List of elements exists in target, does not exist in source
List of elements are changed.
The result will keyed by elements in source, and it will have
what are the changes together with that changed element.
List of elements changed because of properties are changed.
List of elements changed because of relationship entries are added or dropped
List of elements changed because of composed children are changed.
List of elements changed because of hierarchical dhildren are changed.
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to This step has no mapping in the internal deployment plan..
Contains deployment options values used for deployment
Get boolean that specifies whether CLR deployment will cause blocking assemblies to be dropped.
True to drop blocking assemblies during CLR deployment; otherwise, false.
Default is false.
Get boolean that specifies whether deployment will block due to platform compatibility.
True to block deployment to incompatible platforms; otherwise, false.
Default is false.
Get boolean that specifies whether a database backup will be performed before proceeding
with the actual deployment actions.
True to perform a database backup prior to deployment; otherwise, false.
Default is false.
Get boolean that specifies whether deployment should stop if the operation could cause data loss.
True to stop deployment if possible data loss if detected; otherwise, false.
Default is true.
Get boolean that specifies whether the system will check for differences between the
present state of the database and the registered state of the database and block deployment
if changes are detected. Even if this option is set to true, drift detection will only occur
on a database if it was previously deployed with the option enabled.
True to error is drift is detected; otherwise, false.
Default is true.
Get boolean that specifies whether the declaration of SQLCMD variables are commented
out in the script header.
True to comment out these declarations; otherwise, false.
Default is false.
Get boolean that specifies whether the source collation will be used for identifier
comparison.
False to use the source collation; otherwise, true to use the target collation.
Default is false.
Get boolean that specifies whether the existing database will be dropped
and a new database created before proceeding with the actual deployment actions.
Acquires single-user mode before dropping the existing database.
True to drop and re-create the database; otherwise, false.
Default is false.
Get boolean that specifies whether the system will acquire single-user mode on the target
database during the duration of the deployment operation.
True to acquire single-user mode during deployment; otherwise, false.
Default is false.
The database will be returned to multi-user mode after all changes are applied.
Database may remain in single-user mode if an error occurs during execution.
Get boolean that specifies if all DDL triggers will be disabled for the duration of the
deployment operation and then re-enabled after all changes are applied.
True to disable DDL triggers during deployment; otherwise, false.
Default is true.
Triggers may remain disabled if an error occurs during execution.
Get boolean that specifies whether items configured for Change Data Capture (CDC)
should be altered during deployment.
True to not alter objects configured for CDC; otherwise, false.
Default is true.
Get boolean that specifies whether items configured for Replication
should be altered during deployment.
True to not alter objects configured for Replication; otherwise, false.
Default is true.
Get boolean that specifies whether to drop all constraints that do not
exist in the source model.
True to drop constraints not in the source model; otherwise, false.
Default is true.
This applies to check, default, foreign key, primary key, and unique constraints.
Get boolean that specifies whether to drop all DML triggers that do not
exist in the source model.
True to drop DML triggers not in the source model; otherwise, false.
Default is true.
Get boolean that specifies whether to drop all extended properties that do
not exist in the source model.
True to drop extended properties not in the source model; otherwise, false.
Default is true.
Get boolean that specifies whether to drop all indexes that do not
exist in the source model.
True to drop indexes not in the source model; otherwise, false.
Default is true.
Get boolean that specifies whether objects that exist in the target but not source should be dropped during deployment.
True if objects that exist in the target but not source should be dropped; otherwise false.
Default is false.
Get boolean that specifies whether to drop all permissions that do not
exist in the source model.
True to drop permissions not in the source model; otherwise, false.
Default is false.
Get boolean that specifies whether to drop all role memberships that do not
exist in the source model.
True to drop role memberships not in the source model; otherwise, false.
Default is false.
Get boolean that specifies whether to drop all statistics that do not
exist in the source model.
True to drop statistics not in the source model; otherwise, false.
Default is true.
Get boolean that specifies whether default values should be generated to populate NULL columns that are constrained to NOT NULL values.
True if default values should be generated; otherwise false.
Default is false.
This is useful when needing to add a new NOT NULL column to an existing table with data.
Get boolean that specifies whether to exclude the ANSI_NULL option from
consideration when comparing the source and target model.
True to ignore differences in the ANSI_NULL option; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the AUTHORIZATION option from
consideration when comparing the source and target model.
True to ignore differences in the AUTHORIZATION option; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the collation specifier from
consideration when comparing the source and target model.
True to ignore differences in the collation specifier; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude from consideration
the order of columns in tables when comparing the source and target model.
True to ignore differences in column order; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude comments from
consideration when comparing the source and target model.
True to ignore differences in comments; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the file specification
of a cryptographic provider from consideration when comparing the source and
target model.
True to ignore differences in a cryptographic provider's file specification; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude DDL trigger order from
consideration when comparing the source and target model.
True to ignore differences in DDL trigger order; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude DDL trigger state from
consideration when comparing the source and target model.
True to ignore differences in DDL trigger state; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the DEFAULT_SCHEMA option from
consideration when comparing the source and target model.
True to ignore differences in the DEFAULT_SCHEMA options; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude DML trigger order from
consideration when comparing the source and target model.
True to ignore differences in DDL trigger order; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude DML trigger state from
consideration when comparing the source and target model.
True to ignore differences in DML trigger state; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude all extended properties from
consideration when comparing the source and target model.
True to ignore differences in extended properties; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the FILENAME option of
FILE objects from consideration when comparing the source and target model.
True to ignore differences in the FILENAME option of FILE objects; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the filegroup specifier
from consideration when comparing the source and target model.
True to ignore differences in the filegroup specifier; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the SIZE option of FILE objects
from consideration when comparing the source and target model.
True to ignore differences in the SIZE option of FILE objects; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the FILLFACTOR option
from consideration when comparing the source and target model.
True to ignore differences in the FILLFACTOR option; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the path specification of
FULLTEXT CATALOG objects from consideration when comparing the source and target model.
True to ignore differences in the path specification of FULLTEXT CATALOG objects; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the seed value of IDENTITY columns
from consideration when comparing the source and target model.
True to ignore differences in the seed value of IDENTITY columns; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the increment value of IDENTITY columns
from consideration when comparing the source and target model.
True to ignore differences in the increment value of IDENTITY columns; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude differences in index options
from consideration when comparing the source and target model.
True to ignore differences in index options; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the PAD_INDEX option
from consideration when comparing the source and target model.
True to ignore differences in the PAD_INDEX option; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude difference in the casing of keywords
from consideration when comparing the source and target model.
True to ignore differences in the casing of keywords; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the ALLOW_ROW_LOCKS and
ALLOW_PAGE_LOGKS options from consideration when comparing the source and target model.
True to ignore the ALLOW_ROW_LOCKS and ALLOW_PAGE_LOGKS options; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the SID option of the LOGIN object
from consideration when comparing the source and target model.
True to ignore the SID option of the LOGIN object; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the NOT FOR REPLICATION option
from consideration when comparing the source and target model.
True to ignore the NOT FOR REPLICATION option; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the partition scheme object
from consideration when comparing the source and target model for the following
objects: Table, Index, Unique Key, Primary Key, and Queue.
True to ignore partition schemes; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the parameter type and
boundary VALUES of a PARTITION FUNCTION from consideration when comparing the
source and target model. Also excludes FILEGROUP and partition function of a
PARTITION SCHEMA from consideration when comparing the source and target model.
True to ignore aspects of partition functions and schemes; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude all permission statements
from consideration when comparing the source and target model.
True to ignore all permission statements; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the QUOTED_IDENTIFIER option
from consideration when comparing the source and target model.
True to ignore the QUOTED_IDENTIFIER option; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude all ROLE MEMBERSHIP objects
from consideration when comparing the source and target model.
True to ignore ROLE MEMBERSHIP objects; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the LIFETIME option of ROUTE objects
from consideration when comparing the source and target model.
True to ignore the LIFETIME option of ROUTE objects; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the existence or absence of semi-colons
from consideration when comparing the source and target model.
True to ignore semi-colons; otherwise, false.
Default is true.
Get boolean that specifies whether the options on the target table are updated
to match the source table.
True to ignore difference in table options and not update the target table; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude user settings
from consideration when comparing the source and target model.
True to ignore differences in user settings; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude whitespace
from consideration when comparing the source and target model.
True to ignore differences whitespace; otherwise, false.
Default is true.
Get boolean that specifies whether to exclude the CHECK|NO CHECK option of a CHECK
constraint object from consideration when comparing the source and target model.
True to ignore the CHECK|NO CHECK option of a CHECK constraint object; otherwise, false.
Default is false.
Get boolean that specifies whether to exclude the CHECK|NO CHECK option of a FOREIGN KEY
constraint object from consideration when comparing the source and target model.
True to ignore the CHECK|NO CHECK option of a FOREIGN KEY constraint object; otherwise, false.
Default is false.
Get boolean that specifies whether to include referenced, external elements that also
compose the source model and then update the target database in a single deployment operation.
True to include composite objects; otherwise, false.
Default is false.
Get boolean that specifies whether to use transations during the deployment operation
and commit the transaction after all changes are successfully applied.
True to use transactions during deployment; otherwise, false.
Default is false.
Get boolean that specifies whether to force a change to CLR assemblies by dropping and recreating them.
True if CLR assemblies should be dropped; otherwise false to allow ALTER statements to change CLR assemblies.
Default is false.
Get boolean that specifies whether files are supplied for filegroups defined in the deployment source.
True to specify files for filegroups; otherwise false.
Default is true.
Get boolean that specifies whether the database will be registered as a Data-Tier Application.
If the target database is already a registered Data-Tier Application, then the registration will be updated.
True to register the database as a Data-Tier Application; otherwise, false.
Default is false.
Get boolean that specifies whether the target database should be altered to match the
source model's collation.
True to alter the target database's collation; otherwise, false.
Default is false.
Get boolean that specifies whether the target database should be altered to match the
source model's compatibility level.
True to alter the target database's compatibility level; otherwise, false.
Default is false.
Get boolean that specifies whether the database options in the target database should
be updated to match the source model.
True to alter the target database's options; otherwise, false.
Default is true.
Get boolean that specifies whether the target database should be checked to ensure that
it exists, is online and can be updated.
True to perform state checks on the target database; otherwise, false.
Default is false.
Get boolean that specifies whether a file size is specified when adding files to file groups.
True to specify a file size when adding files to file groups; otherwise, false.
Default is false.
Get boolean that specifies whether constraints are validated after all changes are applied.
True to validate check constraints; otherwise, false.
Default is true.
Constraints are always added with NOCHECK option; as a result their validation is skipped during creation.
Get boolean that specifies whether referencing procedures are refreshed when referenced objects are updated.
True to refresh referencing procedures; otherwise false.
Default is true.
Get string that specifies the target connection string
Gets boolean that if set specifies whether the target database exists
Gets string that specifies the target database name
Get boolean that specifies whether the target server is LocalDB
Get boolean that specifies whether to treat errors that occur during publish verification as warnings.
The check is performed against the generated deployment plan before the plan is executed against the target database.
Plan verification detects problems, such as the loss of target-only objects (for example, indexes), that must be
dropped to make a change. Verification also detects situations where dependencies (such as tables or views) exist
because of a reference to a composite project, but do not exist in the target database. You might choose to treat
verification errors as warnings to get a complete list of issues instead of allowing the publish
action to stop when the first error occurs.
True to treat errors as warnings; otherwise, false.
Default is false.
Get boolean that specifies whether warnings should be generated when differences are found
in objects that cannot be modified, for example, if the file size or file paths were different for a file.
True to generate warnings; otherwise, false.
Default is true.
Get boolean that specifies whether deployment will verify that the collation specified in the
source model is compatible with the collation specified in the target model.
True to continue if errors are generated during plan verification; otherwise, false.
Default is true.
Get boolean that specifies whether the plan verification phase is executed or not.
True to perform plan verification; otherwise, false to skip it.
Default is true.
Get dictionary of SQL command variable values, keyed by variable name.
Dictionary of SQL command variable values, keyed by variable name.
Valid values must be provided for every variable before deployment, or failures may occur during deployment.
Defines the type of objects to query from the model.
Filter out all elements.
Query user defined objects.
Query built in system objects
Query user defined objects from referenced models where the referenced model is for the same database.
Query System objects that are not treated as built in. These are objects that appear when the master
database is referenced
Query references to external objects that are from a different database on the same server.
Query references to external objects that are from a different database on a different same server.
Default query scope is to query both
and query scopes
All elements in the model, including references to external elements.
Represents a model blocking error.
Type of model blocking error
DacModelError error code
Line Number of the error
Column Number of the error
DacModelError prefix
Message from DacModelError
The TSqlObject with error.
Can be null if the object creation failed completely.
Could be a partially constructed object in case of partial failures in object creation.
Type of the TSqlObject associated with the error
Severity of the error
Provides a set of services for providing user-visible values for objects in the public model API.
Pass in a short name string, return back an escaped version of the name string.
Get element name string using different display style.
Get display name of an identifier, with the option to configure use of full/short name and whether to escape name parts.
The name identifier that can contain multiple parts.
defining whether the parts of the name should be escaped or not
Indicates if the name is constructed in full or only the significant last part is used.
Display name
Defines the different naming styles supported by the display services
Unknown or undefined style - should be avoided
A non-escaped short name style.
An escaped short name style.
A non-escaped fully qualified name style.
An escaped fully qualified name style.
Enum to specify escape style for displaying model name
Names should be escaped
Names should not be escaped
Names should be escaped if not doing so would cause errors
Base class for elements with commented out script body
Parses the given script with all known prior platform parsers until the script is successfully parsed.
On successful parssing, extracts the TSqlStatment specified by the type parameter T
The create sql statement
Parse the script with all known prior parsers
Successfully parsed TSqlFragment parsed. null if not able to parse
Extract the single TSQLStatment contained within the successfully parsed script.
Single TSQLStatment within the successfully parsed script.
Implemented by inherited members to comment out the script body of the Statement
TSqlScipt of the element with commented out script body
The SqlPlatform parser to first employ when trying to parse the script
Contains the successfully parsed TSqlFragment parsed by some prior platform parser.
The single TSQLStatment contained within the script that was successfully parsed by some prior platform parser.
Unpon construction, null value for Statement denotes either script was not successfully parsed or there were more than one statements.
Property context for properties that are converted from annotations in the internal model.
implementation that handles external definition actions. These
define a mapping from an internal to a value in a public Enum type.
Describes a SQL model element without instantiating a in the
.
Gets the corresponding that matches this descriptor from a model.
If no object matches the descriptor then null will be returned
the object should be found in
that this maps to, or null
if no object definitively matches this descriptor
Returns if descriptor is empty (doesn't contain any identifiers). It is possible for
a descriptor to have a generated name - i.e. based on the context of a statement
Helper to signify whether this descriptor has a name that is usable - i.e. the
name parts represent the name of a SQL object.
Gets if name should be ignored for this descriptor. It is possible for a
descriptor to have no name AND IgnoreName == false
Returns back the type class that maps to the ElementType.
If there is no public mapping for the internal type then null will be returned.
If the internal type maps to more than one element class the first element class
is returned.
The parts of the elements name.
Returns external parts for elements name
Specifies how a fragment being visited is related to a descriptor
No relevance or unknown relevance
The descriptor is related to an object that contains the fragment
The descriptor represents the same concept as the fragment
Represents substituting a CreateProcedureStatement with commented out script body
Represents substituting a CreateViewStatement with commented out script body
Comparer that can compare strings and s using the collation of a .
This can be very useful when comparing objects in the model since comparisons will be consistent with the expected comparison
results in SQL Server
Compare if two objects are equal.
Source object.
Target object.
True if equal, otherwise false.
Test if two identifiers are equal using collation of this comparer.
List of name parts in the first identifier.
List of name parts in the second identifier.
Test if two identifiers are equal using collation of this comparer.
The first .
The second .
Gets a Hashcode for the object that's compatible with the
method of this comparer
The object to get a hashcode for
hashcode
Gets a Hashcode for the object that's compatible with the
method of this comparer
The object to get a hashcode for
hashcode
Gets a Hashcode for the object that's compatible with the
method of this comparer
The object to get a hashcode for
hashcode
Compare two objects using collation of this comparer.
Source object.
Target object.
Compare two objects using collation of this comparer.
Source object.
Target object.
Compare two objects using collation of this comparer.
Source object.
Target object.
Checks if an internal element represents an inline constraint or annotation
The element to check
True if the element is an inline constraint or index. False otherwise.
Tries to get info from a relationship on an element. The relationship must have single cardinality.
If successful the information returned will at a minimum be the
This class represents an ambigous element descriptor, where it's not fully clear which
element in the model a descriptor might map to
Gets the Relevance associated with the potential descriptor
Internal service that links the public code to the internal
analyzer codebase
Factory method to construct a service. May want to move this into the
if we ever wanted to abstract away implementation details even further
Default Property context for all properties.
Provides default implementation for relationship access through the public model.
The possible relationships for the collapsed reference lookup
Represents an error or a warning raised during model validation.
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to Add or update objects failed due to the following errors: .
Looks up a localized string similar to Cannot add or update objects. The model has build blocking errors:.
Looks up a localized string similar to The AST could not be retrieved for the specified object..
Looks up a localized string similar to AST retrieval not supported for the specified object..
Looks up a localized string similar to \nAuto generated text: The original script body has been commented in order to add this object to the model.\n.
Looks up a localized string similar to Cannot convert object to script. The source name '{0}' does not match existing source name '{1}'. Changing source names is not supported..
Looks up a localized string similar to Cannot convert object to script. The source name '{0}' is already in use in this model.
Looks up a localized string similar to Source name cannot consist of whitespace.
Looks up a localized string similar to Cannot load package '{0}'. Required references are missing..
Looks up a localized string similar to Delete objects failed due to the following errors: .
Looks up a localized string similar to Cannot delete objects from the model. The model has build blocking errors:.
Looks up a localized string similar to {0}: parameter {1} cannot be null, the empty string, all whitespace, or end in ".xsd".
Looks up a localized string similar to Type '{0}' is not a top-level type. Only top-level types can be queried for using the TSqlModel GetObject(s) methods..
Looks up a localized string similar to Not all property types match expected type '{0}'..
Looks up a localized string similar to Internal Error. No internal property mapped on internal type {0} for public property {1}..
Looks up a localized string similar to Internal Error. Data types for internal properties '{0}.{1}' and '{2}.{3}' do not match..
Looks up a localized string similar to No internal relationship mapped on internal type {0} for public relationship {1}..
Looks up a localized string similar to Internal Error. No public type mapping was found for internal type {0}, for element with id {1}..
Looks up a localized string similar to Internal Error. Context object must implement ISqlModelElement..
Looks up a localized string similar to Internal Error. There is no context object to derive a default from..
Looks up a localized string similar to Metadata {0} has an invalid context type..
Looks up a localized string similar to Data type {1} for metadata {0} cannot be cast to {2}..
Looks up a localized string similar to Internal Error. Internal elements must implement IModelElement..
Looks up a localized string similar to Relationship '{0}.{1}' cannot be used for type collapsing navigation as it is a one-to-many relationship..
Looks up a localized string similar to Property {0} has an invalid context type..
Looks up a localized string similar to Data type {1} for property {0} cannot be cast to {2}..
Looks up a localized string similar to Relationship {0} has an invalid context type..
Looks up a localized string similar to Data type {0} cannot be cast to {1}..
Looks up a localized string similar to The type name {0} is not valid..
Looks up a localized string similar to Loading source as a script-backed model failed due to the following errors:.
Looks up a localized string similar to Internal error. Type '{0}' is not an Enum, expected Enum for GetMetadata.
Looks up a localized string similar to ModelMetadataClass {0} is not supported on type {1}..
Looks up a localized string similar to Metadata context must be mapped to at least one internal property..
Looks up a localized string similar to Internal Error. Property context must be mapped to at least one internal property..
Looks up a localized string similar to No file was supplied for reference {0}; model load might fail. When {1} was created, the original referenced file was located {2}..
Looks up a localized string similar to No file was supplied for reference {0}; model load might fail. When package was created, the original referenced file was located {1}..
Looks up a localized string similar to Context must include at least one internal relationship mapping.
Looks up a localized string similar to The underlying model has been disposed..
Looks up a localized string similar to The model has build blocking errors:.
Looks up a localized string similar to More than one object matched the ID '{0}'..
Looks up a localized string similar to Type '{0}' does not have a mapping for the int value '{1}'.
Looks up a localized string similar to Properties are not supported on ModelRelationshipInstances for Relationship {0}.
Looks up a localized string similar to ModelPropertyClass {0} is not supported on relationship {1}..
Looks up a localized string similar to ModelPropertyClass {0} is not supported on type {1}..
Looks up a localized string similar to DeploymentContributor '{0}' threw exception. Message is: '{1}'.
Looks up a localized string similar to ModelRelationshipClass {0} is not supported on type {1}..
Looks up a localized string similar to Cannot save package to file. The model has build blocking errors:.
Looks up a localized string similar to The script could not be retrieved for the specified object..
Looks up a localized string similar to Script retrieval not supported for the specified object..
Looks up a localized string similar to The underlying model service has been disposed..
Looks up a localized string similar to Error updating model..
Looks up a localized string similar to Cannot update the model as the package contains data. This is not supported since it could cause errors during deployment.
Looks up a localized string similar to Updating package with version '{0}' is not supported. Only packages with version 3.0 or higher are supported for update..
Defines the type of objects to query from the model.
Filter out all elements.
Query user defined objects.
Query built in system objects
Query user defined objects from referenced models where the referenced model is for the same database.
Query System objects that are not treated as built in. These are objects that appear when the master
database is referenced
Default query scope is to query both
and query scopes
All elements in the model, not including references to external elements in non-system databases.
Internal SQL implementation of the . Uses the
comparer built into an internal model for the comparison
Responsible for loading a model from a dacpac
Loads references, SqlCmd variables, and refactor log data from a dacpac
Converts objects in a given scope into scriptable objects by deleting the internal representation of
user defined objects and recreating them with a script-backed representation
Converts a specific top-level object in the model into a scripted representation of itself. This is done
by scripting out the element, then dropping this element, and finally adding it back in and resolving the model
New copy of the TSqlObject, which will now be script-backed
If the object could not be scripted out, this class of object is never scriptable,
or errors were found in the model during the script process
Internal for testing purposes only. Use SqlSchemaModelObjectService(InternalModel.DataSchemaModel model)for
product code.
Public constructor to be used by product code
Initialize TSqlParserRepository
Internal method that enables setting whether the model is script-backed or not. This can be used to
warn about code analysis running against a non-scripted model, for instance.
Internal utility method - wraps an internal model element in a public TSqlObject. Should never be exposed as part of the service.
Retrieves all TSqlObjects in a given source document filtered by ModelTypeClass specified by the types parameter
Name of the source document
Array of ModelTypeClass that the resulting TSqlObject should be filtered on.
If the parameter is a empty list, all objects will be returned.
List of TSqlObjects
Retrieves all model errors.
List of model errors
Gets the internal that matches a public ID
Converts an object to an IModelElement, throwing if the cast is invalid
Returns if an object's create script is a top level T-SQL statement.
to query.
True if object's create statement is a top level statement.
If is null.
Generates the AST for the .
True is AST generated.
Generated AST.
to query.
Thrown if is null.
Thrown if the property of does not implement correct type.
Generates the script for the .
True is script generated.
The to be scripted
Generated script.
Thrown if is null.
Thrown if the property of does not implement correct type.
Creates an identifier that is compatible with the internal model's treatment of source names.
Internally the ScriptCache checks for "MSSQLL::" at the beginning of a source name.
This indicates that the name isn't a path and shouldn't be auto-expanded based on the current working directory.
We don't want to treat source names passed into the public API as paths, especially since this would result in
the current working directory being added in front of any source name that wasn't a fully qualified path.
The tradeoff is external users of the API don't get the benefit of us auto-resolving relative paths for them,
but that's an acceptable tradeoff
Removes the "MSSQL::" string from the beginning of a cache identifier to get the source name.
see for more information on why this behavior is needed
Performs error handling around an operation on a DacPackage, such as creating or updating
the package. There are a standard set of exceptions that can be thrown in this case
Thrown if any error occurs when operating on the package
Gets source info from an internal source by stripping any cache ID info from the source name
Converts a specific top-level object in the model into a scripted representation of itself. This is done
by scripting out the element, then dropping this element, and finally adding it back in and resolving the model
New copy of the TSqlObject, which will now be script-backed
If the object could not be scripted out, this class of object is never scriptable,
or errors were found in the model during the script process
For simplicity, keeping this method private for now. Consider exposing publicly as a perf improvement in scenarios where
caller clearly knows that they want to directly replace an unscripted model element (e.g. a table) with a new definition.
Converts all user-defined objects in the model into scripted representations of themselves. This is done
by scripting out the elements we're going to drop, then dropping all these elements, and finally adding them
back in and resolving the model
One step in converting objects to a scripted model: Must create script representations of each object to be deleted,
since we would like to remove them all and re-add them with only one Resolve operation. Otherwise we would have to
resolve after each delete and recreation to avoid unresolved references causing problems during scripting
One step in converting objects to a scripted model:
for each of the objects to be dropped and recreated the element, its composed children and inline hierarchical
children are all deleted. Then they are added back into the model via the scripted representation of the objects.
Note that this does not call Resolve on the model in order to support multiple updates followed by a single
resolve, hence the caller must ensure the model is resolved once all these operations are completed.
If adding an object to the model fails due to model blocking errors and if the ModelLoadOption is set to not throw on errors,
the original object is substituted with a replacement object whose errant parts are removed. These errors are common in case of objects with
old deprecated syntax.
This method substitutes stored procedures and views with equivalent new objects that has commented out script body.
In case of other types of objects, an empty element with just the name of the errant object is added to the model.
The element that originally failed to add to the model.
source name of the object
TSqlObjectOptions for the object
Script of the object
cache identifier for the object
Internal for testing purposes only
Internal, only to be accessed by internal services as required.
If query scope includes all elements, even externals
If query scope includes all elements, except
non-Composite external
If query scope includes user defined elements
if query scope includes built-in elements
If query scope includes external elements in the same database
If query scope includes elements from system dacpac ("master" reference)
If query scope includes external elements in a different database on this server (for return of ID only)
If query scope includes external elements in a different database on a separate server (for return of ID only)
Converts into filter criteria to use when querying the internal model.
QueryScope to expand.
Converts into filter criteria to use when querying the internal model.
QueryScope to expand.
Determines if the element matches the query criteria. Fully external elements
should never be returned from this method, though system elements may be supported.
Element to consider
true if element matches query criteria. Otherwise false.
///
Determines if the element ID can be returned - external elements will support
return of the external ID in a relationship instance, but should never support
return of the actual element.
Element to consider
true if element matches query criteria. Otherwise false.
///
filter used when retrieving element
Represents the severity level of the model error
Severity is unknown
Model error
Warning in the model
The model error type. Represents the various classification of model blocking errors.
Represents a parser error in an object in the model
Represents a interpreter error in an object in the model
Any other model blocking validation errors.
Defines options that affect the behavior of loading a model from a database.
Construct a new instance of the class.
Get or set boolean that specifies whether server-scoped elements referenced by the source should be extracted.
True if references server-scoped elements should be extracted; otherwise false.
Default value is true.
Get or set boolean that specifies the scope of objects extracted from the source.
True if only application-scoped objects should be extracted;
otherwise false to extract all object types.
Default value is true.
Get or set boolean that specifies whether extended properties should be ignored.
True if extended properties will be ignored; otherwise false.
Default value is false.
Get or set boolean that specifies whether permissions should be ignored.
True if permissions will be ignored; otherwise false.
Default value is true.
Get or set boolean that specifies whether mappings between users and logins should be extracted from the source.
True if user login mappings will be ignored; otherwise false.
Default value is false.
Get the type of backing storage for the schema model used during extraction.
Enumeration value that specifies the type of backing storage for the schema model used during extraction.
Default value is File.
Get or set boolean that specifies whether the extracted package should be verified.
True if the package should be verified; otherwise false.
Default value is false.
Should the model be loaded so that objects are backed up by scripted representations? In this case objects in the
scope will have a source name and source position information.
When loading from a Dacpac or any other non-scripted source the model will not have source information. This
means that when running static code analysis using the some rules may not work
correctly, and that existing objects in the model could not be replaced using the
method since there
is no script with their original definition. For scenarios that use the setting this
to true is strongly recommended. Similarly if you wish to update existing objects in the model setting this to true may
be useful.
Note that there is a potentially significant performance cost involved in creating a scripted model. All
top level objects in the scope will be scripted out as strings
and then replaced with their scripted representations, after which the model will then have to fully resolve all
relationships. This will cause a one-time performance hit at the time the model is loaded.
Default value is false, since there is a performance hit involved in creating a script-backed model from a
non-scripted source
Usage properties include Table.RowCount, Table.IndexSize, Table.DataSize, Table.UsedPages and Table.DataPages.
When true, these properties are extracted from the database and are accessible in the model.
Options for loading a model from a data source such as a Dacpac file.
These options can be very important depending on the scenario. For instance
when running static code analysis using the it is strongly recommended that
the option be set to true, as many rules expect a fully scripted source and
may not operate as expected on a non script-backed model.
Constructs an instance of with the default options, which are
to use storage and to set
to be false.
Constructs an instance of with the specified options.
Value for the property
Value for the property
Constructs an instance of with the specified options.
Value for the property
Value for the property
Value for the property
Should the model be stored in memory or should a file-backed storage be used?
Should the model be loaded so that objects are backed up by scripted representations? In this case objects in the
scope will have a source name and source position information.
When loading from a Dacpac or any other non-scripted source the model will not have source information. This
means that when running static code analysis using the some rules may not work
correctly, and that existing objects in the model could not be replaced using the
method since there
is no script with their original definition. For scenarios that use the setting this
to true is strongly recommended. Similarly if you wish to update existing objects in the model setting this to true may
be useful.
Note that there is a potentially significant performance cost involved in creating a scripted model. All
top level objects in the scope will be scripted out as strings
and then replaced with their scripted representations, after which the model will then have to fully resolve all
relationships. This will cause a one-time performance hit at the time the model is loaded.
Default value is false, since there is a performance hit involved in creating a script-backed model from a
non-scripted source
Defines whether the model edit APIs throw a if there are any blocking errors present in the model.
When adding a new object or deleting/modifying existing objects in the model using API calls such as
, ,
and , the model throws signaling
the presence of model blocking errors. Model blocking errors indicates the presence of serious errors such as parser, interpreter and other errors in the objects.
Setting this option to false allows building the model even if it has such serious errors. Subsequently those objects with model errors can be retrieved using the
method.
When objects with model blocking errors are added to the model, the object is edited such that errant parts are removed or commented out in a
best effort manner to preserve the parts of the object that do not have errors. For instance a stored procedure that has a parser error in the procedure body
will have its body commented out before adding to the model. As a worst case the object is completely dropped while preserving the model errors.
Note that current implementation handles objects with model errors as follows
1) Sql procedures and views are added to the model with commented body.
2) Other object types are completely dropped while preserving the model errors.
The metadata class for metadata properties.
metadata classes provide access to the structure and instance data
within a TSqlSchemaModel instance.
Returns the metadata property value.
of the metadata property value.
instance to get the metadata property value from.
Metadata property value.
Metadata property name.
Data type of the metadata property.
Owning for the .
The metadata class for properties.
metadata classes provide access to the structure and instance data
within a TSqlSchemaModel instance.
Returns the property value.
of the property value.
instance to get the property value from.
Property value.
If the property value cannot be cast to .
Returns the default property value.
Note: for the default value may depend on the
being targeted. This method assumes the current default
version is being used. To get a default value based on a particular for a particular EngineVersion, please use
.
of the property value.
The to return the default value for.
Default value for specified .
If the property value cannot be cast to .
Returns the default property value.
Note: for the default value may depend on the
being targeted. This method assumes the current default
version is being used. To get a default value based on a particular for a particular EngineVersion, please use
.
The to return the default value for.
Default value for specified .
Returns if the value is the platform default value.
Note: for the default value may depend on the
being targeted. This method assumes the current default
version is being used. To validate the default value based on a particular for a particular EngineVersion, please use
.
instance to determine the default property value for.
The to determine the default value for.
True if the property is the platform default. Otherwise false.
If the supplied is not the owner of this property.
Returns the default property value.
Note: for the default value may depend on the
being targeted.
of the property value.
The to return the default value for.
Optional value for the engine version. This maps to the
property on a model.
Default value for specified .
If the property value cannot be cast to .
Returns the default property value.
The to return the default value for.
Optional value for the engine version. This maps to the property on a model.
Default value for specified .
Returns if the value is the platform default value.
instance to determine the default property value for.
The to determine the default value for.
Optional value for the engine version. This maps to the property on a model.
True if the property is the platform default. Otherwise false.
If the supplied is not the owner of this property.
Property name.
Data type of the property.
The versions on which this relationship is supported.
Owning for the property, where this
property is attached to a Type. Null if this property is on a
Owning for the property, where this
property is attached to a Relationship. Null if this property is on a
The metadata class for relationships.
metadata classes provide access to the structure and instance data
within a TSqlSchemaModel instance.
Relationship name.
Type of the relationship.
The of the referencing object for the relationship.
This represents the class of objects the relationship comes from
The versions on which this relationship is supported.
Properties for the relationship.
Represents a reference from one to another, which might be unresolved.
metadata classes provide access to the structure and instance data
within a TSqlModelSchema instance.
Retrieves properties for this relationship instance.
of the property value.
property to retrieve.
Property value.
If the supplied is not supported on this instance.
If the property type cannot be cast to T.
Retrieves properties for this relationship instance.
property to retrieve.
Property value.
If the supplied is not supported on this instance.
The this instance represents.
The this instance is from. This is the referencing object
This property returns null if the relationship is unresolved or refers to elements outside the current .
The this instance references. This is the referenced object.
This property returns null if the relationship is unresolved or refers to elements outside the current .
The representing the name of the referenced object.
The context boject to use for property lookup - if this isn't set then
is not supported on this . For internal use only
Retrieves properties for this relationship instance.
property to retrieve.
Property value.
If the supplied is not supported on this instance.
Model schema for TSqlModel
The ModelSchema has static state that is extremely useful when navigating a model's
contents. Under normal circumstances (use of ) the static state is indirectly initialized and clients
can use the state oblivious to how it has been initialized. In other heads (commandline / API / unit tests) it is possible
for the static state to be uninitialized prior to it's being used causing unexpected nulls and failures. When implementing
a new head that may directly use the ModelSchema prior to instantiating a TSqlModel call this method prior to
accessing any static state.
Gets the set of classes representing Views, Subroutines and Triggers. This is a common set of classes used during
analysis
The es representing view, subroutines and triggers
Gets the set of classes representing Subroutines. This is a common set of classes used during
analysis
The es representing subroutines
Gets the set of classes representing a potential source of columns. Tables, Views, Functions can all be
a source for this
The es representing view, subroutines and triggers
Instance of the model schema
Model type class for Column
Model type class for TableValuedFunction
Model type class for ScalarFunction
Model type class for ClrTableOption
Model type class for Aggregate
Model type class for ApplicationRole
Model type class for Index
Model type class for Assembly
Model type class for AssemblySource
Model type class for AsymmetricKey
Model type class for AuditAction
Model type class for AuditActionGroup
Model type class for AuditActionSpecification
Model type class for BrokerPriority
Model type class for BuiltInServerRole
Model type class for DataType
Model type class for Certificate
Model type class for CheckConstraint
Model type class for ClrTypeMethod
Model type class for ClrTypeMethodParameter
Model type class for ClrTypeProperty
Model type class for ColumnStoreIndex
Model type class for Contract
Model type class for Credential
Model type class for DatabaseCredential
Model type class for CryptographicProvider
Model type class for DatabaseAuditSpecification
Model type class for DatabaseDdlTrigger
Model type class for DatabaseEncryptionKey
Model type class for DatabaseEventNotification
Model type class for DatabaseMirroringLanguageSpecifier
Model type class for DatabaseOptions
Model type class for DataCompressionOption
Model type class for Default
Model type class for DefaultConstraint
Model type class for DmlTrigger
Model type class for Endpoint
Model type class for ErrorMessage
Model type class for EventGroup
Model type class for EventSession
Model type class for DatabaseEventSession
Model type class for EventSessionAction
Model type class for EventSessionDefinitions
Model type class for EventSessionSetting
Model type class for EventSessionTarget
Model type class for EventTypeSpecifier
Model type class for ExtendedProcedure
Model type class for ExtendedProperty
Model type class for ExternalDataSource
Model type class for ExternalFileFormat
Model type class for ExternalTable
Model type class for SqlFile
Model type class for Filegroup
Model type class for ForeignKeyConstraint
Model type class for FullTextCatalog
Model type class for FullTextIndex
Model type class for FullTextIndexColumnSpecifier
Model type class for FullTextStopList
Model type class for HttpProtocolSpecifier
Model type class for LinkedServer
Model type class for LinkedServerLogin
Model type class for Login
Model type class for MasterKey
Model type class for MessageType
Model type class for PartitionFunction
Model type class for PartitionScheme
Model type class for PartitionValue
Model type class for Permission
Model type class for PrimaryKeyConstraint
Model type class for Procedure
Model type class for Queue
Model type class for QueueEventNotification
Model type class for RemoteServiceBinding
Model type class for ResourceGovernor
Model type class for ResourcePool
Model type class for Role
Model type class for RoleMembership
Model type class for Route
Model type class for Rule
Model type class for Schema
Model type class for SearchProperty
Model type class for SearchPropertyList
Model type class for SecurityPolicy
Model type class for SecurityPredicate
Model type class for Sequence
Model type class for ServerAudit
Model type class for ServerAuditSpecification
Model type class for ServerDdlTrigger
Model type class for ServerEventNotification
Model type class for ServerOptions
Model type class for ServerRoleMembership
Model type class for Service
Model type class for ServiceBrokerLanguageSpecifier
Model type class for Signature
Model type class for SignatureEncryptionMechanism
Model type class for SoapLanguageSpecifier
Model type class for SoapMethodSpecification
Model type class for SpatialIndex
Model type class for Statistics
Model type class for Parameter
Model type class for SymmetricKey
Model type class for SymmetricKeyPassword
Model type class for Synonym
Model type class for Table
Model type class for FileTable
Model type class for TableType
Model type class for TableTypeCheckConstraint
Model type class for TableTypeColumn
Model type class for TableTypeDefaultConstraint
Model type class for TableTypeIndex
Model type class for TableTypePrimaryKeyConstraint
Model type class for TableTypeUniqueConstraint
Model type class for TcpProtocolSpecifier
Model type class for UniqueConstraint
Model type class for User
Model type class for UserDefinedServerRole
Model type class for UserDefinedType
Model type class for View
Model type class for WorkloadGroup
Model type class for XmlIndex
Model type class for SelectiveXmlIndex
Model type class for XmlNamespace
Model type class for PromotedNodePathForXQueryType
Model type class for PromotedNodePathForSqlType
Model type class for XmlSchemaCollection
Specifies the type of Column a TSqlObject represents
Column
ComputedColumn
ColumnSet
Specifies the type of TableTypeColumn a TSqlObject represents
Column
ComputedColumn
Specifies the type of Function a TSqlObject represents
InlineTableValuedFunction
MultiStatementTableValuedFunction
SQL Server built-in data types
Nothing was defined.
Integer (whole number) data from -2^63 (-9,223,372,036,854,775,808) through 2^63-1 (9,223,372,036,854,775,807).
Integer (whole number) data from -2^31 (-2,147,483,648) through 2^31 - 1 (2,147,483,647).
Integer data from -2^15 (-32,768) through 2^15 - 1 (32,767).
Integer data from 0 through 255.
Integer data with either a 1 or 0 value.
Fixed precision and scale numeric data from -10^38 +1 through 10^38 -1.
Functionally equivalent to decimal.
Monetary data values from -2^63 (-922,337,203,685,477.5808) through 2^63 - 1 (+922,337,203,685,477.5807), with accuracy to a ten-thousandth of a monetary unit.
Monetary data values from -214,748.3648 through +214,748.3647, with accuracy to a ten-thousandth of a monetary unit.
Floating precision number data with the following valid values: -1.79E + 308 through -2.23E - 308, 0 and 2.23E + 308 through 1.79E + 308.
Floating precision number data with the following valid values: -3.40E + 38 through -1.18E - 38, 0 and 1.18E - 38 through 3.40E + 38.
Date and time data from January 1, 1753, through December 31, 9999, with an accuracy of three-hundredths of a second, or 3.33 milliseconds.
Date and time data from January 1, 1900, through June 6, 2079, with an accuracy of one minute.
Fixed-length non-Unicode character data with a maximum length of 8,000 characters.
Variable-length non-Unicode data with a maximum of 8,000 characters.
Variable-length non-Unicode data with a maximum length of 2^31 - 1 (2,147,483,647) characters.
Fixed-length Unicode data with a maximum length of 4,000 characters.
Variable-length Unicode data with a maximum length of 4,000 characters. sysname is a system-supplied user-defined data type that is functionally equivalent to nvarchar(128) and is used to reference database object names.
Variable-length Unicode data with a maximum length of 2^30 - 1 (1,073,741,823) characters.
Fixed-length binary data with a maximum length of 8,000 bytes.
Variable-length binary data with a maximum length of 8,000 bytes.
Variable-length binary data with a maximum length of 2^31 - 1 (2,147,483,647) bytes.
A reference to a cursor.
A data type that stores values of various SQL Server-supported data types, except text, ntext, timestamp, and sql_variant.
A special data type used to store a result set for later processing.
A database-wide unique number that gets updated every time a row gets updated.
Is a 16-byte GUID
xml data type
Date-only
Time only
Combination of data and time types, better precision than DataTime
Same as DateTime2 with timezone offset added
(Alias for Timestamp) A database-wide unique number that gets updated every time a row gets updated.
Sql permissions
Unknown
Insert
Select
Update
Delete
References
CreateDatabase
CreateDefault
CreateFunction
CreateProcedure
CreateRule
CreateTable
CreateView
BackupDatabase
BackupLog
AdministerBulkOperations
Alter
AlterAnyApplicationRole
AlterAnyAssembly
AlterAnyAsymmetricKey
AlterAnyCertificate
AlterAnyConnection
AlterAnyContract
AlterAnyCredential
AlterAnyDatabase
AlterAnyDatabaseDdlTrigger
AlterAnyDatabaseEventNotification
AlterAnyDataspace
AlterAnyEndpoint
AlterAnyEventNotification
AlterAnyFulltextCatalog
AlterAnyLinkedServer
AlterAnyLogin
AlterAnyMessageType
AlterAnyRemoteServiceBinding
AlterAnyRole
AlterAnyRoute
AlterAnySchema
AlterAnyService
AlterAnySymmetricKey
AlterAnyUser
AlterResources
AlterServerState
AlterSettings
AlterTrace
Authenticate
AuthenticateServer
Checkpoint
Connect
ConnectReplication
ConnectSql
Control
ControlServer
CreateAggregate
CreateAnyDatabase
CreateAssembly
CreateAsymmetricKey
CreateCertificate
CreateContract
CreateDatabaseDdlEventNotification
CreateDdlEventNotification
CreateEndpoint
CreateFulltextCatalog
CreateMessageType
CreateQueue
CreateRemoteServiceBinding
CreateRole
CreateRoute
CreateSchema
CreateService
CreateSymmetricKey
CreateSynonym
CreateTraceEventNotification
CreateType
CreateXmlSchemaCollection
Execute
ExternalAccessAssembly
Impersonate
Receive
Send
Showplan
Shutdown
SubscribeQueryNotifications
TakeOwnership
UnsafeAssembly
ViewAnyDatabase
ViewAnyDefinition
ViewChangeTracking
ViewDatabaseState
ViewDefinition
ViewServerState
All
AlterAnyDatabaseAudit
AlterAnyServerAudit
CreateSequence
AlterAnyServerRole
CreateServerRole
CreateAvailabilityGroup
AlterAnyAvailabilityGroup
AlterAnyDatabaseEventSession
ConnectAnyDatabase
ImpersonateAnyLogin
SelectAllUserSecurables
AlterAnySecurityPolicy
AlterAnyColumnEncryptionKey
AlterAnyColumnMasterKey
Unmask
AlterAnyMask
ViewAnyColumnMasterKeyDefinition
ViewAnyColumnEncryptionKeyDefinition
AlterAnyExternalDataSource
AlterAnyExternalFileFormat
SQL Server 2005 authentication mode
None
Basic
Digest
Integrated
Ntlm
Kerberos
Negotiate
The types of lock escalation methods
Table
Disable
Auto
Possible character sets for SOAP endpoints
Unknown
Sql
Xml
Database mirroring role types for SQL Server 2005
Unknown
Witness
Partner
All
Database page verify mode for SQL Server 2005
Unknown
Checksum
TornPageDetection
None
Encryption mode for service broker endpoints
Unknown
Disabled
Supported
Required
Listening port types associated with an endpoint.
None
Clear
Ssl
Possible values for LOGIN_TYPE option in SOAP endpoint
Unknown
Mixed
Windows
Parameterization options for database
Unknown
Simple
Forced
Possible encryption algorithm options for service broker endpoints
Unknown
Aes
RC4
Possible service broker options for database
Unknown
EnableBroker
DisableBroker
NewBroker
ErrorBrokerConversations
Possible webmethod formats for SOAP endpoints
Unknown
AllResults
RowsetsOnly
None
Possible schema options for webmethods in SOAP endpoints
Unknown
None
Standard
Default
Possible permission sets for an assembly
Unknown
Safe
ExternalAccess
Unsafe
Algorithm for an asymmetric keys
Unknown
Rsa512
Rsa1024
Rsa2048
Algorithms used for symmetric keys
Unknown
Des
TripleDes
RC2
RC4
DesX
Aes128
Aes192
Aes256
RC4128
SQL Server audit action groups
None
SuccessfulLogin
Logout
ServerStateChange
FailedLogin
LoginChangePassword
ServerRoleMemberChange
ServerPrincipalImpersonation
ServerObjectOwnershipChange
DatabaseMirroringLogin
BrokerLogin
ServerPermissionChange
ServerObjectPermissionChange
ServerOperation
TraceChange
ServerObjectChange
ServerPrincipalChange
DatabasePermissionChange
SchemaObjectPermissionChange
DatabaseRoleMemberChange
ApplicationRoleChangePassword
SchemaObjectAccess
BackupRestore
Dbcc
AuditChange
DatabaseChange
DatabaseObjectChange
DatabasePrincipalChange
SchemaObjectChange
DatabasePrincipalImpersonation
DatabaseObjectOwnershipChange
DatabaseOwnershipChange
SchemaObjectOwnershipChange
DatabaseObjectPermissionChange
DatabaseOperation
DatabaseObjectAccess
SuccessfulDatabaseAuthenticationGroup
FailedDatabaseAuthenticationGroup
DatabaseLogoutGroup
UserChangePasswordGroup
UserDefinedAuditGroup
TransactionBegin
TransactionCommit
TransactionRollback
StatementRollback
TransactionGroup
SQL Server audit targets
File
ApplicationLog
SecurityLog
Change tracking options
Unknown
Auto
Manual
Off
Asymmetric key creation disposition
Unknown
CreateNew
OpenExisting
Database-level auditable action
Select
Update
Insert
Delete
Execute
Receive
References
Database recovery mode
Unknown
Simple
BulkLogged
Full
Database Delayed Durability mode
Disabled
Allowed
Forced
User access mode for the database
Multiple
Restricted
Single
Compression level for data
None
Row
Page
ColumnStore
ColumnStoreArchive
Grid density level in spatial index
None
Low
Medium
High
State of the endpoint
Unknown
Disabled
Started
Stopped
Sql event groups
Unknown
DdlApplicationRoleEvents
DdlAssemblyEvents
DdlAuthorizationDatabaseEvents
DdlAvailabilityGroupEvents
DdlCertificateEvents
DdlContractEvents
DdlDatabaseAuditEvents
DdlDatabaseLevelEvents
DdlDatabaseSecurityEvents
DdlEventNotificationEvents
DdlFunctionEvents
DdlGdrDatabaseEvents
DdlIndexEvents
DdlMessageTypeEvents
DdlPartitionEvents
DdlPartitionFunctionEvents
DdlPartitionSchemeEvents
DdlProcedureEvents
DdlQueueEvents
DdlRemoteServiceBindingEvents
DdlRoleEvents
DdlRouteEvents
DdlSchemaEvents
DdlSecurityPolicyEvents
DdlColumnMasterKeyEvents
DdlColumnEncryptionKeyEvents
DdlExternalResourcePoolEvents
DdlExternalLibraryEvents
DdlSensitivityEvents
DdlExternalLanguageEvents
DdlServiceEvents
DdlSsbEvents
DdlStatisticsEvents
DdlSynonymEvents
DdlTableEvents
DdlTableViewEvents
DdlTriggerEvents
DdlTypeEvents
DdlUserEvents
DdlViewEvents
DdlXmlSchemaCollectionEvents
DdlAuthorizationServerEvents
DdlEndpointEvents
DdlEvents
DdlGdrServerEvents
DdlLoginEvents
DdlServerLevelEvents
DdlServerSecurityEvents
DdlAsymmetricKeyEvents
DdlBrokerPriorityEvents
DdlCryptoSignatureEvents
DdlDatabaseAuditSpecificationEvents
DdlDatabaseEncryptionKeyEvents
DdlDefaultEvents
DdlExtendedPropertyEvents
DdlFullTextCatalogEvents
DdlFullTextStopListEvents
DdlMasterKeyEvents
DdlPlanGuideEvents
DdlRuleEvents
DdlSearchPropertyListEvents
DdlSequenceEvents
DdlSymmetricKeyEvents
DdlCredentialEvents
DdlDatabaseEvents
DdlCryptographicProviderEvents
DdlEventSessionEvents
DdlExtendedProcedureEvents
DdlLinkedServerEvents
DdlLinkedServerLoginEvents
DdlMessageEvents
DdlRemoteServerEvents
DdlResourceGovernorEvents
DdlResourcePool
DdlServerAuditEvents
DdlServerAuditSpecificationEvents
DdlServiceMasterKeyEvents
DdlWorkloadGroup
TrcClr
TrcDatabase
TrcDeprecation
TrcErrorsAndWarnings
TrcFullText
TrcLocks
TrcObjects
TrcOledb
TrcPerformance
TrcQueryNotifications
TrcSecurityAudit
TrcServer
TrcStoredProcedures
TrcTSql
TrcUserConfigurable
TrcAllEvents
Sql Server event types
Unknown
AddRoleMember
AlterApplicationRole
AlterAssembly
AlterAuthorizationDatabase
AlterAvailabilityGroup
AlterCertificate
AlterColumnEncryptionKey
AlterDatabaseAudit
AlterFunction
AlterIndex
AlterMessageType
AlterPartitionFunction
AlterPartitionScheme
AlterProcedure
AlterQueue
AlterRemoteServiceBinding
AlterRole
AlterRoute
AlterSchema
AlterSecurityPolicy
AlterService
AlterTable
AlterTrigger
AlterUser
AlterView
AlterXmlSchemaCollection
CreateApplicationRole
CreateAssembly
CreateAvailabilityGroup
CreateCertificate
CreateContract
CreateColumnEncryptionKey
CreateColumnMasterKey
CreateDatabaseAudit
CreateEventNotification
CreateFunction
CreateIndex
CreateMessageType
CreatePartitionFunction
CreatePartitionScheme
CreateProcedure
CreateQueue
CreateRemoteServiceBinding
CreateRole
CreateRoute
CreateSchema
CreateSecurityPolicy
CreateService
CreateStatistics
CreateSynonym
CreateTable
CreateTrigger
CreateType
CreateUser
CreateView
CreateXmlIndex
CreateXmlSchemaCollection
DenyDatabase
DropApplicationRole
DropAvailabilityGroup
DropAssembly
DropCertificate
DropColumnEncryptionKey
AlterDatabaseScopedConfiguration
CreateExternalResourcePool
AlterExternalResourcePool
DropExternalResourcePool
CreateExternalLibrary
AlterExternalLibrary
DropExternalLibrary
AddSensitivityClassification
DropSensitivityClassification
CreateExternalLanguage
AlterExternalLanguage
DropExternalLanguage
DropColumnMasterKey
DropContract
DropDatabaseAudit
DropEventNotification
DropFunction
DropIndex
DropMessageType
DropPartitionFunction
DropPartitionScheme
DropProcedure
DropQueue
DropRemoteServiceBinding
DropRole
DropRoleMember
DropRoute
DropSchema
DropSecurityPolicy
DropService
DropStatistics
DropSynonym
DropTable
DropTrigger
DropType
DropUser
DropView
DropXmlSchemaCollection
GrantDatabase
RevokeDatabase
UpdateStatistics
AddServerRoleMember
AlterAuthorizationServer
AlterDatabase
AlterEndpoint
AlterLogin
CreateDatabase
CreateEndpoint
CreateLogin
DenyServer
DropDatabase
DropEndpoint
DropLogin
DropServerRoleMember
GrantServer
RevokeServer
AddSignature
AddSignatureSchemaObject
AlterAsymmetricKey
AlterBrokerPriority
AlterDatabaseAuditSpecification
AlterDatabaseEncryptionKey
AlterExtendedProperty
AlterFullTextCatalog
AlterFullTextIndex
AlterFullTextStopList
AlterMasterKey
AlterPlanGuide
AlterSymmetricKey
BindDefault
BindRule
CreateAsymmetricKey
CreateBrokerPriority
CreateDatabaseAuditSpecification
CreateDatabaseEncryptionKey
CreateDefault
CreateExtendedProperty
CreateFullTextCatalog
CreateFullTextIndex
CreateFullTextStopList
CreateMasterKey
CreatePlanGuide
CreateRule
CreateSpatialIndex
CreateSymmetricKey
DropAsymmetricKey
DropBrokerPriority
DropDatabaseAuditSpecification
DropDatabaseEncryptionKey
DropDefault
DropExtendedProperty
DropFullTextCatalog
DropFullTextIndex
DropFullTextStopList
DropMasterKey
DropPlanGuide
DropRule
DropSignature
DropSignatureSchemaObject
DropSymmetricKey
Rename
UnbindDefault
UnbindRule
AlterCredential
AlterCryptographicProvider
AlterEventSession
AlterInstance
AlterLinkedServer
AlterMessage
AlterRemoteServer
AlterResourceGovernorConfig
AlterResourcePool
AlterServerAudit
AlterServerAuditSpecification
AlterServiceMasterKey
AlterWorkloadGroup
CreateCredential
CreateCryptographicProvider
CreateEventSession
CreateExtendedProcedure
CreateLinkedServer
CreateLinkedServerLogin
CreateMessage
CreateRemoteServer
CreateResourcePool
CreateServerAudit
CreateServerAuditSpecification
CreateWorkloadGroup
DropCredential
DropCryptographicProvider
DropEventSession
DropExtendedProcedure
DropLinkedServer
DropLinkedServerLogin
DropMessage
DropRemoteServer
DropResourcePool
DropServerAudit
DropServerAuditSpecification
DropWorkloadGroup
AssemblyLoad
AuditAddDbUserEvent
AuditAddLoginEvent
AuditAddLoginToServerRoleEvent
AuditAddMemberToDbRoleEvent
AuditAddRoleEvent
AuditAppRoleChangePasswordEvent
AuditBackupRestoreEvent
AuditChangeAuditEvent
AuditChangeDatabaseOwner
AuditDatabaseManagementEvent
AuditDatabaseObjectAccessEvent
AuditDatabaseObjectGdrEvent
AuditDatabaseObjectManagementEvent
AuditDatabaseObjectTakeOwnershipEvent
AuditDatabaseOperationEvent
AuditDatabasePrincipalImpersonationEvent
AuditDatabasePrincipalManagementEvent
AuditDatabaseScopeGdrEvent
AuditDbccEvent
AuditLogin
AuditLoginChangePasswordEvent
AuditLoginChangePropertyEvent
AuditLoginFailed
AuditLoginGdrEvent
AuditLogout
AuditSchemaObjectAccessEvent
AuditSchemaObjectGdrEvent
AuditSchemaObjectManagementEvent
AuditSchemaObjectTakeOwnershipEvent
AuditServerAlterTraceEvent
AuditServerObjectGdrEvent
AuditServerObjectManagementEvent
AuditServerObjectTakeOwnershipEvent
AuditServerOperationEvent
AuditServerPrincipalImpersonationEvent
AuditServerPrincipalManagementEvent
AuditServerScopeGdrEvent
BlockedProcessReport
BrokerQueueDisabled
DataFileAutoGrow
DataFileAutoShrink
DatabaseMirroringStateChange
DeadlockGraph
DeprecationAnnouncement
DeprecationFinalSupport
ErrorLog
EventLog
Exception
ExchangeSpillEvent
ExecutionWarnings
FtCrawlAborted
FtCrawlStarted
FtCrawlStopped
HashWarning
LockDeadlock
LockDeadlockChain
LockEscalation
LogFileAutoGrow
LogFileAutoShrink
MissingColumnStatistics
MissingJoinPredicate
MountTape
ObjectAltered
ObjectCreated
ObjectDeleted
OledbCallEvent
OledbDataReadEvent
OledbErrors
OledbProviderInformation
OledbQueryInterfaceEvent
QnDynamics
QnParameterTable
QnSubscription
QnTemplate
QueueActivation
ServerMemoryChange
ShowPlanAllForQueryCompile
ShowPlanXmlForQueryCompile
ShowPlanXml
ShowPlanXmlStatisticsProfile
SortWarnings
SpCacheInsert
SpCacheMiss
SpCacheRemove
SpRecompile
SqlStmtRecompile
TraceFileClose
UserErrorMessage
UserConfigurable0
UserConfigurable1
UserConfigurable2
UserConfigurable3
UserConfigurable4
UserConfigurable5
UserConfigurable6
UserConfigurable7
UserConfigurable8
UserConfigurable9
XQueryStaticType
AuditFullText
BitmapWarning
CpuThresholdExceeded
DatabaseSuspectDataPage
CreateSequence
AlterSequence
DropSequence
CreateServerRole
AlterServerRole
DropServerRole
AlterServerConfiguration
CreateSearchPropertyList
AlterSearchPropertyList
DropSearchPropertyList
External data source type options
Hadoop
RDBMS
ShardMapManager
BlobStorage
External file format type options.
DelimitedText
RcFile
Orc
Parquet
External table reject type options.
Value
Percentage
Memory partion mode for event session
None
PerNode
PerCpu
Event retention mode for event session
AllowSingleEventLoss
AllowMultipleEventLoss
NoEventLoss
Actions taken when a key to which existing foreign key points is updated or deleted
NoAction
Cascade
SetNull
SetDefault
Grid tessellation in spatial index
None
Geometry
Geography
AutoGeometry
AutoGeography
SQL login encryption options
Encrypt
AlreadyEncrypted
AlreadyEncryptedOld
Memory units for use in SQL models
Unspecified
Percent
Bytes
KB
MB
GB
TB
PB
EB
Specifies message sender type
Unknown
Initiator
Target
Any
Specifies message validation method
Unknown
None
Empty
WellFormedXml
ValidXml
Specifies to which side of interval, left or right, the boundary value belongs
Unknown
Left
Right
Payload types for endpoints
Unknown
Soap
TSql
ServiceBroker
DatabaseMirroring
SQL permission action types
Grant
Deny
Types of secondary XML index
Unknown
Path
Property
Value
Protocol types for endpoints
Unknown
Http
Tcp
Describes the unit for retention period.
Unknown
Seconds
Days
Hours
Minutes
Sampling styles used to create statistics
Automatic
Fullscan
SamplePercentRows
SampleAbsoluteRows
Trigger oder restriction types
None
IsFirst
IsLast
Trigger types
Unknown
For
After
InsteadOf
Database user Authentication type
User without a login, Application Role, Database Role, Certificate mapped user or Asymmetric key mapped user
User with login
User with a password
Windows user with login, Windows user without a login or Windows group
User supplied by an external authentication provider (e.g. Azure Active Directory).
XML data type style
Unknown
Content
Document
Database Containment types
None
Partial
Action type for audit failure
Continue
Shutdown
FailOperation
FILESTREAM non-transactional access option values
Off
ReadOnly
Full
Durability of a table
Table is durable.
Table is non-durable.
Scope of the event session
Server
Database
Column system-versioned generated always type
Column is not a generated always type of column.
Column has a type of 'generated always as row start'.
Column has a type of 'generated always as row end'.
User type (for use with Azure active directory users).
No specified Azure active directory user type.
An Azure active directory user.
An Azure active directory group.
The operation to which a security predicate applies
All
AfterInsert
AfterUpdate
BeforeUpdate
BeforeDelete
The type of the security predicate
Filter
Block
Query Store SIZE_BASED_CLEANUP_MODE option values
Query Store captures all queries. This is the default configuration value
Query Store captures relevant queries based on execution count and resource consumption.
Query Store does not capture new queries.
Query Store Operation Mode/Desired State option values
Query Store feature is OFF.
Query Store does not record new data.
Query store records new data.
Catalog collation types
Database_Default
Latin1_General_100_CI_AS_KS_WS_SC
SQL_Latin1_General_CP1_CI_AS
Model schema container class for Column
Type class for Column
ColumnType metadata class of Column
Collation property class of Column
IsIdentityNotForReplication property class of Column
Nullable property class of Column
IsRowGuidCol property class of Column
Sparse property class of Column
Expression property class of Column
Persisted property class of Column
PersistedNullable property class of Column
Scale property class of Column
Precision property class of Column
Length property class of Column
IsMax property class of Column
XmlStyle property class of Column
EncryptionAlgorithmName property class of Column
EncryptionType property class of Column
GeneratedAlwaysType property class of Column
GraphType property class of Column
IdentityIncrement property class of Column
IdentitySeed property class of Column
IsFileStream property class of Column
IsHidden property class of Column
IsIdentity property class of Column
IsPseudoColumn property class of Column
MaskingFunction property class of Column
ExpressionDependencies relationship class of Column
XmlSchemaCollection relationship class of Column
DataType relationship class of Column
ColumnEncryptionKey relationship class of Column
Model schema container class for TableValuedFunction
Type class for TableValuedFunction
FunctionType metadata class of TableValuedFunction
ReturnsNullOnNullInput property class of TableValuedFunction
AnsiNullsOn property class of TableValuedFunction
CalledOnNullInput property class of TableValuedFunction
ExecuteAsCaller property class of TableValuedFunction
WithEncryption property class of TableValuedFunction
ExecuteAsOwner property class of TableValuedFunction
QuotedIdentifierOn property class of TableValuedFunction
WithSchemaBinding property class of TableValuedFunction
ExecuteAsSelf property class of TableValuedFunction
ReturnTableVariableName property class of TableValuedFunction
ClassName property class of TableValuedFunction
DataAccess property class of TableValuedFunction
FillRowMethodName property class of TableValuedFunction
Deterministic property class of TableValuedFunction
Precise property class of TableValuedFunction
MethodName property class of TableValuedFunction
SystemDataAccess property class of TableValuedFunction
IsNativeCompiled property class of TableValuedFunction
IsReplicated property class of TableValuedFunction
Assembly relationship class of TableValuedFunction
TableOption relationship class of TableValuedFunction
ReturnType relationship class of TableValuedFunction
BodyDependencies relationship class of TableValuedFunction
Columns relationship class of TableValuedFunction
Login relationship class of TableValuedFunction
Parameters relationship class of TableValuedFunction
Schema relationship class of TableValuedFunction
User relationship class of TableValuedFunction
Model schema container class for ScalarFunction
Type class for ScalarFunction
ReturnsNullOnNullInput property class of ScalarFunction
AnsiNullsOn property class of ScalarFunction
CalledOnNullInput property class of ScalarFunction
ExecuteAsCaller property class of ScalarFunction
WithEncryption property class of ScalarFunction
ExecuteAsOwner property class of ScalarFunction
QuotedIdentifierOn property class of ScalarFunction
WithSchemaBinding property class of ScalarFunction
ExecuteAsSelf property class of ScalarFunction
ClassName property class of ScalarFunction
DataAccess property class of ScalarFunction
FillRowMethodName property class of ScalarFunction
Deterministic property class of ScalarFunction
Precise property class of ScalarFunction
MethodName property class of ScalarFunction
SystemDataAccess property class of ScalarFunction
IsInline property class of ScalarFunction
IsInlineable property class of ScalarFunction
IsNativeCompiled property class of ScalarFunction
IsReplicated property class of ScalarFunction
Assembly relationship class of ScalarFunction
ReturnType relationship class of ScalarFunction
BodyDependencies relationship class of ScalarFunction
Login relationship class of ScalarFunction
Parameters relationship class of ScalarFunction
Schema relationship class of ScalarFunction
User relationship class of ScalarFunction
Model schema container class for ClrTableOption
Type class for ClrTableOption
ClassName property class of ClrTableOption
OrderColumns relationship class of ClrTableOption
Model schema container class for OrderColumnsRelationship
Relationship class for OrderColumnsRelationship
Ascending property class of OrderColumnsRelationship
Model schema container class for Aggregate
Type class for Aggregate
InvariantToDuplicates property class of Aggregate
InvariantToNulls property class of Aggregate
NullIfEmpty property class of Aggregate
ClassName property class of Aggregate
Format property class of Aggregate
MaxByteSize property class of Aggregate
ReturnType relationship class of Aggregate
Assembly relationship class of Aggregate
Parameters relationship class of Aggregate
Schema relationship class of Aggregate
Model schema container class for ApplicationRole
Type class for ApplicationRole
Password property class of ApplicationRole
DefaultSchema relationship class of ApplicationRole
Model schema container class for Index
Type class for Index
AllowPageLocks property class of Index
AllowRowLocks property class of Index
IgnoreDuplicateKey property class of Index
RecomputeStatistics property class of Index
IncrementalStatistics property class of Index
Clustered property class of Index
Disabled property class of Index
FileStreamNull property class of Index
WithPadIndex property class of Index
Unique property class of Index
FilterPredicate property class of Index
Hash property class of Index
BucketCount property class of Index
FillFactor property class of Index
Columns relationship class of Index
BodyDependencies relationship class of Index
DataCompressionOptions relationship class of Index
Filegroup relationship class of Index
FileStreamFilegroup relationship class of Index
FileStreamPartitionScheme relationship class of Index
IncludedColumns relationship class of Index
IndexedObject relationship class of Index
PartitionColumn relationship class of Index
PartitionScheme relationship class of Index
Model schema container class for ColumnsRelationship
Relationship class for ColumnsRelationship
Ascending property class of ColumnsRelationship
Model schema container class for Assembly
Type class for Assembly
Visible property class of Assembly
PermissionSet property class of Assembly
AssemblySources relationship class of Assembly
Authorizer relationship class of Assembly
ReferencedAssemblies relationship class of Assembly
Model schema container class for AssemblySource
Type class for AssemblySource
Source property class of AssemblySource
Model schema container class for AsymmetricKey
Type class for AsymmetricKey
Password property class of AsymmetricKey
EncryptedWithPassword property class of AsymmetricKey
Algorithm property class of AsymmetricKey
CreationDisposition property class of AsymmetricKey
ExecutableFile property class of AsymmetricKey
File property class of AsymmetricKey
ProviderKeyName property class of AsymmetricKey
Assembly relationship class of AsymmetricKey
Authorizer relationship class of AsymmetricKey
Provider relationship class of AsymmetricKey
Model schema container class for AuditAction
Type class for AuditAction
Action property class of AuditAction
Model schema container class for AuditActionGroup
Type class for AuditActionGroup
ActionGroup property class of AuditActionGroup
Model schema container class for AuditActionSpecification
Type class for AuditActionSpecification
AuditsDatabase property class of AuditActionSpecification
AuditActions relationship class of AuditActionSpecification
Principals relationship class of AuditActionSpecification
SecuredObject relationship class of AuditActionSpecification
Model schema container class for BrokerPriority
Type class for BrokerPriority
RemoteServiceName property class of BrokerPriority
PriorityLevel property class of BrokerPriority
ContractName relationship class of BrokerPriority
LocalServiceName relationship class of BrokerPriority
Model schema container class for BuiltInServerRole
Type class for BuiltInServerRole
Model schema container class for DataType
Type class for DataType
UddtNullable property class of DataType
UddtIsMax property class of DataType
UddtLength property class of DataType
UddtPrecision property class of DataType
UddtScale property class of DataType
SqlDataType property class of DataType
Schema relationship class of DataType
Type relationship class of DataType
Model schema container class for Certificate
Type class for Certificate
ActiveForBeginDialog property class of Certificate
EncryptedWithPassword property class of Certificate
EncryptionPassword property class of Certificate
ExpiryDate property class of Certificate
StartDate property class of Certificate
Subject property class of Certificate
PrivateKeyFilePath property class of Certificate
ExistingKeysFilePath property class of Certificate
IsExistingKeyFileExecutable property class of Certificate
PrivateKeyDecryptionPassword property class of Certificate
PrivateKeyEncryptionPassword property class of Certificate
Authorizer relationship class of Certificate
ExistingKeysAssembly relationship class of Certificate
Model schema container class for CheckConstraint
Type class for CheckConstraint
Expression property class of CheckConstraint
Disabled property class of CheckConstraint
NotForReplication property class of CheckConstraint
ExpressionDependencies relationship class of CheckConstraint
Host relationship class of CheckConstraint
Model schema container class for ClrTypeMethod
Type class for ClrTypeMethod
Name property class of ClrTypeMethod
Parameters relationship class of ClrTypeMethod
ReturnType relationship class of ClrTypeMethod
Model schema container class for ClrTypeMethodParameter
Type class for ClrTypeMethodParameter
Name property class of ClrTypeMethodParameter
IsOutput property class of ClrTypeMethodParameter
DataType relationship class of ClrTypeMethodParameter
Model schema container class for ClrTypeProperty
Type class for ClrTypeProperty
Name property class of ClrTypeProperty
ClrType relationship class of ClrTypeProperty
Model schema container class for ColumnStoreIndex
Type class for ColumnStoreIndex
Disabled property class of ColumnStoreIndex
Clustered property class of ColumnStoreIndex
FilterPredicate property class of ColumnStoreIndex
CompressionDelay property class of ColumnStoreIndex
Columns relationship class of ColumnStoreIndex
BodyDependencies relationship class of ColumnStoreIndex
DataCompressionOptions relationship class of ColumnStoreIndex
Filegroup relationship class of ColumnStoreIndex
IndexedObject relationship class of ColumnStoreIndex
PartitionColumn relationship class of ColumnStoreIndex
PartitionScheme relationship class of ColumnStoreIndex
Model schema container class for ColumnsRelationship
Relationship class for ColumnsRelationship
Ascending property class of ColumnsRelationship
Model schema container class for Contract
Type class for Contract
Messages relationship class of Contract
Authorizer relationship class of Contract
Model schema container class for MessagesRelationship
Relationship class for MessagesRelationship
Default property class of MessagesRelationship
SentBy property class of MessagesRelationship
Model schema container class for Credential
Type class for Credential
Identity property class of Credential
Secret property class of Credential
CryptographicProvider relationship class of Credential
Model schema container class for DatabaseCredential
Type class for DatabaseCredential
Identity property class of DatabaseCredential
Secret property class of DatabaseCredential
Model schema container class for CryptographicProvider
Type class for CryptographicProvider
DllPath property class of CryptographicProvider
Enabled property class of CryptographicProvider
Model schema container class for DatabaseAuditSpecification
Type class for DatabaseAuditSpecification
WithState property class of DatabaseAuditSpecification
AuditActionGroups relationship class of DatabaseAuditSpecification
AuditActions relationship class of DatabaseAuditSpecification
ServerAudit relationship class of DatabaseAuditSpecification
Model schema container class for DatabaseDdlTrigger
Type class for DatabaseDdlTrigger
AnsiNullsOn property class of DatabaseDdlTrigger
ExecuteAsCaller property class of DatabaseDdlTrigger
Disabled property class of DatabaseDdlTrigger
WithEncryption property class of DatabaseDdlTrigger
ExecuteAsOwner property class of DatabaseDdlTrigger
QuotedIdentifierOn property class of DatabaseDdlTrigger
ExecuteAsSelf property class of DatabaseDdlTrigger
TriggerType property class of DatabaseDdlTrigger
ClassName property class of DatabaseDdlTrigger
MethodName property class of DatabaseDdlTrigger
Assembly relationship class of DatabaseDdlTrigger
BodyDependencies relationship class of DatabaseDdlTrigger
EventGroup relationship class of DatabaseDdlTrigger
EventType relationship class of DatabaseDdlTrigger
Login relationship class of DatabaseDdlTrigger
User relationship class of DatabaseDdlTrigger
Model schema container class for DatabaseEncryptionKey
Type class for DatabaseEncryptionKey
Algorithm property class of DatabaseEncryptionKey
Certificate relationship class of DatabaseEncryptionKey
AsymmetricKey relationship class of DatabaseEncryptionKey
Model schema container class for DatabaseEventNotification
Type class for DatabaseEventNotification
WithFanIn property class of DatabaseEventNotification
BrokerService property class of DatabaseEventNotification
BrokerInstanceSpecifier property class of DatabaseEventNotification
EventGroup relationship class of DatabaseEventNotification
EventType relationship class of DatabaseEventNotification
Model schema container class for DatabaseMirroringLanguageSpecifier
Type class for DatabaseMirroringLanguageSpecifier
WindowsAuthenticationMode property class of DatabaseMirroringLanguageSpecifier
UseCertificateFirst property class of DatabaseMirroringLanguageSpecifier
EncryptionAlgorithmPart1 property class of DatabaseMirroringLanguageSpecifier
EncryptionAlgorithmPart2 property class of DatabaseMirroringLanguageSpecifier
EncryptionMode property class of DatabaseMirroringLanguageSpecifier
RoleType property class of DatabaseMirroringLanguageSpecifier
AuthenticationCertificate relationship class of DatabaseMirroringLanguageSpecifier
Model schema container class for DatabaseOptions
Type class for DatabaseOptions
CompatibilityLevel property class of DatabaseOptions
AllowSnapshotIsolation property class of DatabaseOptions
AnsiNullDefaultOn property class of DatabaseOptions
AnsiNullsOn property class of DatabaseOptions
AnsiPaddingOn property class of DatabaseOptions
AnsiWarningsOn property class of DatabaseOptions
ArithAbortOn property class of DatabaseOptions
AutoClose property class of DatabaseOptions
AutoCreateStatistics property class of DatabaseOptions
AutoCreateStatisticsIncremental property class of DatabaseOptions
AutoShrink property class of DatabaseOptions
AutoUpdateStatisticsAsync property class of DatabaseOptions
AutoUpdateStatistics property class of DatabaseOptions
HonorBrokerPriority property class of DatabaseOptions
ChangeTrackingAutoCleanup property class of DatabaseOptions
ChangeTrackingEnabled property class of DatabaseOptions
ConcatNullYieldsNull property class of DatabaseOptions
CursorCloseOnCommit property class of DatabaseOptions
CursorDefaultGlobalScope property class of DatabaseOptions
DateCorrelationOptimizationOn property class of DatabaseOptions
DBChainingOn property class of DatabaseOptions
WithEncryption property class of DatabaseOptions
FullTextEnabled property class of DatabaseOptions
NestedTriggersOn property class of DatabaseOptions
NumericRoundAbortOn property class of DatabaseOptions
DatabaseStateOffline property class of DatabaseOptions
QuotedIdentifierOn property class of DatabaseOptions
TransactionIsolationReadCommittedSnapshot property class of DatabaseOptions
ReadOnly property class of DatabaseOptions
RecursiveTriggersOn property class of DatabaseOptions
SupplementalLoggingOn property class of DatabaseOptions
TornPageProtectionOn property class of DatabaseOptions
TransformNoiseWords property class of DatabaseOptions
Trustworthy property class of DatabaseOptions
VardecimalStorageFormatOn property class of DatabaseOptions
UserAccessOption property class of DatabaseOptions
DelayedDurabilityMode property class of DatabaseOptions
MemoryOptimizedElevateToSnapshot property class of DatabaseOptions
CatalogCollation property class of DatabaseOptions
ChangeTrackingRetentionPeriod property class of DatabaseOptions
ChangeTrackingRetentionUnit property class of DatabaseOptions
Collation property class of DatabaseOptions
Containment property class of DatabaseOptions
DefaultFullTextLanguage property class of DatabaseOptions
DefaultLanguage property class of DatabaseOptions
FileStreamDirectoryName property class of DatabaseOptions
LegacyCardinalityEstimation property class of DatabaseOptions
LegacyCardinalityEstimationForSecondary property class of DatabaseOptions
MaxDop property class of DatabaseOptions
MaxDopForSecondary property class of DatabaseOptions
NonTransactedFileStreamAccess property class of DatabaseOptions
PageVerifyMode property class of DatabaseOptions
ParameterizationOption property class of DatabaseOptions
ParameterSniffing property class of DatabaseOptions
ParameterSniffingForSecondary property class of DatabaseOptions
QueryOptimizerHotfixes property class of DatabaseOptions
QueryOptimizerHotfixesForSecondary property class of DatabaseOptions
QueryStoreCaptureMode property class of DatabaseOptions
QueryStoreDesiredState property class of DatabaseOptions
QueryStoreFlushInterval property class of DatabaseOptions
QueryStoreIntervalLength property class of DatabaseOptions
QueryStoreMaxPlansPerQuery property class of DatabaseOptions
QueryStoreMaxStorageSize property class of DatabaseOptions
QueryStoreStaleQueryThreshold property class of DatabaseOptions
RecoveryMode property class of DatabaseOptions
RemoteDataEnabled property class of DatabaseOptions
ServiceBrokerOption property class of DatabaseOptions
TargetRecoveryTimePeriod property class of DatabaseOptions
TargetRecoveryTimeUnit property class of DatabaseOptions
TemporalHistoryRetentionEnabled property class of DatabaseOptions
TwoDigitYearCutoff property class of DatabaseOptions
DefaultFilegroup relationship class of DatabaseOptions
DefaultFileStreamFilegroup relationship class of DatabaseOptions
GenericDatabaseScopedConfigurationOptions relationship class of DatabaseOptions
Model schema container class for DataCompressionOption
Type class for DataCompressionOption
CompressionLevel property class of DataCompressionOption
PartitionNumber property class of DataCompressionOption
Model schema container class for Default
Type class for Default
Expression property class of Default
BoundObjects relationship class of Default
Schema relationship class of Default
Model schema container class for DefaultConstraint
Type class for DefaultConstraint
Expression property class of DefaultConstraint
Disabled property class of DefaultConstraint
WithValues property class of DefaultConstraint
Host relationship class of DefaultConstraint
TargetColumn relationship class of DefaultConstraint
ExpressionDependencies relationship class of DefaultConstraint
Model schema container class for DmlTrigger
Type class for DmlTrigger
AnsiNullsOn property class of DmlTrigger
ExecuteAsCaller property class of DmlTrigger
Disabled property class of DmlTrigger
WithEncryption property class of DmlTrigger
NotForReplication property class of DmlTrigger
ExecuteAsOwner property class of DmlTrigger
QuotedIdentifierOn property class of DmlTrigger
ExecuteAsSelf property class of DmlTrigger
WithAppend property class of DmlTrigger
TriggerType property class of DmlTrigger
ClassName property class of DmlTrigger
DeleteOrderRestriction property class of DmlTrigger
InsertOrderRestriction property class of DmlTrigger
IsDeleteTrigger property class of DmlTrigger
IsInsertTrigger property class of DmlTrigger
IsNativeCompiled property class of DmlTrigger
IsSchemaBound property class of DmlTrigger
IsUpdateTrigger property class of DmlTrigger
MethodName property class of DmlTrigger
UpdateOrderRestriction property class of DmlTrigger
TriggerObject relationship class of DmlTrigger
Assembly relationship class of DmlTrigger
BodyDependencies relationship class of DmlTrigger
Login relationship class of DmlTrigger
User relationship class of DmlTrigger
Model schema container class for Endpoint
Type class for Endpoint
Payload property class of Endpoint
Protocol property class of Endpoint
State property class of Endpoint
Authorizer relationship class of Endpoint
PayloadSpecifier relationship class of Endpoint
ProtocolSpecifier relationship class of Endpoint
Model schema container class for ErrorMessage
Type class for ErrorMessage
WithLog property class of ErrorMessage
Language property class of ErrorMessage
MessageNumber property class of ErrorMessage
MessageText property class of ErrorMessage
Severity property class of ErrorMessage
Model schema container class for EventGroup
Type class for EventGroup
Group property class of EventGroup
Model schema container class for EventSession
Type class for EventSession
StartupState property class of EventSession
TrackCausality property class of EventSession
MaxDispatchLatency property class of EventSession
MaxEventSizeUnit property class of EventSession
MaxMemoryUnit property class of EventSession
EventRetentionMode property class of EventSession
MaxEventSize property class of EventSession
MaxMemory property class of EventSession
MemoryPartitionMode property class of EventSession
SessionScope property class of EventSession
EventDefinitions relationship class of EventSession
EventTargets relationship class of EventSession
Model schema container class for DatabaseEventSession
Type class for DatabaseEventSession
StartupState property class of DatabaseEventSession
TrackCausality property class of DatabaseEventSession
MaxDispatchLatency property class of DatabaseEventSession
MaxEventSizeUnit property class of DatabaseEventSession
MaxMemoryUnit property class of DatabaseEventSession
EventRetentionMode property class of DatabaseEventSession
MaxEventSize property class of DatabaseEventSession
MaxMemory property class of DatabaseEventSession
MemoryPartitionMode property class of DatabaseEventSession
SessionScope property class of DatabaseEventSession
EventDefinitions relationship class of DatabaseEventSession
EventTargets relationship class of DatabaseEventSession
Model schema container class for EventSessionAction
Type class for EventSessionAction
ActionName property class of EventSessionAction
EventModuleGuid property class of EventSessionAction
EventPackageName property class of EventSessionAction
Model schema container class for EventSessionDefinitions
Type class for EventSessionDefinitions
WhereExpression property class of EventSessionDefinitions
EventModuleGuid property class of EventSessionDefinitions
EventName property class of EventSessionDefinitions
EventPackageName property class of EventSessionDefinitions
Actions relationship class of EventSessionDefinitions
AttributeSettings relationship class of EventSessionDefinitions
Model schema container class for EventSessionSetting
Type class for EventSessionSetting
SettingValue property class of EventSessionSetting
SettingName property class of EventSessionSetting
Model schema container class for EventSessionTarget
Type class for EventSessionTarget
EventModuleGuid property class of EventSessionTarget
EventPackageName property class of EventSessionTarget
TargetName property class of EventSessionTarget
ParameterSettings relationship class of EventSessionTarget
Model schema container class for EventTypeSpecifier
Type class for EventTypeSpecifier
EventType property class of EventTypeSpecifier
Order property class of EventTypeSpecifier
Model schema container class for ExtendedProcedure
Type class for ExtendedProcedure
ExeccuteAsCaller property class of ExtendedProcedure
WithEncryption property class of ExtendedProcedure
ExecuteAsOwner property class of ExtendedProcedure
ExecuteAsSelf property class of ExtendedProcedure
Login relationship class of ExtendedProcedure
Parameters relationship class of ExtendedProcedure
Schema relationship class of ExtendedProcedure
User relationship class of ExtendedProcedure
Model schema container class for ExtendedProperty
Type class for ExtendedProperty
Value property class of ExtendedProperty
Host relationship class of ExtendedProperty
Model schema container class for ExternalDataSource
Type class for ExternalDataSource
DatabaseName property class of ExternalDataSource
DataSourceType property class of ExternalDataSource
Location property class of ExternalDataSource
ResourceManagerLocation property class of ExternalDataSource
ShardMapName property class of ExternalDataSource
Credential relationship class of ExternalDataSource
Model schema container class for ExternalFileFormat
Type class for ExternalFileFormat
DataCompression property class of ExternalFileFormat
DateFormat property class of ExternalFileFormat
FieldTerminator property class of ExternalFileFormat
FormatType property class of ExternalFileFormat
SerDeMethod property class of ExternalFileFormat
StringDelimiter property class of ExternalFileFormat
UseTypeDefault property class of ExternalFileFormat
Model schema container class for ExternalTable
Type class for ExternalTable
DistributionPolicyType property class of ExternalTable
ExternalObjectName property class of ExternalTable
ExternalSchemaName property class of ExternalTable
IsAnsiNullsOn property class of ExternalTable
IsFileStreamNull property class of ExternalTable
IsQuotedIdentifierOn property class of ExternalTable
IsTableLockOnBulkLoad property class of ExternalTable
Location property class of ExternalTable
LockEscalation property class of ExternalTable
RejectSampleValue property class of ExternalTable
RejectType property class of ExternalTable
RejectValue property class of ExternalTable
Columns relationship class of ExternalTable
DataCompressionOptions relationship class of ExternalTable
DataSourceName relationship class of ExternalTable
FileFormatName relationship class of ExternalTable
Filegroup relationship class of ExternalTable
FileStreamFilegroup relationship class of ExternalTable
FileStreamPartitionScheme relationship class of ExternalTable
PartitionColumn relationship class of ExternalTable
PartitionScheme relationship class of ExternalTable
Schema relationship class of ExternalTable
ShardingColumn relationship class of ExternalTable
Model schema container class for SqlFile
Type class for SqlFile
Offline property class of SqlFile
Unlimited property class of SqlFile
FileGrowth property class of SqlFile
FileGrowthUnit property class of SqlFile
FileName property class of SqlFile
IsLogFile property class of SqlFile
MaxSize property class of SqlFile
MaxSizeUnit property class of SqlFile
Size property class of SqlFile
SizeUnit property class of SqlFile
Filegroup relationship class of SqlFile
Model schema container class for Filegroup
Type class for Filegroup
ContainsFileStream property class of Filegroup
ReadOnly property class of Filegroup
ContainsMemoryOptimizedData property class of Filegroup
Model schema container class for ForeignKeyConstraint
Type class for ForeignKeyConstraint
Disabled property class of ForeignKeyConstraint
NotForReplication property class of ForeignKeyConstraint
DeleteAction property class of ForeignKeyConstraint
UpdateAction property class of ForeignKeyConstraint
Host relationship class of ForeignKeyConstraint
Columns relationship class of ForeignKeyConstraint
ForeignColumns relationship class of ForeignKeyConstraint
ForeignTable relationship class of ForeignKeyConstraint
Model schema container class for FullTextCatalog
Type class for FullTextCatalog
AccentSensitivity property class of FullTextCatalog
IsDefault property class of FullTextCatalog
Path property class of FullTextCatalog
Authorizer relationship class of FullTextCatalog
Filegroup relationship class of FullTextCatalog
Model schema container class for FullTextIndex
Type class for FullTextIndex
ChangeTracking property class of FullTextIndex
UseSystemStopList property class of FullTextIndex
Disabled property class of FullTextIndex
Replicated property class of FullTextIndex
StopListOff property class of FullTextIndex
UniqueIndexName relationship class of FullTextIndex
Catalog relationship class of FullTextIndex
Columns relationship class of FullTextIndex
Filegroup relationship class of FullTextIndex
IndexedObject relationship class of FullTextIndex
SearchPropertyList relationship class of FullTextIndex
StopList relationship class of FullTextIndex
Model schema container class for FullTextIndexColumnSpecifier
Type class for FullTextIndexColumnSpecifier
PartOfStatisticalSemantics property class of FullTextIndexColumnSpecifier
LanguageId property class of FullTextIndexColumnSpecifier
Column relationship class of FullTextIndexColumnSpecifier
TypeColumn relationship class of FullTextIndexColumnSpecifier
Model schema container class for FullTextStopList
Type class for FullTextStopList
Authorizer relationship class of FullTextStopList
Model schema container class for HttpProtocolSpecifier
Type class for HttpProtocolSpecifier
CompressionEnabled property class of HttpProtocolSpecifier
ListeningOnAllNoneReservedSites property class of HttpProtocolSpecifier
ListeningOnAllSites property class of HttpProtocolSpecifier
AuthenticationMode property class of HttpProtocolSpecifier
AuthenticationRealm property class of HttpProtocolSpecifier
ClearPort property class of HttpProtocolSpecifier
DefaultLogonDomain property class of HttpProtocolSpecifier
Path property class of HttpProtocolSpecifier
Ports property class of HttpProtocolSpecifier
SslPort property class of HttpProtocolSpecifier
Website property class of HttpProtocolSpecifier
Model schema container class for LinkedServer
Type class for LinkedServer
CollationCompatible property class of LinkedServer
DataAccess property class of LinkedServer
LazySchemaValidationEnabled property class of LinkedServer
RemoteProcTransactionPromotionEnabled property class of LinkedServer
RpcEnabled property class of LinkedServer
RpcOutEnabled property class of LinkedServer
ProviderName property class of LinkedServer
Catalog property class of LinkedServer
CollationName property class of LinkedServer
ConnectTimeout property class of LinkedServer
DataSource property class of LinkedServer
IsDistributor property class of LinkedServer
IsPublisher property class of LinkedServer
IsSubscriber property class of LinkedServer
Location property class of LinkedServer
ProductName property class of LinkedServer
ProviderString property class of LinkedServer
QueryTimeout property class of LinkedServer
UseRemoteCollation property class of LinkedServer
Model schema container class for LinkedServerLogin
Type class for LinkedServerLogin
UseSelf property class of LinkedServerLogin
LinkedServerLoginName property class of LinkedServerLogin
LinkedServerPassword property class of LinkedServerLogin
LinkedServer relationship class of LinkedServerLogin
LocalLogin relationship class of LinkedServerLogin
Model schema container class for Login
Type class for Login
CheckExpiration property class of Login
CheckPolicy property class of Login
Disabled property class of Login
MappedToWindowsLogin property class of Login
PasswordHashed property class of Login
PasswordMustChange property class of Login
DefaultDatabase property class of Login
DefaultLanguage property class of Login
EncryptionOption property class of Login
Password property class of Login
Sid property class of Login
AsymmetricKey relationship class of Login
Certificate relationship class of Login
Credential relationship class of Login
Model schema container class for MasterKey
Type class for MasterKey
Password property class of MasterKey
Model schema container class for MessageType
Type class for MessageType
ValidationMethod property class of MessageType
Authorizer relationship class of MessageType
XmlSchemaCollection relationship class of MessageType
Model schema container class for PartitionFunction
Type class for PartitionFunction
Range property class of PartitionFunction
ParameterType relationship class of PartitionFunction
BoundaryValues relationship class of PartitionFunction
Model schema container class for PartitionScheme
Type class for PartitionScheme
AllToOneFilegroup property class of PartitionScheme
Filegroups relationship class of PartitionScheme
PartitionFunction relationship class of PartitionScheme
Model schema container class for FilegroupsRelationship
Relationship class for FilegroupsRelationship
IsDefault property class of FilegroupsRelationship
Model schema container class for PartitionValue
Type class for PartitionValue
Expression property class of PartitionValue
ExpressionDependencies relationship class of PartitionValue
Model schema container class for Permission
Type class for Permission
WithAllPrivileges property class of Permission
WithGrantOption property class of Permission
PermissionType property class of Permission
PermissionAction property class of Permission
ExcludedColumns relationship class of Permission
Grantee relationship class of Permission
Grantor relationship class of Permission
RevokedGrantOptionColumns relationship class of Permission
SecuredObject relationship class of Permission
Model schema container class for PrimaryKeyConstraint
Type class for PrimaryKeyConstraint
AllowPageLocks property class of PrimaryKeyConstraint
AllowRowLocks property class of PrimaryKeyConstraint
IgnoreDuplicateKey property class of PrimaryKeyConstraint
RecomputeStatistics property class of PrimaryKeyConstraint
Clustered property class of PrimaryKeyConstraint
Disabled property class of PrimaryKeyConstraint
FileStreamNull property class of PrimaryKeyConstraint
WithPadIndex property class of PrimaryKeyConstraint
Hash property class of PrimaryKeyConstraint
BucketCount property class of PrimaryKeyConstraint
FillFactor property class of PrimaryKeyConstraint
Host relationship class of PrimaryKeyConstraint
Columns relationship class of PrimaryKeyConstraint
DataCompressionOptions relationship class of PrimaryKeyConstraint
Filegroup relationship class of PrimaryKeyConstraint
FileStreamFilegroup relationship class of PrimaryKeyConstraint
FileStreamPartitionScheme relationship class of PrimaryKeyConstraint
PartitionColumn relationship class of PrimaryKeyConstraint
PartitionScheme relationship class of PrimaryKeyConstraint
Model schema container class for ColumnsRelationship
Relationship class for ColumnsRelationship
Ascending property class of ColumnsRelationship
Model schema container class for Procedure
Type class for Procedure
AnsiNullsOn property class of Procedure
ExecuteAsCaller property class of Procedure
WithEncryption property class of Procedure
ForReplication property class of Procedure
ExecuteAsOwner property class of Procedure
QuotedIdentifierOn property class of Procedure
WithRecompile property class of Procedure
ExecuteAsSelf property class of Procedure
WithNativeCompilation property class of Procedure
WithSchemaBinding property class of Procedure
ClassName property class of Procedure
IsReplicated property class of Procedure
MethodName property class of Procedure
ParentProcedure relationship class of Procedure
Assembly relationship class of Procedure
BodyDependencies relationship class of Procedure
Login relationship class of Procedure
Parameters relationship class of Procedure
Schema relationship class of Procedure
User relationship class of Procedure
Model schema container class for Queue
Type class for Queue
ActivationStatusOn property class of Queue
ActivationExecuteAsCaller property class of Queue
ActivationExecuteAsOwner property class of Queue
PoisonMessageHandlingStatusOn property class of Queue
RetentionOn property class of Queue
ActivationExecuteAsSelf property class of Queue
StatusOn property class of Queue
ActivationMaxQueueReaders property class of Queue
ActivationProcedure relationship class of Queue
Columns relationship class of Queue
Filegroup relationship class of Queue
Login relationship class of Queue
PartitionColumn relationship class of Queue
PartitionScheme relationship class of Queue
Schema relationship class of Queue
User relationship class of Queue
Model schema container class for QueueEventNotification
Type class for QueueEventNotification
WithFanIn property class of QueueEventNotification
BrokerService property class of QueueEventNotification
BrokerInstanceSpecifier property class of QueueEventNotification
EventGroup relationship class of QueueEventNotification
EventType relationship class of QueueEventNotification
Queue relationship class of QueueEventNotification
Model schema container class for RemoteServiceBinding
Type class for RemoteServiceBinding
Anonymous property class of RemoteServiceBinding
Service property class of RemoteServiceBinding
User relationship class of RemoteServiceBinding
Authorizer relationship class of RemoteServiceBinding
Model schema container class for ResourceGovernor
Type class for ResourceGovernor
Enabled property class of ResourceGovernor
ClassifierFunction relationship class of ResourceGovernor
Model schema container class for ResourcePool
Type class for ResourcePool
CapCpuPercent property class of ResourcePool
MaxCpuPercent property class of ResourcePool
MaxIopsPerVolume property class of ResourcePool
MaxMemoryPercent property class of ResourcePool
MinCpuPercent property class of ResourcePool
MinIopsPerVolume property class of ResourcePool
MinMemoryPercent property class of ResourcePool
Model schema container class for Role
Type class for Role
Authorizer relationship class of Role
Model schema container class for RoleMembership
Type class for RoleMembership
Member relationship class of RoleMembership
Role relationship class of RoleMembership
Model schema container class for Route
Type class for Route
BrokerInstance property class of Route
ServiceName property class of Route
Address property class of Route
Lifetime property class of Route
MirrorAddress property class of Route
Authorizer relationship class of Route
Model schema container class for Rule
Type class for Rule
Expression property class of Rule
BoundObjects relationship class of Rule
Schema relationship class of Rule
Model schema container class for Schema
Type class for Schema
Authorizer relationship class of Schema
Model schema container class for SearchProperty
Type class for SearchProperty
Description property class of SearchProperty
Identifier property class of SearchProperty
PropertySetGuid property class of SearchProperty
SearchPropertyList relationship class of SearchProperty
Model schema container class for SearchPropertyList
Type class for SearchPropertyList
Authorizer relationship class of SearchPropertyList
Model schema container class for SecurityPolicy
Type class for SecurityPolicy
Enabled property class of SecurityPolicy
IsSchemaBound property class of SecurityPolicy
NotForReplication property class of SecurityPolicy
Predicates relationship class of SecurityPolicy
Schema relationship class of SecurityPolicy
Model schema container class for SecurityPredicate
Type class for SecurityPredicate
BodyScript property class of SecurityPredicate
Operation property class of SecurityPredicate
PredicateType property class of SecurityPredicate
BodyDependencies relationship class of SecurityPredicate
TargetObject relationship class of SecurityPredicate
Model schema container class for Sequence
Type class for Sequence
NoMaxValue property class of Sequence
NoMinValue property class of Sequence
IncrementValue property class of Sequence
CacheSize property class of Sequence
IsCached property class of Sequence
IsCycling property class of Sequence
MaxValue property class of Sequence
MinValue property class of Sequence
StartValue property class of Sequence
DataType relationship class of Sequence
Schema relationship class of Sequence
Model schema container class for ServerAudit
Type class for ServerAudit
Disabled property class of ServerAudit
ReserveDiskSpace property class of ServerAudit
UnlimitedFileSize property class of ServerAudit
UnlimitedMaxRolloverFiles property class of ServerAudit
OnFailure property class of ServerAudit
PredicateExpression property class of ServerAudit
AuditGuid property class of ServerAudit
AuditTarget property class of ServerAudit
FilePath property class of ServerAudit
MaxFiles property class of ServerAudit
MaxRolloverFiles property class of ServerAudit
MaxSize property class of ServerAudit
MaxSizeUnit property class of ServerAudit
QueueDelay property class of ServerAudit
Model schema container class for ServerAuditSpecification
Type class for ServerAuditSpecification
StateOn property class of ServerAuditSpecification
AuditActionGroups relationship class of ServerAuditSpecification
ServerAudit relationship class of ServerAuditSpecification
Model schema container class for ServerDdlTrigger
Type class for ServerDdlTrigger
AnsiNullsOn property class of ServerDdlTrigger
ExecuteAsCaller property class of ServerDdlTrigger
Disabled property class of ServerDdlTrigger
WithEncryption property class of ServerDdlTrigger
ExecuteAsOwner property class of ServerDdlTrigger
QuotedIdentifierOn property class of ServerDdlTrigger
ExecuteAsSelf property class of ServerDdlTrigger
TriggerType property class of ServerDdlTrigger
ClassName property class of ServerDdlTrigger
IsLogon property class of ServerDdlTrigger
MethodName property class of ServerDdlTrigger
Assembly relationship class of ServerDdlTrigger
BodyDependencies relationship class of ServerDdlTrigger
EventGroup relationship class of ServerDdlTrigger
EventType relationship class of ServerDdlTrigger
Login relationship class of ServerDdlTrigger
User relationship class of ServerDdlTrigger
Model schema container class for ServerEventNotification
Type class for ServerEventNotification
WithFanIn property class of ServerEventNotification
BrokerService property class of ServerEventNotification
BrokerInstanceSpecifier property class of ServerEventNotification
EventGroup relationship class of ServerEventNotification
EventType relationship class of ServerEventNotification
Model schema container class for ServerOptions
Type class for ServerOptions
Model schema container class for ServerRoleMembership
Type class for ServerRoleMembership
Member relationship class of ServerRoleMembership
Role relationship class of ServerRoleMembership
Model schema container class for Service
Type class for Service
UseDefaultContract property class of Service
Authorizer relationship class of Service
Contracts relationship class of Service
Queue relationship class of Service
Model schema container class for ServiceBrokerLanguageSpecifier
Type class for ServiceBrokerLanguageSpecifier
WindowsAuthenticationMode property class of ServiceBrokerLanguageSpecifier
UseCertificateFirst property class of ServiceBrokerLanguageSpecifier
MessageForwardingEnabled property class of ServiceBrokerLanguageSpecifier
EncryptionAlgorithmPart1 property class of ServiceBrokerLanguageSpecifier
EncryptionAlgorithmPart2 property class of ServiceBrokerLanguageSpecifier
EncryptionMode property class of ServiceBrokerLanguageSpecifier
MessageForwardSize property class of ServiceBrokerLanguageSpecifier
AuthenticationCertificate relationship class of ServiceBrokerLanguageSpecifier
Model schema container class for Signature
Type class for Signature
IsCounterSignature property class of Signature
EncryptionMechanism relationship class of Signature
SignedObject relationship class of Signature
Model schema container class for SignatureEncryptionMechanism
Type class for SignatureEncryptionMechanism
Password property class of SignatureEncryptionMechanism
SignedBlob property class of SignatureEncryptionMechanism
AsymmetricKey relationship class of SignatureEncryptionMechanism
Certificate relationship class of SignatureEncryptionMechanism
Model schema container class for SoapLanguageSpecifier
Type class for SoapLanguageSpecifier
BatchesEnabled property class of SoapLanguageSpecifier
SessionsEnabled property class of SoapLanguageSpecifier
SessionTimeoutNever property class of SoapLanguageSpecifier
CharacterSet property class of SoapLanguageSpecifier
DatabaseName property class of SoapLanguageSpecifier
HeaderLimit property class of SoapLanguageSpecifier
IsDefaultDatabase property class of SoapLanguageSpecifier
IsDefaultNamespace property class of SoapLanguageSpecifier
IsDefaultWsdlSpName property class of SoapLanguageSpecifier
LoginType property class of SoapLanguageSpecifier
Namespace property class of SoapLanguageSpecifier
SchemaType property class of SoapLanguageSpecifier
SessionTimeout property class of SoapLanguageSpecifier
WsdlSpName property class of SoapLanguageSpecifier
WebMethods relationship class of SoapLanguageSpecifier
Model schema container class for SoapMethodSpecification
Type class for SoapMethodSpecification
SchemaType property class of SoapMethodSpecification
Format property class of SoapMethodSpecification
WebMethodAlias property class of SoapMethodSpecification
WebMethodNamespace property class of SoapMethodSpecification
RelatedMethod relationship class of SoapMethodSpecification
Model schema container class for SpatialIndex
Type class for SpatialIndex
AllowPageLocks property class of SpatialIndex
AllowRowLocks property class of SpatialIndex
IgnoreDuplicateKey property class of SpatialIndex
RecomputeStatistics property class of SpatialIndex
GridLevel1Density property class of SpatialIndex
GridLevel2Density property class of SpatialIndex
GridLevel3Density property class of SpatialIndex
GridLevel4Density property class of SpatialIndex
Disabled property class of SpatialIndex
WithPadIndex property class of SpatialIndex
CellsPerObject property class of SpatialIndex
DataCompression property class of SpatialIndex
FillFactor property class of SpatialIndex
Tessellation property class of SpatialIndex
XMax property class of SpatialIndex
XMin property class of SpatialIndex
YMax property class of SpatialIndex
YMin property class of SpatialIndex
Column relationship class of SpatialIndex
Filegroup relationship class of SpatialIndex
IndexedObject relationship class of SpatialIndex
PartitionColumn relationship class of SpatialIndex
PartitionScheme relationship class of SpatialIndex
Model schema container class for Statistics
Type class for Statistics
StatsStream property class of Statistics
FilterPredicate property class of Statistics
Incremental property class of Statistics
NoRecompute property class of Statistics
SampleSize property class of Statistics
SamplingStyle property class of Statistics
OnObject relationship class of Statistics
Columns relationship class of Statistics
ExpressionDependencies relationship class of Statistics
Model schema container class for Parameter
Type class for Parameter
DefaultExpression property class of Parameter
ReadOnly property class of Parameter
Varying property class of Parameter
Scale property class of Parameter
Precision property class of Parameter
Length property class of Parameter
IsMax property class of Parameter
XmlStyle property class of Parameter
IsNullable property class of Parameter
IsOutput property class of Parameter
XmlSchemaCollection relationship class of Parameter
DataType relationship class of Parameter
Model schema container class for SymmetricKey
Type class for SymmetricKey
Algorithm property class of SymmetricKey
CreationDisposition property class of SymmetricKey
IdentityValue property class of SymmetricKey
KeySource property class of SymmetricKey
ProviderKeyName property class of SymmetricKey
AsymmetricKeys relationship class of SymmetricKey
Certificates relationship class of SymmetricKey
Passwords relationship class of SymmetricKey
SymmetricKeys relationship class of SymmetricKey
Authorizer relationship class of SymmetricKey
Provider relationship class of SymmetricKey
Model schema container class for SymmetricKeyPassword
Type class for SymmetricKeyPassword
Password property class of SymmetricKeyPassword
Model schema container class for Synonym
Type class for Synonym
ForObjectName property class of Synonym
ForObject relationship class of Synonym
Schema relationship class of Synonym
Model schema container class for Table
Type class for Table
AnsiNullsOn property class of Table
ChangeDataCaptureEnabled property class of Table
ChangeTrackingEnabled property class of Table
FileStreamNull property class of Table
LargeValueTypesOutOfRow property class of Table
QuotedIdentifierOn property class of Table
TableLockOnBulkLoad property class of Table
TrackColumnsUpdated property class of Table
VardecimalStorageFormatEnabled property class of Table
MemoryOptimized property class of Table
RowCount property class of Table
DataSize property class of Table
IndexSize property class of Table
DataPages property class of Table
UsedPages property class of Table
Durability property class of Table
IsAutoGeneratedHistoryTable property class of Table
IsEdge property class of Table
IsNode property class of Table
IsReplicated property class of Table
LockEscalation property class of Table
RemoteDataEnabled property class of Table
RetentionUnit property class of Table
RetentionValue property class of Table
TextInRowSize property class of Table
Columns relationship class of Table
DataCompressionOptions relationship class of Table
Filegroup relationship class of Table
FilegroupForTextImage relationship class of Table
FileStreamFilegroup relationship class of Table
FileStreamPartitionScheme relationship class of Table
PartitionColumn relationship class of Table
PartitionScheme relationship class of Table
Schema relationship class of Table
TemporalSystemVersioningHistoryTable relationship class of Table
Model schema container class for FileTable
Type class for FileTable
AnsiNullsOn property class of FileTable
FileStreamNull property class of FileTable
QuotedIdentifierOn property class of FileTable
TableLockOnBulkLoad property class of FileTable
FileTableNamespaceEnabled property class of FileTable
FileTableCollateFilename property class of FileTable
FileTableDirectory property class of FileTable
LockEscalation property class of FileTable
Columns relationship class of FileTable
DataCompressionOptions relationship class of FileTable
Filegroup relationship class of FileTable
FileStreamFilegroup relationship class of FileTable
FileStreamPartitionScheme relationship class of FileTable
PartitionColumn relationship class of FileTable
PartitionScheme relationship class of FileTable
Schema relationship class of FileTable
Model schema container class for TableType
Type class for TableType
MemoryOptimized property class of TableType
Columns relationship class of TableType
Constraints relationship class of TableType
Indexes relationship class of TableType
Schema relationship class of TableType
Model schema container class for TableTypeCheckConstraint
Type class for TableTypeCheckConstraint
Expression property class of TableTypeCheckConstraint
ExpressionDependencies relationship class of TableTypeCheckConstraint
Model schema container class for TableTypeColumn
Type class for TableTypeColumn
TableTypeColumnType metadata class of TableTypeColumn
Collation property class of TableTypeColumn
IdentityIncrement property class of TableTypeColumn
IdentitySeed property class of TableTypeColumn
IsIdentity property class of TableTypeColumn
Nullable property class of TableTypeColumn
IsRowGuidCol property class of TableTypeColumn
Expression property class of TableTypeColumn
Persisted property class of TableTypeColumn
PersistedNullable property class of TableTypeColumn
Scale property class of TableTypeColumn
Precision property class of TableTypeColumn
Length property class of TableTypeColumn
IsMax property class of TableTypeColumn
XmlStyle property class of TableTypeColumn
ExpressionDependencies relationship class of TableTypeColumn
XmlSchemaCollection relationship class of TableTypeColumn
DataType relationship class of TableTypeColumn
Model schema container class for TableTypeDefaultConstraint
Type class for TableTypeDefaultConstraint
Expression property class of TableTypeDefaultConstraint
TargetColumn relationship class of TableTypeDefaultConstraint
ExpressionDependencies relationship class of TableTypeDefaultConstraint
Model schema container class for TableTypeIndex
Type class for TableTypeIndex
Hash property class of TableTypeIndex
BucketCount property class of TableTypeIndex
IsDisabled property class of TableTypeIndex
IsUnique property class of TableTypeIndex
Columns relationship class of TableTypeIndex
Model schema container class for TableTypePrimaryKeyConstraint
Type class for TableTypePrimaryKeyConstraint
IgnoreDuplicateKey property class of TableTypePrimaryKeyConstraint
Clustered property class of TableTypePrimaryKeyConstraint
Hash property class of TableTypePrimaryKeyConstraint
BucketCount property class of TableTypePrimaryKeyConstraint
Columns relationship class of TableTypePrimaryKeyConstraint
Model schema container class for ColumnsRelationship
Relationship class for ColumnsRelationship
Ascending property class of ColumnsRelationship
Model schema container class for TableTypeUniqueConstraint
Type class for TableTypeUniqueConstraint
IgnoreDuplicateKey property class of TableTypeUniqueConstraint
Clustered property class of TableTypeUniqueConstraint
Hash property class of TableTypeUniqueConstraint
BucketCount property class of TableTypeUniqueConstraint
Columns relationship class of TableTypeUniqueConstraint
Model schema container class for ColumnsRelationship
Relationship class for ColumnsRelationship
Ascending property class of ColumnsRelationship
Model schema container class for TcpProtocolSpecifier
Type class for TcpProtocolSpecifier
ListeningOnAllIPs property class of TcpProtocolSpecifier
ListenerIPv4 property class of TcpProtocolSpecifier
ListenerIPv6 property class of TcpProtocolSpecifier
ListenerPort property class of TcpProtocolSpecifier
Model schema container class for UniqueConstraint
Type class for UniqueConstraint
AllowPageLocks property class of UniqueConstraint
AllowRowLocks property class of UniqueConstraint
IgnoreDuplicateKey property class of UniqueConstraint
RecomputeStatistics property class of UniqueConstraint
Clustered property class of UniqueConstraint
Disabled property class of UniqueConstraint
FileStreamNull property class of UniqueConstraint
WithPadIndex property class of UniqueConstraint
Hash property class of UniqueConstraint
BucketCount property class of UniqueConstraint
FillFactor property class of UniqueConstraint
Host relationship class of UniqueConstraint
Columns relationship class of UniqueConstraint
DataCompressionOptions relationship class of UniqueConstraint
Filegroup relationship class of UniqueConstraint
FileStreamFilegroup relationship class of UniqueConstraint
FileStreamPartitionScheme relationship class of UniqueConstraint
PartitionColumn relationship class of UniqueConstraint
PartitionScheme relationship class of UniqueConstraint
Model schema container class for ColumnsRelationship
Relationship class for ColumnsRelationship
Ascending property class of ColumnsRelationship
Model schema container class for User
Type class for User
WithoutLogin property class of User
AuthenticationType property class of User
DefaultLanguage property class of User
Password property class of User
Sid property class of User
UserType property class of User
AsymmetricKey relationship class of User
Certificate relationship class of User
DefaultSchema relationship class of User
Login relationship class of User
Model schema container class for UserDefinedServerRole
Type class for UserDefinedServerRole
Authorizer relationship class of UserDefinedServerRole
Model schema container class for UserDefinedType
Type class for UserDefinedType
ByteOrdered property class of UserDefinedType
FixedLength property class of UserDefinedType
ClassName property class of UserDefinedType
Format property class of UserDefinedType
MaxByteSize property class of UserDefinedType
ValidationMethodName property class of UserDefinedType
Assembly relationship class of UserDefinedType
Methods relationship class of UserDefinedType
Properties relationship class of UserDefinedType
Schema relationship class of UserDefinedType
Model schema container class for View
Type class for View
AnsiNullsOn property class of View
WithEncryption property class of View
WithViewMetadata property class of View
QuotedIdentifierOn property class of View
Replicated property class of View
WithSchemaBinding property class of View
WithCheckOption property class of View
SelectStatement property class of View
BodyDependencies relationship class of View
Columns relationship class of View
Schema relationship class of View
Model schema container class for WorkloadGroup
Type class for WorkloadGroup
GroupMaxRequests property class of WorkloadGroup
Importance property class of WorkloadGroup
MaxDop property class of WorkloadGroup
RequestMaxCpuTimeSec property class of WorkloadGroup
RequestMaxMemoryGrantPercent property class of WorkloadGroup
RequestMemoryGrantTimeoutSec property class of WorkloadGroup
ResourcePool relationship class of WorkloadGroup
Model schema container class for XmlIndex
Type class for XmlIndex
AllowPageLocks property class of XmlIndex
AllowRowLocks property class of XmlIndex
IgnoreDuplicateKey property class of XmlIndex
RecomputeStatistics property class of XmlIndex
Disabled property class of XmlIndex
WithPadIndex property class of XmlIndex
SecondaryXmlIndexType property class of XmlIndex
FillFactor property class of XmlIndex
IsPrimary property class of XmlIndex
PrimaryXmlIndex relationship class of XmlIndex
Column relationship class of XmlIndex
IndexedObject relationship class of XmlIndex
Model schema container class for SelectiveXmlIndex
Type class for SelectiveXmlIndex
Disabled property class of SelectiveXmlIndex
WithPadIndex property class of SelectiveXmlIndex
AllowRowLocks property class of SelectiveXmlIndex
AllowPageLocks property class of SelectiveXmlIndex
IgnoreDuplicateKey property class of SelectiveXmlIndex
RecomputeStatistics property class of SelectiveXmlIndex
FillFactor property class of SelectiveXmlIndex
IsPrimary property class of SelectiveXmlIndex
PrimarySelectiveXmlIndex relationship class of SelectiveXmlIndex
PrimaryPromotedPath relationship class of SelectiveXmlIndex
Column relationship class of SelectiveXmlIndex
IndexedObject relationship class of SelectiveXmlIndex
PromotedPaths relationship class of SelectiveXmlIndex
XmlNamespaces relationship class of SelectiveXmlIndex
Model schema container class for XmlNamespace
Type class for XmlNamespace
NamespaceUri property class of XmlNamespace
Prefix property class of XmlNamespace
Model schema container class for PromotedNodePathForXQueryType
Type class for PromotedNodePathForXQueryType
IsSingleton property class of PromotedNodePathForXQueryType
MaxLength property class of PromotedNodePathForXQueryType
NodePath property class of PromotedNodePathForXQueryType
Type property class of PromotedNodePathForXQueryType
Model schema container class for PromotedNodePathForSqlType
Type class for PromotedNodePathForSqlType
Scale property class of PromotedNodePathForSqlType
Precision property class of PromotedNodePathForSqlType
Length property class of PromotedNodePathForSqlType
IsMax property class of PromotedNodePathForSqlType
IsSingleton property class of PromotedNodePathForSqlType
NodePath property class of PromotedNodePathForSqlType
DataType relationship class of PromotedNodePathForSqlType
Model schema container class for XmlSchemaCollection
Type class for XmlSchemaCollection
Expression property class of XmlSchemaCollection
Schema relationship class of XmlSchemaCollection
The metadata class for s.
metadata classes provide access to the structure and instance data
within a TSqlModelSchema instance.
Type name.
The versions on which this type is supported.
Properties for the type.
Relationships for the type.
Metadata properties for the type.
Creates a object identifier with a name.
The parts of the identifier
Creates a object identifier with a name.
The parts of the identifier
Creates a object identifier with a name.
The parts of the identifier
Creates a object identifier with a name that includes external parts.
External reference parts - used in 3 or 4 part references to
objects in other databases or servers
The parts of the identifier
Formats and escapes name parts into a single string
escaped name.
Gets the parts of the identifier.
The parts of the identifier.
Does this ObjectIdentifier have any
Gets the external reference parts. Null if the identifier is not external.
The external reference parts.
Does this ObjectIdentifier have any
Relationship types.
A relationship where the child object cannot be created outside the parent's DDL create statement.
A relationship where the child object can be created outside the parent's DDL create statement.
A relationship where the related object must be created outside the parent's DDL create statement.
Customized Context object for properties of type .
Returns the value of the script string.
Default Property context for all properties.
Provides default implementation for property access through the public model.
Internal for test use only
Specific SQL Server releases.
on-premises, version 9.0
on-premises, version 10.0
Azure
on-premises, version 11.0
on-premises, version 12.0
on-premises, version 13.0
on-premises, version 14.0
on-premises, version 15.0
Represents a model of a SQL Server database schema.
Loads a model from a or
using the specified to configure what kind of storage to use, and whether to load a script-backed
model or not.
A stream that contains the serialized dacpac.
The defining how the model should be loaded. For models to be analyzed in static code analysis,
it's recommended that the be set to true. This is important since some
rules may not work as expected unless this is true.
If there are problems loading the package from the specified .
This may occur if the package does not load correctly or if references required by
the package are not found using the original path to the reference.
Loads a model from a or
using the specified to configure what kind of storage to use, and whether to load a script-backed
model or not.
A stream that contains the serialized dacpac.
The defining how the model should be loaded. For models to be analyzed in static code analysis,
it's recommended that the be set to true. This is important since some
rules may not work as expected unless this is true.
A token used for cancelling model loading.
When the load operation is canceled.
If there are problems loading the package from the specified .
This may occur if the package does not load correctly or if references required by
the package are not found using the original path to the reference.
Loads a model from a or
using the specified to configure what kind of storage to use, and whether to load a script-backed
model or not.
File path to package.
The defining how the model should be loaded. For models to be analyzed in static code analysis,
it's recommended that the be set to true. This is important since some
rules may not work as expected unless this is true.
A token used for cancelling model loading.
When the load operation is canceled.
If there are problems loading the package from the specified .
This may occur if the package does not load correctly or if references required by
the package are not found in either the same directory as the package, or using the original path
to the reference.
Loads a model from a or
using the specified to configure what kind of storage to use, and whether to load a script-backed
model or not.
File path to package.
The defining how the model should be loaded. For models to be analyzed in static code analysis,
it's recommended that the be set to true. This is important since some
rules may not work as expected unless this is true.
If there are problems loading the package from the specified .
This may occur if the package does not load correctly or if references required by
the package are not found in either the same directory as the package, or using the original path
to the reference.
Loads a model from a database using the specified .
A connection string specifying the database and catalog to load.
Optional instance used to specify options that affect the behavior of package extraction.
For models to be analyzed in static code analysis, it's recommended that the
be set to true. This is important since some
rules may not work as expected unless this is true.
Optional cancellation token used to cancel a load operation.
If connectionString is null.
If connectionString is not a valid connection string
or options.Storage is not a valid value of the enumerated type.
If there are problems extracting the model from the specified database.
Loads a model from a database using the specified .
A connection string specifying the database and catalog to load.
Optional universal authentication provider used to authenticate a when opening a connection.
Optional instance used to specify options that affect the behavior of package extraction.
For models to be analyzed in static code analysis, it's recommended that the
be set to true. This is important since some
rules may not work as expected unless this is true.
Optional cancellation token used to cancel a load operation.
If connectionString is null.
If connectionString is not a valid connection string
or options.Storage is not a valid value of the enumerated type.
If there are problems extracting the model from the specified database.
Loads a model from a database using the specified .
A connection string specifying the database and catalog to load.
This password string used when connecting to the specified database.
Optional instance used to specify options that affect the behavior of package extraction.
For models to be analyzed in static code analysis, it's recommended that the
be set to true. This is important since some
rules may not work as expected unless this is true.
Optional cancellation token used to cancel a load operation.
If connectionString is null.
If connectionString is not a valid connection string
or options.Storage is not a valid value of the enumerated type.
If there are problems extracting the model from the specified database.
Loads a model from a or .
This is equivalent to calling with default values.
File path to package.
By default DacSchemaModelStorageType.Memory is used for the model storage format.
The dacpac model will not be script-backed as the will be set to false.
Using with
set to true is recommended if the model will be used by the for static code analysis.
If there are problems loading the package from the specified .
This may occur if the package does not load correctly or if references required by
the package are not found in either the same directory as the package, or using the original path
to the reference.
Loads a model from a or .
This is equivalent to calling with default values for
everything except the .
File path to package.
Backing storage type for package instance.
The dacpac model will not be script-backed as the will be set to false.
Using with
set to true is recommended if the model will be used by the for static code analysis.
If there are problems loading the package from the specified .
This may occur if the package does not load correctly or if references required by
the package are not found in either the same directory as the package, or using the original path
to the reference.
Loads a model from a or .
This is equivalent to calling with default values for
everything except the .
File path to package.
Backing storage type for package instance.
A token used for cancelling model loading.
The dacpac model will not be script-backed as the will be set to false.
Using with
set to true is recommended if the model will be used by the for static code analysis.
If there are problems loading the package from the specified .
This may occur if the package does not load correctly or if references required by
the package are not found in either the same directory as the package, or using the original path
to the reference.
When the load operation is canceled.
Creates an empty model that targets a specific
The version of SQL Server to target
Options defining model properties,
including the collation and how to store the model (in memory or file backed)
Internal method - for testing and utility purposes only
Returns s of the specified and .
Only top level types are supported by this method - the parameter
must be in the types returned from the method or the call will fail.
Type filter. Must be in the list of types returned from
the method or the call will fail.
Unique identity of to return.
Scope filter for queried objects.
Single TSqlObject or null.
If the supplied and result in multiple s,
or if the is not a top level type.
If the supplied is null.
If the supplied is null.
If communication with the fails.
Returns all s matching the list of .
Only top level types are supported by this method - all types in the
parameter
must be present in the or the call will fail.
Scope filter for queried objects. Must be in the list of types returned from
the method or the call will fail.
List of s to return.
All s that match .
If any of the types in the parameter are not a top level type.
If no are supplied all s are returned.
If communication with the fails.
Returns all s that match the and .
Only top level types are supported by this method - the parameter
must be in the types returned from the method or the call will fail.
Type Filter. Must be in the list of types returned from
the method or the call will fail.
Identity of the s to return.
Scope filter for queried objects.
All s that match the and .
If the is not a top level type.
If the supplied is null.
If the supplied is null.
If communication with the fails.
Returns all s in a given document filtered by s
specified by the parameter.
Name of the source document
Array of ModelTypeClass that the resulting should be filtered on.
List of s
If no are supplied all s are returned.
If communication with the fails.
Returns all s that are present in the model.
Load the model with set to false to retrieve model errors.
Refer for more information on model errors.
If communication with the fails.
Adds objects to the model based on the contents of a TSql Script string.
The script should consist of valid TSql DDL statements.
Objects added using this method cannot be updated or deleted at a later point
as update/delete requires a script name to be specified when adding the objects. If this
is a requirement use the
method instead.
Script containing TSql DDL statements
If the supplied is null.
If communication with the fails.
Add Objects to the model based on the contents of a TSql Script string,
plus additional metadata defined by a object
The script should consist of valid TSql DDL statements.
Objects added using this method cannot be updated or deleted at a later point
as update/delete requires a script name to be specified when adding the objects. If this
is a requirement use the
method instead.
Script containing TSql DDL statements
Options defining how to interpret the script
If the supplied is null.
If communication with the fails.
Adds objects to the model based on the contents of a object.
The script should be valid TSql with no parse errors.
Objects added using this method cannot be updated or deleted at a later point
as update/delete requires a script name to be specified when adding the objects. If this
is a requirement use the
method instead.
The to add
If the supplied is null.
If communication with the fails.
Add Objects to the model based on the contents of a object,
plus additional metadata defined by a object
The script should be valid TSql with no parse errors.
Objects added using this method cannot be updated or deleted at a later point
as update/delete requires a script name to be specified when adding the objects. If this
is a requirement use the
method instead.
The to add
Options defining how to interpret the script
If the supplied is null.
If communication with the fails.
Adds or updates the objects defined for a specified with the
objects defined in the . If any objects were previously added
with the same these will be completely replaced
The object definitions are based on the contents of a TSql Script string
plus additional metadata defined by a object
The script should consist of valid TSql DDL statements.
Script containing TSql DDL statements
A name to identify the , for example a
fileName such as "MyTable.sql" or simply an alias like "dbo.Table".
Scripts are cached and TSqlObjects are linked to the source name.
Any future Update/Delete operations will remove all existing objects
with the same script name and replace them with the new objects.
Options defining how to interpret the script
If the supplied is null.
If the supplied is null or whitespace, or if it ends
in ".xsd".
Note: source names ending in ".xsd" are currently not supported. These relate
to Xml Schema Collections and adding of these is currently not supported in the public API.
If communication with the fails.
Adds or updates the objects defined for a specified with the
objects defined in the . If any objects were previously added
with the same these will be completely replaced
The object definitions are based on the contents of a object
plus additional metadata defined by a object
The script should consist of valid TSql DDL statements.
Script containing TSql DDL statements
A name to identify the , for example a
fileName such as "MyTable.sql" or simply an alias like "dbo.Table".
Scripts are cached and TSqlObjects are linked to the source name.
Any future Update/Delete operations will remove all existing objects
with the same script name and replace them with the new objects.
Options defining how to interpret the script
If the supplied is null.
If the supplied is null or whitespace, or if it ends
in ".xsd".
Note: source names ending in ".xsd" are currently not supported. These relate
to Xml Schema Collections and adding of these is currently not supported in the public API.
If communication with the fails.
Deletes any objects that were added to the model with the specified .
A name to identify the source to be deleted, for example a
fileName such as "MyTable.sql" or simply an alias like "dbo.Table".
Scripts are cached and TSqlObjects are linked to the source name.
If the supplied is null or whitespace, or if it ends
in ".xsd".
Note: source names ending in ".xsd" are currently not supported. These relate
to Xml Schema Collections and adding of these is currently not supported in the public API.
If communication with the fails.
Converts a specific top-level object in the model into a scripted representation of itself.
This is useful when starting from a database sourced model and the caller wishes to modify this
object's contents.
Object to convert. Must not be null
Optional source name. If left null a default name will be generated
for the object. This name can be found using 's
SourceName property.
New copy of the TSqlObject, which will now be script-backed.
Or if the object was already script-backed, will simply return this object
Thrown if the object could not be scripted out, this class of object is never scriptable,
or errors were found in the model during the script process
If the oject is null, or if whitespace is used for the source name
Validates the model and returns a list of messages with any errors/warnings.
Validates the model to determine whether it contains any elements that are not compatible with a target version of SQL Server or Azure SQL Database,
and returns any errors or warnings.
The target sql version of the export
A token used for cancelling the model check.
Copies the for the model to a object.
This is useful if you wish to duplicate the options for a model when creating a new model.
with settings matching the database options of the
model
Releases all resources used by the object.
The specific SQL Server release targeted by the model.
The specific engine version targeted by the model.
For On Premises platforms this will be consistent with the - for instance
will have an engine version of 9.
For Microsoft Azure SQL Database the minimum valid version is 11, and the engine version will affect
what features are supported in the model.
Is this a model that is backed by scripts? In this case objects in the
scope will have source position information including
a source name and information. This is important for scenarios such as use of the
.
Any empty created will be script-backed by default. Models loaded
from a Dacpac will only be scipt backed if the
option is enabled. Note that creating a script-backed model will take longer than using a standard model
loaded from a Dacpac
Gets the that support producing display properties for
objects in the model.
Comparer that can compare strings and s using the collation of this .
This can be very useful when comparing objects in the model since comparisons will be consistent with the expected comparison
results in SQL Server
Defines model wide options
Constructs the TSqlModelOptions
Constructs the TSqlModelOptions based on an existing options object
Copies deployment options between objects.
Specifies the Collation to use for the model. This is a
string such as "SQL_Latin1_General_CP1_CI_AS", which must
be a valid SQL Server Collation Name
Specifies the storage type - in memory or file backed.
Default value is
Specifies the ALLOW_SNAPSHOT_ISOLATION database option.
Specifies the READ_COMMITTED_SNAPSHOT database option.
Specifies the MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT database option.
Specifies the ANSI_NULL_DEFAULT database option.
Specifies the ANSI_NULLS database option.
Specifies the ANSI_PADDING database option.
Specifies the ANSI_WARNINGS database option.
Specifies the ARITH_ABORT database option.
Specifies the AUTO_CLOSE database option.
Specifies the AUTO_CREATE_STATISTICS database option.
Specifies the AUTO_CREATE_STATISTICS INCREMENTAL database option.
Specifies the AUTO_SHRINK database option.
Specifies the AUTO_UPDATE_STATISTICS database option.
Specifies the AUTO_UPDATE_STATISTICS_ASYNC database option.
Specifies the CATALOG_COLLATION_TYPE database option
Specifies the AUTO_CLEANUP database option.
Specifies the CHANGE_TRACKING database option.
Specifies the period of the CHANGE_RETENTION database option.
Specifies the unit of the CHANGE_RETENTION database option.
Specifies the COMPATIBILITY_LEVEL database option.
Specifies the CONCAT_NULL_YIELDS_NULL database option.
Specifies the CONTAINMENT database option.
Specifies the CURSOR_CLOSE_ON_COMMIT database option.
Specifies the CURSOR_DEFAULT database option.
Specifies the ONLINE | OFFLINE database option.
Specifies the DATE_CORRELATION_OPTIMIZATION database option.
Specifies the DEFAULT_FULLTEXT_LANGUAGE database option.
Specifies the DEFAULT_LANGUAGE database option.
Specifies the DB_CHAINING database option.
Specifies the Database Scoped Configuration LEGACY_CARDINALITY_ESTIMATION option.
Specifies the Database Scoped Configuration LEGACY_CARDINALITY_ESTIMATION option for secondaries.
Specifies the Database Scoped Configuration MAXDOP option.
Specifies the Database Scoped Configuration MAXDOP option for secondaries.
Specifies the Database Scoped Configuration PARAMETER_SNIFFING option.
Specifies the Database Scoped Configuration PARAMETER_SNIFFING option for secondaries.
Specifies the Database Scoped Configuration QUERY_OPTIMIZER_HOTFIXES option.
Specifies the Database Scoped Configuration QUERY_OPTIMIZER_HOTFIXES option for secondaries.
Specifies the DIRECTORY_NAME database option.
Specifies the sp_fulltext_database database option.
Specifies the HONOR_BROKER_PRIORITY database option.
Specifies the NESTED_TRIGGER database option.
Specifies the NON_TRANSACTED_ACCESS database option.
Specifies the NUMERIC_ROUNDABORT database option.
Specifies the PAGE_VERIFY database option.
Specifies the PARAMETERIZATION database option.
Specifies the query capture mode of QUERY_STORE database option.
Specifies the operation mode of QUERY_STORE database option.
Specifies the Flush_Interval_Seconds setting of the QUERY_STORE database option.
Specifies the Interval_Length_Minutes setting of the QUERY_STORE database option.
Specifies the Max_Storage_Size_MB setting of the QUERY_STORE database option.
Specifies the Max_Plans_Per_Query setting of the QUERY_STORE database option.
Specifies the Stale_Query_Threshold_Days setting of the QUERY_STORE database option.
Specifies the QUOTED_IDENTIFIER database option.
Specifies the READ_ONLY | READ_WRITE database option.
Specifies the RECOVERY database option.
Specifies the DELAYED_DURABILITY database option.
Specifies the RECURSIVE_TRIGGERS database option.
Specifies the ENABLE_BROKER | DISABLE_BROKER | NEW_BROKER | ERROR_BROKER_CONVERSATIONS database option.
Specifies what engine version should be targeted by the model.
For On Premises platforms this value will be ignored as the engine version is fixed based on the platform.
For the platform this value will be set and used
to specify what T-SQL language features are supported.
Specifies the SUPPLEMENTAL_LOGGING database option.
Specifies the period of the TARGET_RECOVERY_TIME database option.
Specifies the unit of the TARGET_RECOVERY_TIME database option.
Specifies the TORN_PAGE_DETECTION database option.
Specifies the TRANSFORM_NOISE_WORDS database option.
Specifies the TRUSTWORTHY database option.
Specifies the TWO_DIGIT_YEAR_CUTOFF database option.
Specifies the sp_db_vardecimal_storage_format database option.
Specifies the SINGLE_USER | RESTRICTED_USER | MULTI_USER database option.
Specifies the ENCRYPTION database option.
Defines a schema for a relational TSQL database model.
All top level types supported in the model. These are the only types that
can be queried for via the and
API calls.
All types supported in the model. This will include types that are cannot be queried for using
the and
API calls.
Represents an instance of an object for a SQL Server database schema.
Attempts to generate an AST for the object. AST generation is only supported for top-level objects, with certain
objects such as the and inline constraints not supporting AST generation even though
they are top level types.
The generated AST is a newly generated object that defines the information about this and any objects
that would be scripted together with it. For example a Table would also script out the Columns and inline constraint definitions of a Table.
This method can be used to copy object information from one model to another, or to script out information about
objects in the model.
Returns the generated AST if the call succeeded.
True if AST generated. Otherwise false.
The Ast will not have information about the original source position, such as the original source name and original
position in an input script.
Generates a new representing the AST for the , if this is
supported for the . AST generation is only supported for top-level objects, with certain
objects such as the and inline constraints not supporting AST generation even though
they are top level types. If it's unknown whether the object is capable of being scripted
then the method should be used instead.
The generated AST is a newly generated object that defines the information about this and any objects
that would be scripted together with it. For example a Table would also script out the Columns and inline constraint definitions of a Table.
This method can be used to copy object information from one model to another, or to script out information about
objects in the model.
The AST will not have information about the original source position, such as the original source name and original
position in an input script.
The generated AST object.
If is not a top level statement object or if it does not support AST generation (for example
if it is a or a constraint that was originally defined inline with a Table).
Attempts to generate a CREATE script from the objects AST. AST generation is only supported for top-level objects, with certain
objects such as the and inline constraints not supporting AST generation even though
they are top level types. If it's unknown whether the object is capable of being scripted
then the method should be used instead.
The DDL Creation script for the object
True if the DDL creation script was created.
Generates a CREATE script from the objects AST. AST generation is only supported for top-level objects, with certain
objects such as the and inline constraints not supporting AST generation even though
they are top level types. If it's unknown whether the object is capable of being scripted
then the method should be used instead.
DDL Creation script
If is not a top level statement object or if it does not support script generation (for example
if it is a or a constraint that was originally defined inline with a Table).
Note: Internal only for now. Dacpacs and database-targeted models will not have any source fragment information.
Gets the which defines the object - may be null. This is the fragment from the original source,
with original source position information (if available).
This should not be used when copying the object to a different model or when doing any external
manipulation of the object - in those cases the method should be used to get a
self-contained AST describing this Object.
, or null if this was not present
Returns the property value.
Property type.
Property.
Property Value.
If does not exists on the object.
If the property type cannot be cast to T.
Returns the property value.
Property.
Property Value.
If does not exists on the object.
Returns the metadata property value.
Metadata property type.
Metadata property name.
Metadata property value.
If does not exists on the object.
If the metadata property type cannot be cast to T.
Returns the metadata property value.
Metadata property name.
Metadata property value.
If does not exists on the object.
Returns the parent , if it is within the
scope and if there is only one
that could be the parent for this object..
Parent object others null.
Returns the parent , if it is within the
specified scope and if there is only one
that could be the parent for this object.
defining the scope objects must exist in.
Parent object or else null.
Returns all child objects within the scope.
All children.
References to elements not in the are not returned.
Returns all child objects within the specified
scope.
defining the scope objects must exist in.
All children.
References to elements not in the are not returned.
Gets all referenced objects within the scope
s referenced by this object
References to elements not in the are not returned. Use for a listing
of all possible referenced elements.
Gets all referenced objects within a given scope.
defining the scope objects must exist in.
s referenced by this object
References to elements not in the are not returned. Use for a listing
of all possible referenced elements.
Gets referenced objects for a given ,
where objects are within the scope
defining the relationship class to query for
s referenced by this object for a given
References to elements not in the are not returned. Use for a listing
of all possible referenced elements.
Gets referenced objects for a given ,
where objects are within a given scope.
defining the relationship to query for
defining the scope objects must exist in.
s referenced by this object for a given
References to elements not in the are not returned. Use for a listing
of all possible referenced elements.
For each object referenced by this , returns the defining
the relationship data. This will include the referenced object if it exists, the used to identify the
referenced object, and any properties specific to this relationship.
Only objects within the scope will be returned.
s defining the relationships between this and the objects
referenced by it
The field may be null if the element is not in the . In these cases the
field can be used to query information about the referenced object
For each object referenced by this , returns the defining
the relationship data. This will include the referenced object if it exists, the used to identify the
referenced object, and any properties specific to this relationship.
Only objects within the specified scope will be returned.
To return non-composite or system references the method should be called instead
defining the scope objects must exist in.
s defining the relationships between this and the objects
referenced by it
The field may be null if the element is not in the . In these cases the
field can be used to query information about the referenced object
For objects referenced by this with a specific ,
returns the defining
the relationship data. This will include the referenced object if it exists, the used to identify the
referenced object, and any properties specific to this relationship.
Only objects within the scope will be returned.
defining the relationship class to query for
s defining the relationships between this and the objects
referenced by it
The field may be null if the element is not in the . In these cases the
field can be used to query information about the referenced object
For objects referenced by this with a specific ,
returns the defining
the relationship data. This will include the referenced object if it exists, the used to identify the
referenced object, and any properties specific to this relationship.
Only objects within the specified scope will be returned.
To return non-composite or system references the method should be called instead
defining the relationship class to query for
defining the scope objects must exist in.
s defining the relationships between this and the objects
referenced by it
The field may be null if the element is not in the . In these cases the
field can be used to query information about the referenced object
For each object referenced by this , returns the defining
the relationship data. This will include the referenced object if it exists, the used to identify the
referenced object, and any properties specific to this relationship.
Only objects within the specified scope will be returned.
To return non-composite or system references the scope must be set to include externals. In addition, in this case only the
of the referenced object will be returned
defining the scope objects must exist in.
s defining the relationships between this and the objects
referenced by it
The field may be null if the element is not in the . In these cases the
field can be used to query information about the referenced object
For objects referenced by this with a specific ,
returns the defining
the relationship data. This will include the referenced object if it exists, the used to identify the
referenced object, and any properties specific to this relationship.
Only objects within the specified scope will be returned.
To return non-composite or system references the scope must be set to include externals. In addition, in this case only the
of the referenced object will be returned
defining the relationship class to query for
defining the scope objects must exist in.
s defining the relationships between this and the objects
referenced by it
The field may be null if the element is not in the . In these cases the
field can be used to query information about the referenced object
Verifies this object's class owns the relationship. Only valid for referenced relationships - referencing could be anything
Gets all referencing objects within the scope
s referencing this object
Gets all referencing objects within a given scope.
defining the scope objects must exist in.
s referencing this object
Gets referencing objects,
where the relationship is defined by a specific
and where objects are within the scope
defining the relationship class to query for
s referencing this object for a given
Gets referencing objects,
where the relationship is defined by a specific
and where objects are within a given scope.
defining the relationship to query for
defining the scope objects must exist in.
s referencing this object for a given
For each object referencing this , returns the defining
the relationship data.
This will include the referencing object - definedby the field,
and any properties specific to this relationship.
Only objects within the specified scope will be returned.
s defining the relationships between this and the objects
referencing it
For each object referencing this , returns the defining
the relationship data.
This will include the referencing object - definedby the field,
and any properties specific to this relationship.
Only objects within the scope will be returned.
defining the scope objects must exist in.
s defining the relationships between this and the objects
referencing it
For each object referencing this with a specific ,
returns the defining the relationship data.
This will include the referencing object - definedby the field,
and any properties specific to this relationship.
Only objects within the scope will be returned.
defining the relationship class to query for
s defining the relationships between this and the objects
referencing it
For each object referencing this with a specific ,
returns the defining the relationship data.
This will include the referencing object - definedby the field,
and any properties specific to this relationship.
Only objects within the specified scope will be returned.
defining the relationship class to query for
defining the scope objects must exist in.
s defining the relationships between this and the objects
referencing it
Gets the for this object, if this is available
If source information is available returns the specifying the name of the script
this object is found in, plus start line and column. These values may be null or -1 if no source position information is present
Checks if this is equal to another
object to compare
true if they are equal
Gets the Hashcode for this object
int hashcode
Internal method that updates the context object for the public
wrapper. Should only be called if the original context object is no longer valid, for instance
if it has been deleted from the model.
Identity of the object.
Type of the object.
Returns the property value.
Property.
Property value.
If does not exists on the object.
Returns the context object for this Sql Object
Defines options to be used for specific TSqlObjects
Specifies if the QUOTED_IDENTIFIER setting for objects is on or off
Specifies if the the ANSI_NULLS connection setting for objects is on or off
Specific SQL Server releases.
on-premises, version 9.0
on-premises, version 10.0
Microsoft Azure SQL Database, version 11
on-premises, version 11.0
on-premises, version 12.0
on-premises, version 13.0
Microsoft Azure SQL Database, version 12
on-premises, version 14.0
on-premises, version 15.0
All on-premises versions
All cloud releases
Combination of all SQL Server categories
Metadata information that describes a package.
Package name
Package version
Package description
Defines advanced options and additional artifacts for package creation.
Indicates whether warnings should be treated as errors during model validation
Indicates the list of errors that will be ignored during validation
Path to the file to be added as the refactor log content to the .dacpac
List of contributors that are required in order to deploy the .dacpac
List of contributors that are required in order to deploy the .dacpac
List of contributors that are required in order to deploy the .dacpac
Represents information about an item of interest in the model,
for example a .
Initializes an instance of a object.
Name representing the source for the information
start line, if known. May be -1 or 0 if the position is not known.
start column, if known. May be -1 or 0 if the position is not known.
Name representing the source for the information
The start line. May be -1 or 0 if the position is not known.
The start column. May be -1 or 0 if the position is not known.
Provides utility methods for the public model APIs.
Tries to get the most suitable for use during the rule analysis process.
If the TSqlObject was originally built from a scripted source then the original source fragment will be returned.
Otherwise a new AST will be generated from the .
This ensures that when reporting s the most accurate source information can be included
in the error messages.
Note that a fragment will only be returned if this is
supported for the . AST generation is only supported for top-level objects, with certain
objects such as the and inline constraints not supporting AST generation even though
they are top level types.
The whose fragment is being requested
The for the , if it is possible to
get fragment information for the object
true if the fragment was obtained, false otherwise.
Maps from a to the enum that matches it. The
platform compatibility can be used to filter out extensions that don't support that platform, for instance code analysis
rules.
A , for example the version for a
indicating the compatibility level required for extensions. If no specific
version was passed into the method then the default will be to use so
that all extensions are loaded.
Sets public key string for friend assemblies.
No signing
--