Partager via


SqlFunctionAttribute.IsDeterministic Propriété

Définition

Indique si la fonction définie par l'utilisateur est déterministe.

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

Valeur de propriété

true si la fonction est déterministe ; sinon, false.

Remarques

Une fonction définie par l’utilisateur est dite déterministe si elle produit toujours les mêmes valeurs de sortie en fonction des mêmes valeurs d’entrée et du même état de base de données.

La IsDeterministic propriété est également utile pour indexer le résultat de la fonction sous la forme de colonnes calculées indexées et de vues indexées. Si cette propriété n’est pas spécifiée, la fonction est supposée être non déterministe.

Les fonctions qui accèdent aux données locales peuvent être déterministes. La caractéristique d’accès aux données est capturée séparément par les DataAccess propriétés et SystemDataAccess .

Notez que l’accès aux données aux serveurs distants (par exemple, l’utilisation d’un SqlConnection pour se connecter à une autre instance de SQL Server) est disponible dans les fonctions définies par l’utilisateur. Toutefois, vous devez toujours respecter la IsDeterministic déclaration. Si la fonction CLR (Common Language Runtime) est marquée comme déterministe, elle ne doit pas provoquer d’effets secondaires sur le serveur distant. Bien que les effets secondaires sur la connexion de contexte soient limités, SQL Server n’applique pas la restriction pour les effets secondaires sur les connexions distantes.

La valeur par défaut de cet attribut est false.

Ne marquez pas une fonction comme déterministe si la fonction ne produit pas toujours les mêmes valeurs de sortie, étant donné les mêmes valeurs d’entrée et le même état de base de données. Le fait de marquer une fonction comme déterministe lorsque la fonction n’est pas vraiment déterministe peut entraîner des vues indexées et des colonnes calculées endommagées.

S’applique à