I used this to generate a random password. You can change what it returns to up to an 8000 character password if you feel brave. You will need this function (http://www.sqlteam.com/Forums/topic.asp?TOPIC_ID=14924) to generate the random numbers. For some reason, occassionaly a NULL (CHAR(0)) character would get in there and mess things up so I had to remove those. You could change this to even include the non alpha numeric characters.create procedure random_password @length smallint, @password nvarchar(256) = null outputas set nocount on declare @number int declare @lower int declare @upper int declare @part tinyint if @length > 256 set @length = 256 set @password = '' while len(@password) < @length begin exec random_number 0, 3, @part output if @part = 0 select @lower = ascii('a'), @upper = ascii('z') else if @part = 1 select @lower = ascii('A'), @upper = ascii('Z') else if @part = 2 select @lower = ascii('0'), @upper = ascii('9') set @part = null set @number = null exec random_number @lower, @upper, @number output set @password = @password + ltrim(char(@number)) if substring(@password, len(@password), 1) = char(0) set @password = left(@password, len(@password) - 1) endgo