SqlFunctionAttribute.IsDeterministic Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Indica se a função definida pelo usuário é determinística.
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
Valor da propriedade
true
se a função for determinística; caso contrário, false
.
Comentários
Uma função definida pelo usuário será considerada determinística se ela sempre produzir os mesmos valores de saída, considerando os mesmos valores de entrada e o mesmo estado do banco de dados.
A IsDeterministic propriedade também é útil para indexar o resultado da função na forma de colunas computadas indexadas e exibições indexadas. Se essa propriedade não for especificada, a função será considerada não determinística.
As funções que acessam dados locais podem ser determinísticas. A característica de acesso a DataAccess dados é capturada separadamente pelas propriedades e SystemDataAccess .
Observe que o acesso a dados a servidores remotos (por exemplo, usando um SqlConnection para se conectar a outra instância SQL Server) está disponível em funções definidas pelo usuário. No entanto, você ainda deve honrar a IsDeterministic declaração. Se a função CLR (Common Language Runtime) estiver marcada como determinística, ela não deverá causar efeitos colaterais no servidor remoto. Embora os efeitos colaterais na conexão de contexto sejam restritos, SQL Server não imporá a restrição de efeitos colaterais em conexões remotas.
O valor padrão desse atributo é false
.
Não marque uma função como determinística se a função nem sempre produzir os mesmos valores de saída, considerando os mesmos valores de entrada e o mesmo estado do banco de dados. Marcar uma função como determinística quando a função não é realmente determinística pode resultar em exibições indexadas corrompidas e colunas computadas.