sql-server-2008 - 为 SQL Server 2008 创建用户?

标签 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' is not a valid login or you do not have permission.



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

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

Unable to rename primeboxs. (ObjectExplorer)

Rename failed for Database 'primebox'. (Microsoft.SqlServer.Smo)

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

The database could not be exclusively locked to perform the operation. (Microsoft SQL Server, Error: 5030)



我的猜测是问题在于数据库名称......但我从另一个数据库(我正在创建一个“想要的”备份)中获得了具有相同用户名和数据库名的代码。所以我在这里的一个角落里......任何帮助将不胜感激=)

PS:我的电脑名为box,windows 7。使用SQL Server 2008

最佳答案

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

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

关于sql-server-2008 - 为 SQL Server 2008 创建用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13123682/

相关文章:

sql-server-2008 - 是否有在 SSRS 2008 R2 或 2012 中本地化 "parameters/prompt"的解决方案?

sql - sql中每行的数量增加

SQL Server 2008 : Why won't this round to two decimal places?

sql - 替代 MIN 选择多行

SQL Server 相当于 ORACLE INSTR

sql - 如何将名称和架构相同但目录不同的文本文件导入数据库?

sql-server-2008 - 使用 SQL Server FTS Stemmer

sql - 在脚本中使用 T-SQL 'Two Digit Year Cutoff'

c# - 插入带有参数的多行 Sql Server

c# - 如何使用 WCF 服务保存文件