SqlFunctionAttribute.IsDeterministic Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menunjukkan apakah fungsi yang ditentukan pengguna bersifat deterministik.
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
Nilai Properti
true jika fungsinya deterministik; jika tidak false.
Keterangan
Fungsi yang ditentukan pengguna dikatakan deterministik jika selalu menghasilkan nilai output yang sama mengingat nilai input yang sama dan status database yang sama.
Properti IsDeterministic ini juga berguna untuk mengindeks hasil fungsi dalam bentuk kolom komputasi terindeks dan tampilan terindeks. Jika properti ini tidak ditentukan, fungsi diasumsikan non-deterministik.
Fungsi yang mengakses data lokal dapat menjadi deterministik. Karakteristik akses data ditangkap secara terpisah oleh DataAccess properti dan SystemDataAccess .
Perhatikan bahwa akses data ke server jarak jauh (misalnya, menggunakan SqlConnection untuk menyambungkan ke instans SQL Server lain) tersedia dalam fungsi yang ditentukan pengguna. Namun, Anda harus tetap menghormati IsDeterministic deklarasi. Jika fungsi runtime bahasa umum (CLR) ditandai sebagai deterministik, fungsi tersebut tidak boleh menyebabkan efek samping di server jarak jauh. Meskipun efek samping terhadap koneksi konteks dibatasi, SQL Server tidak akan memberlakukan pembatasan untuk efek samping atas koneksi jarak jauh.
Nilai default atribut ini adalah false.
Jangan menandai fungsi sebagai deterministik jika fungsi tidak selalu menghasilkan nilai output yang sama, mengingat nilai input yang sama dan status database yang sama. Menandai fungsi sebagai deterministik ketika fungsi tidak benar-benar deterministik dapat mengakibatkan tampilan terindeks yang rusak dan kolom komputasi.