Styra och bevilja databas åtkomst till SQL Database och SQL Data WarehouseControlling and granting database access to SQL Database and SQL Data Warehouse

Efter konfigurationen av brand Väggs regler kan du ansluta till Azure SQL Database och SQL Data Warehouse som ett administratörs konto, som databas ägare eller som en databas användare i databasen.After firewall rules configuration, you can connect to Azure SQL Database and SQL Data Warehouse as one of the administrator accounts, as the database owner, or as a database user in the database.

Anteckning

Det här avsnittet gäller för Azure SQL Server och för att SQL Database och SQL Data Warehouse databaser som skapats på Azure SQL-servern.This topic applies to Azure SQL server, and to SQL Database and SQL Data Warehouse databases created on the Azure SQL server. För enkelhetens skull används SQL Database när det gäller både SQL Database och SQL Data Warehouse.For simplicity, SQL Database is used when referring to both SQL Database and SQL Data Warehouse.

Tips

En själv studie kurs finns i skydda din Azure SQL Database.For a tutorial, see Secure your Azure SQL Database. Den här självstudien gäller inte för Azure SQL Database hanterade instanser.This tutorial does not apply to Azure SQL Database Managed Instance.

Obegränsade administrativa kontonUnrestricted administrative accounts

Det finns två administrativa konton (Serveradministratör och Active Directory-administratör) som fungerar som administratörer.There are two administrative accounts (Server admin and Active Directory admin) that act as administrators. Om du vill identifiera administratörs kontona för din SQL-Server öppnar du Azure Portal och navigerar till fliken Egenskaper i SQL Server eller SQL Database.To identify these administrator accounts for your SQL server, open the Azure portal, and navigate to the Properties tab of your SQL server or SQL Database.

SQL-serveradministratörer

  • Server administratörServer admin

    När du skapar en Azure SQL-server måste du ange en Inloggning för serveradministratör.When you create an Azure SQL server, you must designate a Server admin login. SQL Server skapar kontot som en inloggning i huvuddatabasen.SQL server creates that account as a login in the master database. Det här kontot ansluter med hjälp av SQL Server-autentisering (användarnamn och lösenord).This account connects using SQL Server authentication (user name and password). Endast ett av dessa konton kan finnas.Only one of these accounts can exist.

    Anteckning

    Om du vill återställa lösen ordet för Server administratören går du till Azure Portal, klickar på SQL-servrar, väljer servern i listan och klickar sedan på Återställ lösen ord.To reset the password for the server admin, go to the Azure portal, click SQL Servers, select the server from the list, and then click Reset Password.

  • Azure Active Directory administratörAzure Active Directory admin

    Ett Azure Active Directory-konto, antingen ett enskilt eller säkerhetsgruppkonto, kan också konfigureras som en administratör.One Azure Active Directory account, either an individual or security group account, can also be configured as an administrator. Det är valfritt att konfigurera en Azure AD-administratör, men en Azure AD-administratör måste konfigureras om du vill använda Azure AD-konton för att ansluta till SQL Database.It is optional to configure an Azure AD administrator, but an Azure AD administrator must be configured if you want to use Azure AD accounts to connect to SQL Database. Mer information om hur du konfigurerar åtkomst till Azure Active Directory finns i Ansluta till SQL Database eller SQL Data Warehouse med Azure Active Directory-autentisering och SSMS-stöd för Azure AD MFA med SQL Database och SQL Data Warehouse.For more information about configuring Azure Active Directory access, see Connecting to SQL Database or SQL Data Warehouse By Using Azure Active Directory Authentication and SSMS support for Azure AD MFA with SQL Database and SQL Data Warehouse.

Administratörs kontona för Server administratören och Azure AD har följande egenskaper:The Server admin and Azure AD admin accounts have the following characteristics:

  • Är de enda konton som kan ansluta automatiskt till alla SQL Database på servern.Are the only accounts that can automatically connect to any SQL Database on the server. (För att kunna ansluta till en användardatabas måste andra konton antingen vara ägare till databasen eller ha ett användarkonto i databasen.)(To connect to a user database, other accounts must either be the owner of the database, or have a user account in the user database.)
  • Dessa konton går in i användardatabaser som användaren dbo och de har alla behörigheter i användardatabaserna.These accounts enter user databases as the dbo user and they have all the permissions in the user databases. (Ägaren till en användardatabas går också in i databasen som användaren dbo.)(The owner of a user database also enters the database as the dbo user.)
  • Ange master inte databasen dbo som användare och har begränsad behörighet i Master.Do not enter the master database as the dbo user, and have limited permissions in master.
  • Är inte medlemmar i den fasta Server sysadmin rollen standard SQL Server, vilket inte är tillgängligt i SQL Database.Are not members of the standard SQL Server sysadmin fixed server role, which is not available in SQL database.
  • Kan skapa, ändra och släppa databaser, inloggningar, användare i huvud servrar och IP-brandvägg på server nivå.Can create, alter, and drop databases, logins, users in master, and server-level IP firewall rules.
  • Kan lägga till och ta bort medlemmar dbmanager i loginmanager rollerna och.Can add and remove members to the dbmanager and loginmanager roles.
  • Kan visa sys.sql_logins system tabellen.Can view the sys.sql_logins system table.

Konfigurering av brandväggenConfiguring the firewall

När brandväggen på servernivå är konfigurerad för en enskild IP-adress eller ett intervall kan SQL-serveradministratören och Azure Active Directory-administratören ansluta till huvuddatabasen och alla användardatabaser.When the server-level firewall is configured for an individual IP address or range, the SQL server admin and the Azure Active Directory admin can connect to the master database and all the user databases. Den första brandväggen på servernivå kan konfigureras via Azure-portalenmed hjälp av PowerShell eller med REST API:t.The initial server-level firewall can be configured through the Azure portal, using PowerShell or using the REST API. När en anslutning har upprättats kan ytterligare IP-brandvägg på server nivå också konfigureras med hjälp av Transact-SQL.Once a connection is made, additional server-level IP firewall rules can also be configured by using Transact-SQL.

Åtkomstväg för administratörAdministrator access path

När brandväggen på servernivå är korrekt konfigurerad kan SQL-serveradministratören och Azure Active Directory-administratören ansluta med hjälp av klientverktyg som SQL Server Management Studio eller SQL Server Data Tools.When the server-level firewall is properly configured, the SQL server admin and the Azure Active Directory admin can connect using client tools such as SQL Server Management Studio or SQL Server Data Tools. Endast de senaste verktygen innehåller alla funktioner och möjligheter.Only the latest tools provide all the features and capabilities. I följande diagram visas en typisk konfiguration för två administratörskonton.The following diagram shows a typical configuration for the two administrator accounts.

konfiguration av de två administrations kontona

Vid användning av en öppen port i brandväggen på servernivå kan administratörer ansluta till en SQL Database.When using an open port in the server-level firewall, administrators can connect to any SQL Database.

Ansluta till en databas med hjälp av SQL Server Management StudioConnecting to a database by using SQL Server Management Studio

En genom gång av hur du skapar en server, en databas, en IP-brandvägg på server nivå och hur du använder SQL Server Management Studio för att fråga en databas finns i komma igång med Azure SQL Database servrar, databaser och brand Väggs regler med hjälp av Azure Portal och SQL Server Management Studio.For a walk-through of creating a server, a database, server-level IP firewall rules, and using SQL Server Management Studio to query a database, see Get started with Azure SQL Database servers, databases, and firewall rules by using the Azure portal and SQL Server Management Studio.

Viktigt

Det rekommenderas att du alltid använder den senaste versionen av Management Studio för att förbli synkroniserad med uppdateringar av Microsoft Azure och SQL Database.It is recommended that you always use the latest version of Management Studio to remain synchronized with updates to Microsoft Azure and SQL Database. Uppdatera SQL Server Management Studio.Update SQL Server Management Studio.

Ytterligare administrativa roller på servernivåAdditional server-level administrative roles

Viktigt

Det här avsnittet gäller inte för Azure SQL Database hanterade instansen eftersom rollerna är speciella för Azure SQL Database.This section does not apply to Azure SQL Database Managed Instance as these roles are specific to Azure SQL Database.

Förutom de administrativa roller på servernivå som diskuterats, erbjuder SQL Database två begränsade administrativa roller i huvuddatabasen där användarkonton kan läggas till som beviljar behörigheter att antingen skapa databaser eller hantera inloggningar.In addition to the server-level administrative roles discussed previously, SQL Database provides two restricted administrative roles in the master database to which user accounts can be added that grant permissions to either create databases or manage logins.

DatabasskapareDatabase creators

En av dessa administrativa roller är dbmanager-rollen.One of these administrative roles is the dbmanager role. Medlemmar i den här rollen kan skapa nya databaser.Members of this role can create new databases. För att använda den här rollen skapar du en användare i master-databasen och lägger sedan till användaren i dbmanager-databasrollen.To use this role, you create a user in the master database and then add the user to the dbmanager database role. Om du vill skapa en databas måste användaren vara en användare baserad på en SQL Server inloggning i master databasen eller innesluten databas användare baserat på en Azure Active Directory användare.To create a database, the user must be a user based on a SQL Server login in the master database or contained database user based on an Azure Active Directory user.

  1. Anslut till master databasen med ett administratörs konto.Using an administrator account, connect to the master database.

  2. Skapa en inloggning för SQL Server autentisering med hjälp av instruktionen create login .Create a SQL Server authentication login, using the CREATE LOGIN statement. Exempel på instruktion:Sample statement:

    CREATE LOGIN Mary WITH PASSWORD = '<strong_password>';
    

    Anteckning

    Använd ett starkt lösenord när du skapar en inloggning eller en oberoende databasanvändare.Use a strong password when creating a login or contained database user. Mer information finns i Starka lösenord.For more information, see Strong Passwords.

    För att förbättra prestandan cachelagras inloggningar (huvudnamn på servernivå) tillfälligt på databasnivån.To improve performance, logins (server-level principals) are temporarily cached at the database level. Information om hur du uppdaterar autentiseringscache finns i DBCC FLUSHAUTHCACHE.To refresh the authentication cache, see DBCC FLUSHAUTHCACHE.

  3. Skapa en användare i- databasenmedhjälpavinstruktionenCreatemaster User.In the master database, create a user by using the CREATE USER statement. Användaren kan vara en Azure Active Directory-autentiserad oberoende databasanvändare (om du har konfigurerat din miljö för Azure AD-autentisering), eller en SQL Server-autentiserad oberoende databasanvändare, eller en SQL Server-autentiserad användare baserad på en SQL Server-autentiserad inloggning (skapad i föregående steg.) Exempel på instruktioner:The user can be an Azure Active Directory authentication contained database user (if you have configured your environment for Azure AD authentication), or a SQL Server authentication contained database user, or a SQL Server authentication user based on a SQL Server authentication login (created in the previous step.) Sample statements:

    CREATE USER [mike@contoso.com] FROM EXTERNAL PROVIDER; -- To create a user with Azure Active Directory
    CREATE USER Ann WITH PASSWORD = '<strong_password>'; -- To create a SQL Database contained database user
    CREATE USER Mary FROM LOGIN Mary;  -- To create a SQL Server user based on a SQL Server authentication login
    
  4. Lägg till den nya användaren i databas rollen DBManager i master med hjälp av Alter Role -instruktionen.Add the new user, to the dbmanager database role in master using the ALTER ROLE statement. Exempel på instruktioner:Sample statements:

    ALTER ROLE dbmanager ADD MEMBER Mary; 
    ALTER ROLE dbmanager ADD MEMBER [mike@contoso.com];
    

    Anteckning

    Dbmanager är en databasroll i en huvuddatabas, så du kan bara lägga till en databasanvändare i dbmanager-rollen.The dbmanager is a database role in master database so you can only add a database user to the dbmanager role. Du kan inte lägga till en inloggning på servernivå till databasnivårollen.You cannot add a server-level login to database-level role.

  5. Vid behov konfigurerar du en brandväggsregel så att den nya användaren kan ansluta.If necessary, configure a firewall rule to allow the new user to connect. (Den nya användaren kan omfattas av en befintlig brandväggsregel.)(The new user might be covered by an existing firewall rule.)

Användaren kan nu ansluta till master databasen och kan skapa nya databaser.Now the user can connect to the master database and can create new databases. Det konto som skapar databasen blir ägare till databasen.The account creating the database becomes the owner of the database.

InloggningshanterareLogin managers

Den andra administrativa rollen är inloggningshanterare-rollen.The other administrative role is the login manager role. Medlemmar i den här rollen kan skapa nya inloggningar i huvuddatabasen.Members of this role can create new logins in the master database. Om du vill kan du slutföra samma steg (skapa en inloggning och användare och lägga till en användare i rollen loginmanager) så att en användare kan skapa nya inloggningar i huvuddatabasen.If you wish, you can complete the same steps (create a login and user, and add a user to the loginmanager role) to enable a user to create new logins in the master. Inloggningar är vanligtvis inte nödvändiga, eftersom Microsoft rekommenderar att du använder oberoende databasanvändare, som autentiseras på databasnivå istället för att använda användare baserat på inloggningar.Usually logins are not necessary as Microsoft recommends using contained database users, which authenticate at the database-level instead of using users based on logins. Mer information finns i Oberoende databasanvändare – göra databasen portabel.For more information, see Contained Database Users - Making Your Database Portable.

Användare som är icke-administratörerNon-administrator users

Icke-administratörskonton behöver i allmänhet inte åtkomst till huvuddatabasen.Generally, non-administrator accounts do not need access to the master database. Skapa oberoende databasanvändare på databasnivå med hjälp av instruktionen SKAPA ANVÄNDARE (Transact-SQL).Create contained database users at the database level using the CREATE USER (Transact-SQL) statement. Användaren kan vara en Azure Active Directory-autentiserad oberoende databasanvändare (om du har konfigurerat din miljö för Azure AD-autentisering), eller en SQL Server-autentiserad oberoende databasanvändare, eller en SQL Server-autentiserad användare baserad på en SQL Server-autentiserad inloggning (skapad i föregående steg.) Mer information finns i Oberoende databasanvändare – göra databasen portabel.The user can be an Azure Active Directory authentication contained database user (if you have configured your environment for Azure AD authentication), or a SQL Server authentication contained database user, or a SQL Server authentication user based on a SQL Server authentication login (created in the previous step.) For more information, see Contained Database Users - Making Your Database Portable.

För att skapa användare, anslut till databasen och köra instruktioner som liknar följande exempel:To create users, connect to the database, and execute statements similar to the following examples:

CREATE USER Mary FROM LOGIN Mary; 
CREATE USER [mike@contoso.com] FROM EXTERNAL PROVIDER;

Initialt kan endast en av administratörerna eller ägaren av databasen skapa användare.Initially, only one of the administrators or the owner of the database can create users. För att auktorisera ytterligare användare som ska kunna skapa nya användare: Ge den valda användaren ALTER ANY USER-behörighet genom att använda en instruktion som:To authorize additional users to create new users, grant that selected user the ALTER ANY USER permission, by using a statement such as:

GRANT ALTER ANY USER TO Mary;

Om du vill ge fler användare fullständig kontroll över databasen gör du dem till medlem i den fasta databas rollen db_owner .To give additional users full control of the database, make them a member of the db_owner fixed database role.

I Azure SQL Database använder du ALTER ROLE instruktionen.In Azure SQL Database use the ALTER ROLE statement.

ALTER ROLE db_owner ADD MEMBER Mary;

I Azure SQL Data Warehouse använder du exec sp_addrolemember.In Azure SQL Data Warehouse use EXEC sp_addrolemember.

EXEC sp_addrolemember 'db_owner', 'Mary';

Anteckning

En vanlig orsak till att skapa en databas användare baserat på en SQL Database Server inloggning är för användare som behöver åtkomst till flera databaser.One common reason to create a database user based on a SQL Database server login is for users that need access to multiple databases. Eftersom inneslutna databas användare är enskilda entiteter, behåller varje databas sin egen användare och det egna lösen ordet.Since contained database users are individual entities, each database maintains its own user and its own password. Detta kan medföra att användaren måste komma ihåg varje lösen ord för varje databas, och det kan bli untenable när du behöver ändra flera lösen ord för många databaser.This can cause overhead as the user must then remember each password for each database, and it can become untenable when having to change multiple passwords for many databases. Men när du använder SQL Server inloggningar och hög tillgänglighet (aktiva geo-replikering och failover-grupper) måste SQL Server inloggningar anges manuellt på varje server.However, when using SQL Server Logins and high availability (active geo-replication and failover groups), the SQL Server logins must be set manually at each server. Annars kommer databas användaren inte längre att mappas till Server inloggningen efter en redundansväxling och kommer inte att kunna komma åt databasen efter redundansväxlingen.Otherwise, the database user will no longer be mapped to the server login after a failover occurs, and will not be able to access the database post failover. Mer information om hur du konfigurerar inloggningar för geo-replikering finns i Konfigurera och hantera Azure SQL Database säkerhet för geo-återställning eller redundans.For more information on configuring logins for geo-replication, please see Configure and manage Azure SQL Database security for geo-restore or failover.

Konfigurera brandvägg på databasnivåConfiguring the database-level firewall

Bästa praxis är att icke-administratörer bara har åtkomst genom brandväggen till de databaser som de använder.As a best practice, non-administrator users should only have access through the firewall to the databases that they use. Istället för att auktorisera deras IP-adresser genom brandväggen på servernivå och ge dem åtkomst till alla databaser, använd instruktionen sp_set_database_firewall_rule för att konfigurera brandväggen på databasnivå.Instead of authorizing their IP addresses through the server-level firewall and giving them access to all databases, use the sp_set_database_firewall_rule statement to configure the database-level firewall. Brandväggen på databasnivå kan inte konfigureras via portalen.The database-level firewall cannot be configured by using the portal.

Åtkomstväg för icke-administratörNon-administrator access path

När brandväggen på databasnivå är korrekt konfigurerad kan databasanvändare ansluta med klientverktyg som SQL Server Management Studio eller SQL Server Data Tools.When the database-level firewall is properly configured, the database users can connect using client tools such as SQL Server Management Studio or SQL Server Data Tools. Endast de senaste verktygen innehåller alla funktioner och möjligheter.Only the latest tools provide all the features and capabilities. I följande diagram visas en typisk åtkomstväg för en icke-administratör.The following diagram shows a typical non-administrator access path.

Åtkomstväg för icke-administratör

Grupper och rollerGroups and roles

Effektiv åtkomsthantering använder behörigheter tilldelade grupper och roller i stället för enskilda användare.Efficient access management uses permissions assigned to groups and roles instead of individual users.

  • När du använder Azure Active Directory-autentisering, lägger du Azure Active Directory-användare i en Azure Active Directory-grupp.When using Azure Active Directory authentication, put Azure Active Directory users into an Azure Active Directory group. Skapa en oberoende databasanvändare för gruppen.Create a contained database user for the group. Placera en eller flera användare i en databasrollen och tilldela sedan behörigheter till databasrollen.Place one or more database users into a database role and then assign permissions to the database role.

  • När du använder SQL Server-autentisering kan du skapa inneslutna databasanvändare i databasen.When using SQL Server authentication, create contained database users in the database. Placera en eller flera användare i en databasrollen och tilldela sedan behörigheter till databasrollen.Place one or more database users into a database role and then assign permissions to the database role.

Databasrollerna kan vara de inbyggda rollerna, som db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter och db_denydatareader.The database roles can be the built-in roles such as db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter, and db_denydatareader. db_owner används ofta för att endast ge fullständig behörighet till några användare.db_owner is commonly used to grant full permission to only a few users. De andra fasta databasrollerna är användbara för att snabbt få en enkel databas i utveckling, men de rekommenderas inte för de flesta produktionsdatabaserna.The other fixed database roles are useful for getting a simple database in development quickly, but are not recommended for most production databases. Till exempel ger den fasta databasrollen db_datareader läsbehörighet till alla tabeller i databasen, vilket vanligtvis är mer än är absolut nödvändigt.For example, the db_datareader fixed database role grants read access to every table in the database, which is usually more than is strictly necessary. Det är mycket bättre att använda instruktionen SKAPA ROLL för att skapa dina egna anpassade databasroller och noggrant bevilja varje roll minsta möjliga behörighet som krävs för företagets behov.It is far better to use the CREATE ROLE statement to create your own user-defined database roles and carefully grant each role the least permissions necessary for the business need. När en användare är medlem i flera roller sammanställs behörigheterna för alla.When a user is a member of multiple roles, they aggregate the permissions of them all.

BehörigheterPermissions

Det finns över 100 behörigheter som individuellt kan beviljas eller nekas i SQL Database.There are over 100 permissions that can be individually granted or denied in SQL Database. Många av de här behörigheterna är kapslade.Many of these permissions are nested. Till exempel inkluderar UPDATE-behörighet på ett schema UPDATE-behörighet för alla tabeller i schemat.For example, the UPDATE permission on a schema includes the UPDATE permission on each table within that schema. Som i de flesta andra behörighetssystem åsidosätter ett nekande av en behörighet en beviljad.As in most permission systems, the denial of a permission overrides a grant. På grund av den kapslade karaktären och antalet behörigheter kan det krävas noggranna studier för att designa ett behörighetssystem som korrekt skyddar databasen.Because of the nested nature and the number of permissions, it can take careful study to design an appropriate permission system to properly protect your database. Börja med listan över behörigheter på Behörigheter (Databasmotor) och granska den stora bilden med behörigheter.Start with the list of permissions at Permissions (Database Engine) and review the poster size graphic of the permissions.

Överväganden och begränsningarConsiderations and restrictions

När du hanterar inloggningar och användare i SQL Database, bör du överväga följande:When managing logins and users in SQL Database, consider the following:

  • Du måste vara ansluten till huvuddatabasen när du kör uttrycket CREATE/ALTER/DROP DATABASE.You must be connected to the master database when executing the CREATE/ALTER/DROP DATABASE statements.

  • Databasanvändaren som motsvarar inloggningen som serveradministratör kan inte ändras eller tas bort.The database user corresponding to the Server admin login cannot be altered or dropped.

  • Amerikansk engelska är standardspråket för inloggningen Serveradministratör.US-English is the default language of the Server admin login.

  • Endast administratörer (inloggningen som serveradministratör eller Azure AD-administratör) och medlemmar i databasrollen dbmanager i huvuddatabasen har behörighet att köra CREATE DATABASE- och DROP DATABASE-uttrycken.Only the administrators (Server admin login or Azure AD administrator) and the members of the dbmanager database role in the master database have permission to execute the CREATE DATABASE and DROP DATABASE statements.

  • Du måste vara ansluten till huvuddatabasen när du kör uttrycket CREATE/ALTER/DROP LOGIN.You must be connected to the master database when executing the CREATE/ALTER/DROP LOGIN statements. Att använda inloggningar rekommenderas inte.However using logins is discouraged. Använd i stället oberoende databasanvändare.Use contained database users instead.

  • Du måste ange namnet på databasen i anslutningssträngen för att ansluta till en användardatabas.To connect to a user database, you must provide the name of the database in the connection string.

  • Endast huvudsaklig inloggning på servernivå och medlemmarna i databasrollen loginmanager i huvuddatabasen har behörighet att köra uttryck CREATE LOGIN, ALTER LOGIN och DROP LOGIN.Only the server-level principal login and the members of the loginmanager database role in the master database have permission to execute the CREATE LOGIN, ALTER LOGIN, and DROP LOGIN statements.

  • När du kör uttryck CREATE/ALTER/DROP LOGIN och CREATE/ALTER/DROP DATABASE i ett ADO.NET-program, är det inte tillåtet att använda parametriserade kommandon.When executing the CREATE/ALTER/DROP LOGIN and CREATE/ALTER/DROP DATABASE statements in an ADO.NET application, using parameterized commands is not allowed. Mer information finns i Kommandon och parametrar.For more information, see Commands and Parameters.

  • När du kör uttrycket CREATE/ALTER/DROP DATABASE och CREATE/ALTER/DROP LOGIN, måste vart och ett av dessa uttryck vara den enda instruktionen i en Transact-SQL-batch.When executing the CREATE/ALTER/DROP DATABASE and CREATE/ALTER/DROP LOGIN statements, each of these statements must be the only statement in a Transact-SQL batch. Annars uppstår ett fel.Otherwise, an error occurs. Till exempel kontrollerar följande Transact-SQL huruvida databasen finns.For example, the following Transact-SQL checks whether the database exists. Om den finns anropas ett DROP DATABASE-uttryck för att ta bort databasen.If it exists, a DROP DATABASE statement is called to remove the database. Eftersom DROP DATABASE-uttrycket inte är det enda uttrycket i batchen, ger körning av följande Transact-SQL-uttryck ett fel.Because the DROP DATABASE statement is not the only statement in the batch, executing the following Transact-SQL statement results in an error.

    IF EXISTS (SELECT [name]
             FROM   [sys].[databases]
             WHERE  [name] = N'database_name')
    DROP DATABASE [database_name];
    GO
    

    Använd i stället följande Transact-SQL-uttryck:Instead, use the following Transact-SQL statement:

    DROP DATABASE IF EXISTS [database_name]
    
  • När du kör uttryck CREATE USER med alternativ FOR/FROM LOGIN, måste det vara det enda uttrycket i en Transact-SQL-batch.When executing the CREATE USER statement with the FOR/FROM LOGIN option, it must be the only statement in a Transact-SQL batch.

  • När du kör uttryck ALTER USER med alternativ WITH LOGIN, måste det vara det enda uttrycket i en Transact-SQL-batch.When executing the ALTER USER statement with the WITH LOGIN option, it must be the only statement in a Transact-SQL batch.

  • För CREATE/ALTER/DROP behöver en användare behörighet ALTER ANY USER på databasen.To CREATE/ALTER/DROP a user requires the ALTER ANY USER permission on the database.

  • När ägaren av en databas roll försöker lägga till eller ta bort en annan databas användare till eller från den databas rollen kan följande fel uppstå: Användaren eller rollen "name" finns inte i den här databasen.When the owner of a database role tries to add or remove another database user to or from that database role, the following error may occur: User or role 'Name' does not exist in this database. Det här felet beror på att användaren inte är synlig för ägaren.This error occurs because the user is not visible to the owner. Ge rollägare behörighet VIEW DEFINITION på användaren för att lösa problemet.To resolve this issue, grant the role owner the VIEW DEFINITION permission on the user.

Nästa stegNext steps