我们是使用SQL即服务的新手。由于没有用于用户管理的 GUI,因此我们很难弄清楚如何创建实际能够使用 SSMS 登录的用户。我可以创建有权访问正确数据库的用户,并使用这些用户以编程方式访问数据库,但不能通过 SSMS。如何创建多个可以登录和管理 SQL 即服务数据库的用户?
使用管理员用户连接到 Azure SQL 数据库。您可以使用如下所示的脚本自动创建多个用户:
declare @Name varchar(100),@sql varchar(400),@sql2 varchar(400),@sql3 varchar(400) ,@sql4 varchar(400)
declare @psw varchar(10) = 'Traf@12345';
declare @T table (Name varchar(100)) ;
insert into @T values
('SampleUser1'),
('SampleUser2')
While exists(select * from @T)
begin
select top 1 @Name = name from @T
IF NOT EXISTS (SELECT [name] FROM [sys].[sql_logins] WHERE [name] = @Name)
BEGIN
SET @sql = 'CREATE LOGIN '+'['+@name+']'+' WITH PASSWORD ='''+ @psw + '''; '
EXEC (@sql)
END
DELETE FROM @T WHERE Name = @Name
END
以下是创建用户所需的顺序:
----服务器级别
CREATE LOGIN TestUser
WITH PASSWORD = 'ThisIsAStrongPassword!'
GO
----主数据库级别创建用户
CREATE USER TestUser
FOR LOGIN TestUser
WITH DEFAULT_SCHEMA = dbo
GO
----数据库级别创建用户
CREATE USER TestUser
FOR LOGIN TestUser
WITH DEFAULT_SCHEMA = dbo
GO
-- 如果您希望用户能够创建数据库和登录名
exec sp_addRoleMember 'dbmanager', 'TestUser';
exec sp_addRoleMember 'loginmanager', 'TestUser'
-- 在每个单独的数据库中,授予 DBO
exec sp_addRoleMember 'db_owner', 'TestUser';
本文档将对您的要求有所帮助,https://azure.microsoft.com/en-in/blog/adding-users-to-your-sql-azure-database/