How do I create a new user in a SQL Azure database?

后端 未结 9 1689
礼貌的吻别
礼貌的吻别 2020-12-12 13:17

I am trying to use the following template:

-- =================================================
-- Create User as DBO template for SQL Azure Database
-- ====         


        
相关标签:
9条回答
  • 2020-12-12 13:41

    I followed the answers here but when I tried to connect with my new user, I got an error message stating "The server principal 'newuser' is not able to access the database 'master' under the current security context".

    I had to also create a new user in the master table to successfully log in with SSMS.

    USE [master]
    GO
    CREATE LOGIN [newuser] WITH PASSWORD=N'blahpw'
    GO
    CREATE USER [newuser] FOR LOGIN [newuser] WITH DEFAULT_SCHEMA=[dbo]
    GO
    
    USE [MyDatabase]
    CREATE USER newuser FOR LOGIN newuser WITH DEFAULT_SCHEMA = dbo
    GO
    EXEC sp_addrolemember N'db_owner', N'newuser'
    GO
    
    0 讨论(0)
  • 2020-12-12 13:44

    Check out this link for all of the information : https://azure.microsoft.com/en-us/blog/adding-users-to-your-sql-azure-database/

    First you need to create a login for SQL Azure, its syntax is as follows:

    CREATE LOGIN username WITH password='password';
    

    This command needs to run in master db. Only afterwards can you run commands to create a user in the database. The way SQL Azure or SQL Server works is that there is a login created first at the server level and then it is mapped to a user in every database.

    HTH

    0 讨论(0)
  • 2020-12-12 13:45

    I found this link very helpful:
    https://azure.microsoft.com/en-gb/documentation/articles/sql-database-manage-logins/

    It details things like:
    - Azure SQL Database subscriber account
    - Using Azure Active Directory users to access the database
    - Server-level principal accounts (unrestricted access)
    - Adding users to the dbmanager database role

    I used this and Stuart's answer to do the following:
    On the master database (see link as to who has permissions on this):

    CREATE LOGIN [MyAdmin] with password='ReallySecurePassword'
    

    And then on the database in question:

    CREATE USER [MyAdmin] FROM LOGIN [MyAdmin]
    ALTER ROLE db_owner ADD MEMBER [MyAdmin]
    

    You can also create users like this, according to the link:

    CREATE USER [mike@contoso.com] FROM EXTERNAL PROVIDER;
    
    0 讨论(0)
提交回复
热议问题