在 Azure SQL PaaS 中使用 SSMS 创建用户



我们是使用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/

最新更新