我正在使用此代码创建新用户。
/****** 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
答案 0 :(得分:26)
登录与用户不同,以下是如何创建新登录。
右键单击SQL Server Management Studio并选择 - >以管理员身份运行。
通常使用默认的Windows身份验证登录。
选择数据库 - >系统数据库 - >主。点击"新查询"按钮左上角。
将此查询粘贴到那里。 (有关SQL登录选项see here)的更多信息:
CREATE LOGIN youruser WITH PASSWORD = 'yourpassword'
你应该得到这样的答复:
Command(s) completed successfully.
检查以确保它已添加到dbo.syslogins
select * from master.dbo.syslogins
关闭并重新启动SQL管理服务器(以管理员身份),然后转到“SQL Server配置”面板并单击“重新启动”,重新启动SQL Server。
在对象资源管理器中,单击主EL-PC \ SQLEXPRESS - >安全 - >登录。
您新创建的登录名应该在那里,右键单击并转到属性,您必须授予该用户访问默认数据库的权限,并设置默认数据库。
关闭SQL Server并使用SQL Server身份验证选项和用户名/密码再次登录。您现在应该使用新用户登录。
如何创建新用户
答案 1 :(得分:10)
在SQL Server中,用户与登录不同。
要为数据库创建用户,首先必须使用create login
语法为服务器创建登录
答案 2 :(得分:4)
此外,您还可以通过单击主安全文件夹
,通过Sql Server Management Studio的UI创建新登录名。并在创建用户
之后