<p>I want to index a computed column in my database table which uses a number of user defined functions. However I just learned that my column is non-deterministic.</p>

<p>Without indexing its going to be way to slow to run queries that I need.</p>

<p>What's the best way of tracing through user defined functions to determine whether they are deterministic?</p>

<p>Is there any kind of tool in SQL Server Management Studio that will tell me whether a user defined function is deterministic or do I just need to trace through all the system-defined functions I'm using to find out which are non-deterministic and find other ways to write my code without them?</p>

Try:
```
```
SELECT  *
FROM    INFORMATION_SCHEMA.ROUTINES
WHERE   IS_DETERMINISTIC = 'NO'
        AND ROUTINE_TYPE = 'FUNCTION'
```
```
or
```
```
SELECT OBJECTPROPERTY(OBJECT_ID('schemaname.functionname'), 'IsDeterministic')
```
```
Sorry, IIRC, SQL Server 2000 did not allow non-deterministic UDFs.
Indexing a column that is non-deterministic is pretty of silly - after all if its value is not strictly dependent on parameters, it's not going to be very useful if it changes on you all willy-nilly, especially if it's used in an index to find things!