Delen via


Les 2: Machtigingen voor databaseobjecten configureren

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System (PDW)SQL-database in Microsoft Fabric Preview

Note

Het leertraject Aan de slag met query's uitvoeren met Transact-SQL biedt uitgebreidere inhoud, samen met praktische voorbeelden.

Het verlenen van toegang van een gebruiker tot een database omvat drie stappen. Eerst maakt u een aanmelding. Met de aanmelding kan de gebruiker verbinding maken met de SQL Server Database Engine. Vervolgens configureert u de aanmelding als een gebruiker in de opgegeven database. En ten slotte verleent u die gebruiker toestemming voor databaseobjecten. In deze les ziet u deze drie stappen en ziet u hoe u een weergave en een opgeslagen procedure als het object maakt.

Note

Deze les is afhankelijk van objecten die zijn gemaakt in Les 1: Databaseobjecten maken. Voltooi les 1 voordat u verdergaat met les 2.

Prerequisites

U hebt SQL Server Management Studio en toegang tot een SQL Server-exemplaar nodig om deze zelfstudie te voltooien.

Als u geen toegang hebt tot een SQL Server-exemplaar, selecteert u uw platform via de volgende koppelingen. Als u SQL-verificatie kiest, gebruikt u uw SQL Server-aanmeldingsreferenties.

We luisteren: Als u iets verouderd of onjuist vindt in dit artikel, zoals een stap of een codevoorbeeld, laat het ons dan weten. Klik op de knop Deze pagina in de sectie Feedback onderaan deze pagina. We lezen elk feedback-item over SQL, meestal de volgende dag. Thanks.

Een aanmelding maken

Voor toegang tot de database-engine moeten gebruikers zich aanmelden. De aanmelding kan de identiteit van de gebruiker vertegenwoordigen als een Windows-account of als lid van een Windows-groep, of de aanmelding kan een SQL Server-aanmelding zijn die alleen in SQL Server bestaat. Waar mogelijk moet u Windows-verificatie gebruiken.

Beheerders op uw computer hebben standaard volledige toegang tot SQL Server. Voor deze les willen we een gebruiker met minder bevoegdheden hebben; Daarom maakt u een nieuw lokaal Windows-verificatieaccount op uw computer. Hiervoor moet u een beheerder op uw computer zijn. Vervolgens verleent u die nieuwe gebruiker toegang tot SQL Server.

Een nieuw Windows-account maken

  1. Selecteer Start, selecteer Uitvoeren in het vak Openen , typ %SystemRoot%\system32\compmgmt.msc /s en selecteer vervolgens OK om het programma Computerbeheer te openen.
  2. Vouw onder Systeemhulpprogramma'slokale gebruikers en groepen uit, klik met de rechtermuisknop op Gebruikers en selecteer Nieuwe gebruiker.
  3. Typ Mary in het vak Gebruikersnaam.
  4. Typ een sterk wachtwoord in het vak Wachtwoord en Bevestig het wachtwoord en selecteer Vervolgens Maken om een nieuwe lokale Windows-gebruiker te maken.

Een SQL-aanmelding maken

Typ en voer in een queryeditorvenster van SQL Server Management Studio de volgende code in en voer deze uit, waarbij computer_name u de naam van uw computer vervangt. FROM WINDOWS geeft aan dat Windows de gebruiker verifieert. Het optionele DEFAULT_DATABASE argument maakt verbinding met Mary de TestData database, tenzij de verbindingsreeks een andere database aangeeft. Deze instructie introduceert de puntkomma als optionele beëindiging voor een Transact-SQL-instructie.

CREATE LOGIN [computer_name\Mary]
    FROM WINDOWS
    WITH DEFAULT_DATABASE = [TestData];
GO

Hiermee wordt een gebruikersnaam Mary, geverifieerd door uw computer, geautoriseerd voor toegang tot dit exemplaar van SQL Server. Als er meer dan één exemplaar van SQL Server op de computer is, moet u de aanmelding maken op elk exemplaar dat Mary toegang moet hebben.

Note

Omdat Mary dit geen domeinaccount is, kan deze gebruikersnaam alleen worden geverifieerd op deze computer.

Toegang verlenen tot een database

Het Mary account heeft nu toegang tot dit exemplaar van SQL Server, maar heeft geen toegang tot de databases. Het account heeft zelfs geen toegang tot de standaarddatabase TestData totdat u het account autoriseert als databasegebruiker.

Als u toegang wilt verlenen Mary , schakelt u over naar de TestData database en gebruikt u vervolgens de instructie CREATE USER om de aanmelding toe te wijzen aan een gebruiker met de naam Mary.

Een gebruiker maken in een database

Typ en voer de volgende instructies uit (vervang deze computer_name door de naam van uw computer) om toegang te verlenen Mary tot de TestData database.

USE [TestData];
GO

CREATE USER [Mary] FOR LOGIN [computer_name\Mary];
GO

Mary heeft nu toegang tot zowel SQL Server als de TestData database.

Weergaven en opgeslagen procedures maken

Als beheerder kunt u de SELECT uitvoeren in de Products tabel en de vw_Names weergave en de pr_Names procedure uitvoeren. Mary kan dat echter niet. Gebruik de GRANT-instructie om Mary de benodigde machtigingen te verlenen.

Machtiging verlenen aan opgeslagen procedure

Voer de volgende instructie uit om de EXECUTE machtiging voor de pr_Names opgeslagen procedure te gevenMary.

GRANT EXECUTE ON pr_Names TO Mary;
GO

In dit scenario heeft Mary alleen toegang tot de Products tabel met behulp van de opgeslagen procedure. Als u wilt dat Mary een SELECT-instructie kan uitvoeren voor de weergave, moet u ook uitvoeren GRANT SELECT ON vw_Names TO Mary. Gebruik de instructie REVOKE om de toegang tot databaseobjecten te verwijderen.

Note

Als de tabel, de weergave en de opgeslagen procedure niet eigendom zijn van hetzelfde schema, wordt het verlenen van machtigingen complexer.

About GRANT

U moet een EXECUTE-machtiging hebben om een opgeslagen procedure uit te voeren. U moet de machtigingen SELECT, INSERT, UPDATE en DELETE hebben om gegevens te kunnen openen en wijzigen. De GRANT-instructie wordt ook gebruikt voor andere machtigingen, zoals machtigingen voor het maken van tabellen.

Next steps

In het volgende artikel leert u hoe u databaseobjecten verwijdert die u in de andere lessen hebt gemaakt.

Ga naar het volgende artikel voor meer informatie: