将登录和用户添加到SQL2005

时间:2015-04-22 11:59:09

标签: sql-server tsql

我正在尝试使用存储过程将用户添加到我们的数据库中。我使用以下代码

declare @username as varchar(50)
set @username ='test1'
DECLARE @SQL NVARCHAR(4000);
begin

SET @SQL = 'CREATE LOGIN ' + @username + ' WITH PASSWORD = ''12345'',     DEFAULT_DATABASE=[dbname], DEFAULT_LANGUAGE=[British],     CHECK_EXPIRATION=OFF,  CHECK_POLICY=OFF';

EXECUTE(@SQL);

end
EXEC sp_grantdbaccess @username;
EXEC SP_ADDROLEMEMBER N'db_owner', @username,

这可以工作,但会为每个新用户生成一个架构。我想将用户附加到现有架构。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

“Login”将主要条目授予SERVER。

“用户”将登录条目授予单个数据库。

一个“登录”可以与许多用户相关联(每个数据库一个)。

因此,您应该能够在数据库级别定义模式。

答案 1 :(得分:0)

您应该使用CREATE USER替换sp_grantdbaccess。不推荐使用sp_grantdbacess过程。

您可以使用CREATE USER附加默认架构。来自http://msdn.microsoft.com/en-us/library/ms173463(SQL.105).aspx

<?= $form->field($model, 'survey_type')->dropDownList([$surveyTypeList],['prompt'=>'Select Survey Type','id'=>'Survey_Type_dropdown']) ?>