Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Analytics Platform System (PDW)
Baza danych SQL w usłudze Microsoft Fabric
Note
Ścieżka szkoleniowa Wprowadzenie do wykonywania zapytań za pomocą języka Transact-SQL zawiera bardziej szczegółową zawartość wraz z praktycznymi przykładami.
Udzielenie użytkownikowi dostępu do bazy danych obejmuje trzy kroki. Najpierw należy utworzyć identyfikator logowania. Identyfikator logowania umożliwia użytkownikowi nawiązanie połączenia z aparatem bazy danych programu SQL Server. Następnie należy skonfigurować logowanie jako użytkownik w określonej bazie danych. Na koniec przyznasz temu użytkownikowi uprawnienia do obiektów bazy danych. W tej lekcji przedstawiono te trzy kroki i pokazano, jak utworzyć widok i procedurę składowaną jako obiekt.
Note
Ta lekcja opiera się na obiektach utworzonych w lekcji 1 — tworzenie obiektów bazy danych. Ukończ lekcję 1, zanim przejdziesz do lekcji 2.
Prerequisites
Do ukończenia tego samouczka potrzebny jest program SQL Server Management Studio i dostęp do wystąpienia programu SQL Server.
- Zainstaluj program SQL Server Management Studio.
Jeśli nie masz dostępu do wystąpienia programu SQL Server, wybierz platformę z poniższych linków. Jeśli wybierzesz opcję Uwierzytelnianie SQL, użyj poświadczeń logowania programu SQL Server.
- Windows: pobierz program SQL Server 2022 Developer Edition.
- Linux: pobierz program SQL Server 2022 w kontenerze.
Słuchamy: Jeśli znajdziesz coś nieaktualnego lub nieprawidłowego w tym artykule, na przykład kroku lub przykładu kodu, poinformuj nas. Możesz kliknąć przycisk Ta strona w sekcji Opinie w dolnej części tej strony. Każdy element opinii na temat języka SQL jest zwykle odczytywany następnego dnia. Thanks.
Utwórz konto logowania
Aby uzyskać dostęp do aparatu bazy danych, użytkownicy muszą zalogować się. Identyfikator logowania może reprezentować tożsamość użytkownika jako konto systemu Windows lub jako członek grupy systemu Windows lub identyfikator logowania może być identyfikatorem logowania programu SQL Server, który istnieje tylko w programie SQL Server. Jeśli to możliwe, należy użyć uwierzytelniania systemu Windows.
Domyślnie administratorzy na komputerze mają pełny dostęp do programu SQL Server. W tej lekcji chcemy mieć mniej uprzywilejowanego użytkownika; w związku z tym na komputerze utworzysz nowe lokalne konto uwierzytelniania systemu Windows. Aby to zrobić, musisz być administratorem na komputerze. Następnie przyznasz temu nowemu użytkownikowi dostęp do programu SQL Server.
Tworzenie nowego konta systemu Windows
- Wybierz pozycję Start, wybierz pozycję Uruchom, w polu Otwórz wpisz
%SystemRoot%\system32\compmgmt.msc /s, a następnie wybierz przycisk OK , aby otworzyć program do zarządzania komputerem. - W obszarze Narzędzia systemowe rozwiń węzeł Użytkownicy i grupy lokalne, kliknij prawym przyciskiem myszy pozycję Użytkownicy, a następnie wybierz pozycję Nowy użytkownik.
- W polu Nazwa użytkownika wpisz Mary.
- W polu Hasło i Potwierdź hasło wpisz silne hasło, a następnie wybierz pozycję Utwórz , aby utworzyć nowego lokalnego użytkownika systemu Windows.
Tworzenie identyfikatora logowania SQL
W oknie Edytor zapytań programu SQL Server Management Studio wpisz i wykonaj następujący kod, zastępując computer_name ciąg nazwą komputera.
FROM WINDOWS wskazuje, że system Windows uwierzytelnia użytkownika. Opcjonalny DEFAULT_DATABASE argument łączy się z Mary bazą TestData danych, chyba że parametry połączenia wskazują inną bazę danych. To stwierdzenie wprowadza średnik jako opcjonalne zakończenie instrukcji Transact-SQL.
CREATE LOGIN [computer_name\Mary]
FROM WINDOWS
WITH DEFAULT_DATABASE = [TestData];
GO
To autoryzuje nazwę Maryużytkownika , uwierzytelnioną przez komputer, aby uzyskać dostęp do tego wystąpienia programu SQL Server. Jeśli na komputerze znajduje się więcej niż jedno wystąpienie programu SQL Server, należy utworzyć dane logowania dla każdego wystąpienia, które Mary musi uzyskać dostęp.
Note
Ponieważ Mary nie jest kontem domeny, tę nazwę użytkownika można uwierzytelnić tylko na tym komputerze.
Udzielanie dostępu do bazy danych
Konto Mary ma teraz dostęp do tego wystąpienia programu SQL Server, ale nie ma uprawnień dostępu do baz danych. Konto nie ma nawet dostępu do domyślnej bazy danych TestData , dopóki nie autoryzujesz konta jako użytkownika bazy danych.
Aby udzielić Mary dostępu, przejdź do TestData bazy danych, a następnie użyj instrukcji CREATE USER, aby zamapować identyfikator logowania na użytkownika o nazwie Mary.
Tworzenie użytkownika w bazie danych
Wpisz i wykonaj następujące instrukcje (zastępując computer_name ciąg nazwą komputera), aby udzielić Mary dostępu do TestData bazy danych.
USE [TestData];
GO
CREATE USER [Mary] FOR LOGIN [computer_name\Mary];
GO
Teraz Mary ma dostęp zarówno do programu SQL Server, jak TestData i bazy danych.
Tworzenie widoków i procedur składowanych
Jako administrator możesz wykonać polecenie SELECT z Products tabeli i vw_Names widoku oraz wykonać procedurę pr_Names , jednak Mary nie może. Aby przyznać Mary niezbędne uprawnienia, użyj instrukcji GRANT.
Udzielanie uprawnień do procedury składowanej
Wykonaj następującą instrukcjęMary, aby nadać EXECUTE uprawnienie do pr_Names procedury składowanej.
GRANT EXECUTE ON pr_Names TO Mary;
GO
W tym scenariuszu Products Mary może uzyskać dostęp tylko do tabeli przy użyciu procedury składowanej. Jeśli chcesz, aby Mary mogła wykonać instrukcję SELECT w widoku, musisz również wykonać polecenie GRANT SELECT ON vw_Names TO Mary. Aby usunąć dostęp do obiektów bazy danych, użyj instrukcji REVOKE.
Note
Jeśli tabela, widok i procedura składowana nie należą do tego samego schematu, przyznanie uprawnień staje się bardziej złożone.
O GRANT
Aby wykonać procedurę składowaną, musisz mieć uprawnienie EXECUTE. Musisz mieć uprawnienia SELECT, INSERT, UPDATE i DELETE, aby uzyskać dostęp do danych i zmienić je. Instrukcja GRANT jest również używana dla innych uprawnień, takich jak uprawnienia do tworzenia tabel.
Dalsze kroki
W następnym artykule przedstawiono sposób usuwania obiektów bazy danych utworzonych w innych lekcjach.
Przejdź do następnego artykułu, aby dowiedzieć się więcej: