【发布时间】:2020-12-04 00:59:56
【问题描述】:
我在 SQL Server 下有一个用户 -> 安全性-> 以“testuser”身份登录。
我创建了一个数据库 TestDB 并尝试在 TestDB 中创建一个名为“testuser”的用户,但出现以下错误:
消息 15063,第 16 级,状态 1,第 11 行
该登录名已经有一个使用不同用户名的帐户。
消息 15410,级别 11,状态 1,过程 sys.sp_addrolemember,第 35 行 [批处理开始行 0]
此数据库中不存在用户或角色“testuser”。
这是我使用的创建脚本:
USE [TestDB]
IF NOT EXISTS (SELECT loginname
FROM master.dbo.syslogins
WHERE name = 'testuser')
BEGIN
CREATE LOGIN [testuser]
WITH PASSWORD = 'testpassword',
DEFAULT_DATABASE = TestDB,
DEFAULT_LANGUAGE = [us_english],
CHECK_EXPIRATION = OFF,
CHECK_POLICY = OFF
END
USE TestDB;
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = 'testuser')
BEGIN
CREATE USER [testuser] FOR LOGIN [testuser]
WITH DEFAULT_SCHEMA = [dbo]
END
EXEC sys.sp_addrolemember
@rolename = N'db_owner', @membername = N'testuser'
我假设我应该能够在数据库级别创建此用户?
【问题讨论】:
标签: sql-server