Udostępnij za pośrednictwem


Tworzenie użytkownika bazy danych

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Baza danych SQL w usłudze Microsoft Fabric (wersja zapoznawcza)

W tym artykule opisano sposób tworzenia najbardziej typowych typów użytkowników bazy danych. Istnieją 13 typów użytkowników. Pełną listę podano w artykule CREATE USER. Wszystkie odmiany programu SQL Server obsługują użytkowników bazy danych, ale niekoniecznie wszystkich typów użytkowników.

Można utworzyć użytkownika bazy danych, korzystając z SQL Server Management Studio lub Transact-SQL.

Omówienie typów użytkowników

Program Management Studio przedstawia sześć opcji podczas tworzenia użytkownika bazy danych. Na poniższym diagramie przedstawiono sześć opcji w zielonym polu i wskazuje, co reprezentują.

Diagram, który wyjaśnia różne typy użytkowników.

Wybierz typ użytkownika

Jeśli dopiero zaczynasz korzystać z programu SQL Server, ustalenie typu użytkownika, który chcesz utworzyć, może być trudne. Najpierw zadaj sobie pytanie, czy osoba lub grupa, która musi uzyskać dostęp do bazy danych, ma identyfikator logowania?

Stwórz użytkownika z loginem

Loginy w bazie danych master są typowe dla osób, które zarządzają serwerem SQL i dla osób, które muszą uzyskać dostęp do wielu lub wszystkich baz danych na instancji serwera SQL. W takiej sytuacji utwórz użytkownika SQL z identyfikatorem logowania. Użytkownik bazy danych to identyfikator logowania przy połączeniu z bazą danych. Użytkownik bazy danych może używać takiej samej nazwy jak nazwa logowania, ale nie jest to wymagane. W tym artykule założono, że logowanie już istnieje w programie SQL Server. Aby uzyskać informacje o sposobie tworzenia logowania, zobacz Tworzenie identyfikatora logowania.

Tworzenie użytkownika bez logowania

Jeśli osoba lub grupa, która musi uzyskać dostęp do bazy danych, nie ma identyfikatora logowania i jeśli potrzebuje tylko dostępu do jednej lub kilku baz danych, utwórz użytkownika systemu Windows lub użytkownika SQL z hasłem. Nazywana również użytkownikiem zawartej bazy danych . Użytkownik bazy danych o ograniczonym dostępie nie jest skojarzony z loginem w bazie danych master. Jest to doskonały wybór, gdy chcesz łatwo przenieść bazę danych między wystąpieniami programu SQL Server. Aby użyć tej opcji w SQL Server, administrator musi najpierw włączyć obsługę baz danych typu "contained" dla SQL Server, a baza danych musi być skonfigurowana jako "contained". Aby uzyskać więcej informacji, zobacz Uczyń swoją bazę danych przenośną, korzystając z baz danych z zawartością.

Important

Podczas nawiązywania połączenia jako użytkownik zawartej bazy danych należy podać nazwę bazy danych jako część parametrów połączenia. Aby określić bazę danych w programie SQL Server Management Studio (SSMS), w oknie dialogowym Połącz z wybierz pozycję Opcje , a następnie wybierz kartę Właściwości połączenia .

Wybierz użytkownika SQL z hasłem lub użytkownik SQL z identyfikatorem logowania na podstawie identyfikatora logowania uwierzytelniania programu SQL Server, gdy osoba nawiązująca połączenie nie może uwierzytelnić się przy użyciu uwierzytelniania systemu Windows. Jest to typowe, gdy osoby spoza organizacji (na przykład klienci) łączą się z programem SQL Server.

Tip

W przypadku osób w organizacji uwierzytelnianie systemu Windows jest lepszym wyborem, ponieważ nie będą musieli pamiętać dodatkowego hasła, a uwierzytelnianie systemu Windows oferuje dodatkowe funkcje zabezpieczeń, takie jak Kerberos.

Background

Użytkownik jest podmiotem zabezpieczeń na poziomie bazy danych. Nazwy logowania muszą być przypisane do użytkownika bazy danych, aby połączyć się z bazą danych. Nazwa logowania może być mapowana na różne bazy danych jako różni użytkownicy, ale w jednej bazie danych może być mapowana tylko jako jeden użytkownik. W częściowo zawartej bazie danych można utworzyć użytkownika, który nie ma identyfikatora logowania. Aby uzyskać więcej informacji na temat użytkowników baz danych z ograniczeniami, zobacz CREATE USER. Jeśli użytkownik-gość w bazie danych jest włączony, to identyfikator logowania, który nie jest mapowany na użytkownika bazy danych, może uzyskać dostęp do bazy danych jako użytkownik-gość.

Począwszy od programu SQL Server 2012 (11.x), program SQL Server i usługa Azure SQL DB używał skrótu SHA-512 w połączeniu z 32-bitową i unikatową solą. Ta metoda uczyniła ją statystycznie niewykonalną dla osób atakujących w celu wyłudzenia haseł.

Program SQL Server 2025 (17.x) w wersji zapoznawczej wprowadza algorytm iteracji skrótu, RFC2898, znany również jako funkcja wyprowadzania kluczy opartych na hasłach (PBKDF). Ten algorytm nadal używa algorytmu SHA-512, ale skróty hasła wielokrotnie (100 000 iteracji), znacznie spowalniając ataki siłowe. Ta zmiana zwiększa ochronę haseł w odpowiedzi na zmieniające się zagrożenia bezpieczeństwa i pomaga klientom przestrzegać wytycznych NIST SP 800-63b.

Important

Użytkownik-gość jest zwykle wyłączony. Nie włączaj użytkownika-gościa, chyba że jest to konieczne.

Jako podmiot zabezpieczeń uprawnienia można przyznać użytkownikom. Zakres użytkownika to baza danych. Aby nawiązać połączenie z określoną bazą danych w wystąpieniu programu SQL Server, należy przypisać dane logowania do użytkownika bazy danych. Uprawnienia w bazie danych są przyznawane i odrzucane użytkownikowi bazy danych, a nie logowaniu.

Permissions

Wymaga uprawnienia ALTER ANY USER na bazie danych.

Tworzenie użytkownika za pomocą programu SSMS

  1. W Eksploratorze obiektów rozwiń folder Databases.

  2. Rozwiń bazę danych, w której ma zostać utworzony nowy użytkownik bazy danych.

  3. Kliknij prawym przyciskiem myszy folder Security, wskaż opcję Newi wybierz pozycję User....

  4. W oknie dialogowym Użytkownik bazy danych — nowy na stronie Ogólne wybierz jeden z poniższych typów użytkownika z listy Typ użytkownika:

    • użytkownik SQL z loginem
    • użytkownik SQL z hasłem (gdy włączona baza danych zawartości)
    • użytkownik SQL bez logowania
    • Użytkownik przypisany do certyfikatu
    • Użytkownik zamapowany na klucz asymetryczny
    • Windows user

    W usłudze Fabric SQL Database WITH PASSWORD nie jest obsługiwana, ponieważ identyfikator Entra firmy Microsoft dla użytkowników bazy danych jest jedyną obsługiwaną metodą uwierzytelniania.

  5. Po wybraniu opcji pozostałe opcje w oknie dialogowym mogą ulec zmianie. Niektóre opcje dotyczą tylko określonych typów użytkowników bazy danych. Niektóre opcje można pozostawić puste i użyć wartości domyślnej.

    • User name

      Wprowadź nazwę nowego użytkownika. W przypadku wybrania użytkownika systemu Windows z listy Typ użytkownika możesz również wybrać wielokropek (...), aby otworzyć okno dialogowe Wybieranie użytkownika lub grupy.

    • Login name

      Wprowadź identyfikator logowania użytkownika. Alternatywnie wybierz wielokropek (...), aby otworzyć okno dialogowe Wybierz logowanie. nazwa logowania jest dostępna, jeśli wybierzesz użytkownika SQL z identyfikatorem logowania lub użytkownika systemu Windows z listy typ użytkownika.

    • Hasło i Potwierdź hasło

      Wprowadź hasło dla użytkowników, którzy uwierzytelniają się w bazie danych.

    • Default language

      Wprowadź domyślny język użytkownika.

    • Default schema

      Wprowadź schemat, który będzie właścicielem obiektów utworzonych przez tego użytkownika. Alternatywnie wybierz wielokropek (...), aby otworzyć okno dialogowe Wybierz schemat. domyślny schemat jest dostępny, jeśli wybierzesz użytkownika SQL z logowaniem, użytkownika SQL bez logowanialub użytkownika systemu Windows z listy Typ użytkownika.

    • Certificate name

      Wprowadź certyfikat, który ma być używany dla użytkownika bazy danych. Alternatywnie wybierz wielokropek (...), aby otworzyć okno dialogowe Wybieranie certyfikatu. Nazwa certyfikatu jest dostępna, jeśli wybierzesz Użytkownika zamapowanego na certyfikat z listy Typ użytkownika.

    • nazwa klucza asymetrycznego

      Wprowadź klucz, który ma być używany dla użytkownika bazy danych. Alternatywnie wybierz wielokropek (...), aby otworzyć okno dialogowe Wybierz klucz asymetryczny. Nazwa klucza asymetrycznego jest dostępna, jeśli wybierzesz Użytkownik zamapowany na klucz asymetryczny z listy typ użytkownika.

  6. Select OK.

Additional options

Użytkownik bazy danych — okno dialogowe o nazwie oferuje również opcje na czterech innych stronach: schematy, członkostwa, zabezpieczeńi właściwości rozszerzonych.

  • Strona Schematy posiadane przez zawiera listę wszystkich dostępnych schematów, które może posiadać nowy użytkownik bazy danych. Aby dodać schematy do użytkownika bazy danych lub usunąć je z niego, w obszarze Schematy należące do tego użytkownikazaznacz lub wyczyść pola wyboru obok schematów.

  • Na stronie członkostwa znajduje się lista wszystkich możliwych ról członkostwa w bazie danych, które mogą być własnością nowego użytkownika bazy danych. Aby dodać role do użytkownika bazy danych lub usunąć je z niego, w obszarze członkostwo w roli bazy danychzaznacz lub wyczyść pola wyboru obok ról.

  • Na stronie Securables wymieniono wszystkie możliwe obiekty zabezpieczenia oraz uprawnienia do tych obiektów, które mogą zostać przyznane użytkownikowi logowania.

  • Strona właściwości rozszerzonych umożliwia dodawanie właściwości niestandardowych do użytkowników bazy danych. Na tej stronie są dostępne następujące opcje.

    • Database

      Wyświetla nazwę wybranej bazy danych. To pole jest tylko do odczytu.

    • Collation

      Wyświetla sortowanie używane dla wybranej bazy danych. To pole jest tylko do odczytu.

    • Properties

      Umożliwia wyświetlenie lub określenie właściwości rozszerzonych obiektu. Każda właściwość rozszerzona składa się z pary nazw/wartości metadanych skojarzonych z obiektem.

    • Ellipsis (...)

      Wybierz wielokropek (...) po wartość, aby otworzyć okno dialogowe Wartość właściwości rozszerzonej. Wpisz lub wyświetl wartość właściwości rozszerzonej w tej większej lokalizacji. Aby uzyskać więcej informacji, zobacz wartość dla okna dialogowego rozszerzonych właściwości .

    • Delete

      Usuwa wybraną właściwość rozszerzoną.

Tworzenie użytkownika przy użyciu języka T-SQL

  1. W Eksploratorze obiektów nawiąż połączenie z wystąpieniem silnika bazy danych.

  2. Na pasku standardowym , wybierz pozycję Nowe zapytanie.

  3. Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj.

    -- Creates the login AbolrousHazem with password '340$Uuxwp7Mcxo7Khy'.
    CREATE LOGIN AbolrousHazem
    WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';
    GO
    
    -- Creates a database user for the login created previously.
    CREATE USER AbolrousHazem
    FOR LOGIN AbolrousHazem;
    GO
    

Aby uzyskać więcej informacji, zobacz CREATE USER, który zawiera wiele innych przykładów Transact-SQL.