IsDeterministic Property

SqlFunctionAttribute.IsDeterministic Property

Indicates whether the user-defined function is deterministic.

Namespace: Microsoft.SqlServer.Server
Assembly: System.Data (in

public bool IsDeterministic { get; set; }
/** @property */
public boolean get_IsDeterministic ()

/** @property */
public void set_IsDeterministic (boolean value)

public function get IsDeterministic () : boolean

public function set IsDeterministic (value : boolean)

Not applicable.

Property Value

true if the function is deterministic; otherwise false.

A user-defined function is said to be deterministic if it always produces the same output values given the same input values and the same database state.

The IsDeterministic property is also useful for indexing the result of the function in the form of indexed computed columns and indexed views. If this property is not specified, the function is assumed to be non-deterministic.

Unlike SQL Server 2000, in this version of SQL Server the definition of determinism is refined to allow functions that access local data to be deterministic. The data access characteristic is captured separately by the DataAccess and SystemDataAccess properties.

Note that data access to remote servers (for example, using a SqlConnection to connect to another SQL Server instance) is available in user-defined functions. However, you must still honor the IsDeterministic declaration. If the common language runtime (CLR) function is marked as deterministic, it should not cause side-effects in the remote server. While side-effects against the context connection are restricted, SQL Server will not enforce the restriction for side-effects over remote connections.

The default value of this attribute is false.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

© 2016 Microsoft