SqlFunctionAttribute.IsDeterministic Eigenschaft

Definition

Gibt an, ob die benutzerdefinierte Funktion deterministisch ist.Indicates whether the user-defined function is deterministic.

public:
 property bool IsDeterministic { bool get(); void set(bool value); };
public bool IsDeterministic { get; set; }
member this.IsDeterministic : bool with get, set
Public Property IsDeterministic As Boolean

Eigenschaftswert

Boolean

true, wenn die Funktion deterministisch ist, andernfalls false.true if the function is deterministic; otherwise false.

Hinweise

Eine benutzerdefinierte Funktion gilt als deterministisch, wenn Sie bei denselben Eingabewerten und demselben Datenbankzustand auch immer dieselben Ausgabewerte erzeugt.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.

Die- IsDeterministic Eigenschaft ist auch nützlich, um das Ergebnis der Funktion in Form von indizierten berechneten Spalten und indizierten Sichten zu indizieren.The IsDeterministic property is also useful for indexing the result of the function in the form of indexed computed columns and indexed views. Wenn diese Eigenschaft nicht festgelegt ist, wird angenommen, dass die Funktion nicht deterministisch ist.If this property is not specified, the function is assumed to be non-deterministic.

Funktionen, die auf lokale Daten zugreifen, können deterministisch sein.Functions that access local data can be deterministic. Die Datenzugriffs Eigenschaft wird von der-Eigenschaft und der-Eigenschaft getrennt aufgezeichnet DataAccess SystemDataAccess .The data access characteristic is captured separately by the DataAccess and SystemDataAccess properties.

Beachten Sie, dass der Datenzugriff auf Remote Server (z. b. das Verwenden eines SqlConnection zum Herstellen einer Verbindung mit einer anderen Instanz von SQL Server) in benutzerdefinierten Funktionen verfügbar ist.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. Sie müssen jedoch weiterhin die- IsDeterministic Deklaration berücksichtigen.However, you must still honor the IsDeterministic declaration. Wenn die Common Language Runtime (CLR)-Funktion als deterministisch markiert ist, sollte Sie keine Nebeneffekte auf dem Remote Server verursachen.If the common language runtime (CLR) function is marked as deterministic, it should not cause side-effects in the remote server. Obwohl Nebeneffekte gegen die Kontext Verbindung eingeschränkt sind, erzwingen SQL Server die Einschränkung für Nebeneffekte über Remote Verbindungen nicht.While side-effects against the context connection are restricted, SQL Server will not enforce the restriction for side-effects over remote connections.

Der Standardwert dieses Attributs ist false.The default value of this attribute is false.

Markieren Sie eine Funktion nicht als deterministisch, wenn die Funktion nicht immer dieselben Ausgabewerte erzeugt, wenn die gleichen Eingabewerte und der gleiche Daten Bank Status angegeben sind.Do not mark a function as deterministic if the function does not always produce the same output values, given the same input values and the same database state. Wenn Sie eine Funktion als deterministisch markieren, sie aber nicht wirklich deterministisch ist, kann dies zu beschädigten indizierten Sichten und berechneten Spalten führen.Marking a function as deterministic when the function is not truly deterministic can result in corrupted indexed views and computed columns.

Gilt für: