为SQL Server 2008创建用户?

时间:2012-10-29 14:34:20

标签: sql-server-2008

我正在使用此代码创建新用户。

/****** Object:  User [primebox] ******/
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'primebox')
CREATE USER [primebox] FOR LOGIN [primebox] WITH DEFAULT_SCHEMA=[primebox]
GO

当我尝试创建此特定用户时出现以下错误。

  

Msg 15007,Level 16,State 1,Line 1
  'primebox'不是有效的登录信息,或者您没有权限。

我不理解的部分是,我可以创建其他用户,但这个用户看起来特别无效

我尝试重命名我的数据库并收到此错误

  

无法重命名primebox。 (ObjectExplorer)

     数据库“primebox”的

重命名失败。 (Microsoft.SqlServer.Smo)

     

执行Transact-SQL语句时发生异常或   批量。 (Microsoft.SqlServer.ConnectionInfo)

     

无法独占锁定数据库以执行操作。   (Microsoft SQL Server,错误:5030)

我的猜测是问题是数据库名称......但我从另一个数据库(我正在创建一个'想成为'备份)中获取具有相同用户和数据库名称的代码。所以我在这里的一个角落......任何帮助都会很受欢迎=)

PS:我的计算机名是box,windows 7.使用SQL Server 2008

3 个答案:

答案 0 :(得分:26)

登录与用户不同,以下是如何创建新登录。

  1. 右键单击SQL Server Management Studio并选择 - >以管理员身份运行。

  2. 通常使用默认的Windows身份验证登录。

  3. 选择数据库 - >系统数据库 - >主。点击"新查询"按钮左上角。

  4. 将此查询粘贴到那里。 (有关SQL登录选项see here)的更多信息:

    CREATE LOGIN youruser WITH PASSWORD = 'yourpassword'
    
  5. 你应该得到这样的答复:

    Command(s) completed successfully.
    
  6. 检查以确保它已添加到dbo.syslogins

    select * from master.dbo.syslogins
    
  7. 关闭并重新启动SQL管理服务器(以管理员身份),然后转到“SQL Server配置”面板并单击“重新启动”,重新启动SQL Server。

  8. 在对象资源管理器中,单击主EL-PC \ SQLEXPRESS - >安全 - >登录。

  9. 您新创建的登录名应该在那里,右键单击并转到属性,您必须授予该用户访问默认数据库的权限,并设置默认数据库。

  10. 关闭SQL Server并使用SQL Server身份验证选项和用户名/密码再次登录。您现在应该使用新用户登录。

  11. 如何创建新用户

    1. 以管理员身份启动SQL Server Management Studio。
    2. 展开要创建新数据库用户的数据库。
    3. 右键单击"安全"文件夹选择"新用户",如果该选项不可用,您可能点击了服务器的安全文件夹。
    4. 添加名称和配置,然后单击“确定”。

答案 1 :(得分:10)

在SQL Server中,用户与登录不同。

要为数据库创建用户,首先必须使用create login语法为服务器创建登录

答案 2 :(得分:4)

此外,您还可以通过单击主安全文件夹enter image description here

,通过Sql Server Management Studio的UI创建新登录名。

并在创建用户

之后