In SQL Server all I want to do is select one field and assign a random number to each row. There will be over 1M rows, and I will then order by the random numbers to select the top 50K as a random sample. 

If i do:

```
Select x, rand()*(50000-1)+1) 
From Y 

```

I get all of the x that I want, but they each have the same random number.