开发者

Create users dynamic names and assgin roles

I need to create user with dynamic names with a 开发者_高级运维variable name

example :

The following code gives a syntax error.

Create Login @User_name WITH PASSWORD @password;
                USE database; 

and i need to assign a role for created user ..


You can not use create login with variables. You have to create the statement dynamically or you can use sp_addlogin. According to http://msdn.microsoft.com/en-us/library/ms173768.aspx sp_addlogin is deprecated.

declare @UN sysname
declare @PW sysname
declare @S nvarchar(100)

set @UN = 'UserName'
set @PW = 'Password'

set @S = 'CREATE LOGIN ' + quotename(@UN) + ' WITH PASSWORD = ' + quotename(@PW, '''')

exec (@S)


You cannot use variables for object names. You can cheat

exec sp_addlogin @User_name, @password;

Either that or construct dynamic SQL, but make sure to use QUOTENAME to prevent SQL injection.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜