Table of Contents

Class ObjectSchema.SystemParameter

Namespace
LinqToDB.Tools.DataProvider.SqlServer.Schemas
Assembly
linq2db.Tools.dll

sys.system_parameters (Transact-SQL)

Applies to: √ SQL Server (all supported versions) √ Azure SQL Database √ Azure SQL Managed Instance √ Azure Synapse Analytics √ Analytics Platform System (PDW)

Contains one row for each system object that has parameters.


See sys.system_parameters.

[Table(Schema = "sys", Name = "system_parameters", IsView = true)]
public class ObjectSchema.SystemParameter
Inheritance
ObjectSchema.SystemParameter
Extension Methods

Properties

ColumnEncryptionKeyDatabaseName

Applies to: SQL Server 2016 (13.x) and later, SQL Database.

The name of the database where the column encryption key exists if different than the database of the column. NULL if the key exists in the same database as the column.

[Column("column_encryption_key_database_name")]
[Nullable]
public string? ColumnEncryptionKeyDatabaseName { get; set; }

Property Value

string

ColumnEncryptionKeyID

Applies to: SQL Server 2016 (13.x) and later, SQL Database.

ID of the CEK.

[Column("column_encryption_key_id")]
[Nullable]
public int? ColumnEncryptionKeyID { get; set; }

Property Value

int?

DefaultValue

If has_default_value is 1, the value of this column is the value of the default for the parameter; otherwise NULL.

[Column("default_value")]
[Nullable]
public object? DefaultValue { get; set; }

Property Value

object

EncryptionAlgorithmName

Applies to: SQL Server 2016 (13.x) and later, SQL Database.

Name of encryption algorithm.

Only AEAD_AES_256_CBC_HMAC_SHA_512 is supported.

[Column("encryption_algorithm_name")]
[Nullable]
public string? EncryptionAlgorithmName { get; set; }

Property Value

string

EncryptionType

Applies to: SQL Server 2016 (13.x) and later, SQL Database.

Encryption type:

1 = Deterministic encryption

2 = Randomized encryption

[Column("encryption_type")]
[Nullable]
public int? EncryptionType { get; set; }

Property Value

int?

EncryptionTypeDesc

Applies to: SQL Server 2016 (13.x) and later, SQL Database.

Encryption type description:

RANDOMIZED

DETERMINISTIC

[Column("encryption_type_desc")]
[Nullable]
public string? EncryptionTypeDesc { get; set; }

Property Value

string

HasDefaultValue

1 = Parameter has default value.

SQL Server only maintains default values for CLR objects in this catalog view; therefore, this column will always have a value of 0 for Transact-SQL objects. To view the default value of a parameter in a Transact-SQL object, query the definition column of the sys.sql_modules catalog view, or use the OBJECT_DEFINITION system function.

[Column("has_default_value")]
[NotNull]
public bool HasDefaultValue { get; set; }

Property Value

bool

IsCursorRef

1 = Parameter is a cursor-reference parameter.

[Column("is_cursor_ref")]
[NotNull]
public bool IsCursorRef { get; set; }

Property Value

bool

IsNullable

1 = Parameter is nullable. (the default).

0 = Parameter is not nullable, for more efficient execution of natively-compiled stored procedures.

[Column("is_nullable")]
[Nullable]
public bool? IsNullable { get; set; }

Property Value

bool?

IsOutput

1 = Parameter is output (or return); otherwise, 0.

[Column("is_output")]
[NotNull]
public bool IsOutput { get; set; }

Property Value

bool

IsReadonly

1 = Parameter is READONLY; otherwise, 0.

[Column("is_readonly")]
[NotNull]
public bool IsReadonly { get; set; }

Property Value

bool

IsXmlDocument

1 = Content is a complete XML document.

0 = Content is a document fragment or the data type of the column is not xml.

[Column("is_xml_document")]
[NotNull]
public bool IsXmlDocument { get; set; }

Property Value

bool

MaxLength

Maximum length of the parameter, in bytes. Value will be -1 for when column data type is varchar(max), nvarchar(max), varbinary(max), or xml.

[Column("max_length")]
[NotNull]
public short MaxLength { get; set; }

Property Value

short

Name

Name of the parameter. Is unique within the object.

If the object is a scalar function, the parameter name is an empty string in the row representing the return value.

[Column("name")]
[Nullable]
public string? Name { get; set; }

Property Value

string

ObjectID

ID of the object to which this parameter belongs.

[Column("object_id")]
[NotNull]
public int ObjectID { get; set; }

Property Value

int

ParameterID

ID of the parameter. Is unique within the object. If the object is a scalar function, parameter_id = 0 represents the return value.

[Column("parameter_id")]
[NotNull]
public int ParameterID { get; set; }

Property Value

int

Precision

Precision of the parameter if numeric-based; otherwise, 0.

[Column("precision")]
[NotNull]
public byte Precision { get; set; }

Property Value

byte

Scale

Scale of the parameter if numeric-based; otherwise, 0.

[Column("scale")]
[NotNull]
public byte Scale { get; set; }

Property Value

byte

SystemObject

system_objects (sys.system_objects)

[Association(ThisKey = "ObjectID", OtherKey = "ObjectID", CanBeNull = false)]
public ObjectSchema.SystemObject SystemObject { get; set; }

Property Value

ObjectSchema.SystemObject

SystemTypeID

ID of the system type of the parameter.

[Column("system_type_id")]
[NotNull]
public byte SystemTypeID { get; set; }

Property Value

byte

UserTypeID

ID of the type of the parameter as defined by the user.

To return the name of the type, join to the sys.types catalog view on this column.

[Column("user_type_id")]
[NotNull]
public int UserTypeID { get; set; }

Property Value

int

XmlCollectionID

Non-zero if the data type of the parameter is xml and the XML is typed. The value is the ID of the collection that contains the validating XML schema namespace for the parameter.

0 = There is no XML schema collection.

[Column("xml_collection_id")]
[NotNull]
public int XmlCollectionID { get; set; }

Property Value

int