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
--