0

我正在使用 T-SQL(使用 C# 运行脚本)在 SQL Server 中创建数据库。我很困惑:

如果我创建以用户身份登录的数据库:“myUser1”(myUser1 是我创建的登录名,具有 db_creator 角色)。

我是否必须在 T-SQL 中为该用户创建一个登录名,例如:

CREATE LOGIN [myUser1] WiTH Password = "test"
Go
Exec sp_grantdbaccess, myUser1
Go

还是我不需要这个?

4

2 回答 2

1

创建登录后,您需要在您希望使用的每个数据库上为该登录创建一个用户。

 use [Database]
 Create USER [user] FOR LOGIN [user]

 exec sp_addrolemember N'role',N'user'
于 2013-08-05T09:45:59.170 回答
1

创建一个新的登录

CREATE LOGIN LoginName
    WITH PASSWORD = 'password';

向此登录添加一个新用户:

USE NameOfDataBase;


GO
IF NOT EXISTS (SELECT *
               FROM   sys.database_principals
               WHERE  name = N'LoginName')
    BEGIN
        CREATE USER [LoginName] FOR LOGIN [LoginName];
        EXECUTE sp_addrolemember N'db_owner', N'LoginName';
    END
于 2013-08-05T10:04:42.783 回答