tech-blog.IT » SQL 2005 dla początkujących: tworzenie loginu dla bazy danych

SQL 2005 dla początkujących: tworzenie loginu dla bazy danych

W SQL Management Studio klikamy na węzeł Databases | Security | Logins. Klikamy prawym przyciskiem myszy i wybieramy New Login.
Na głównej stronie określamy czy będzie to użytkownik Windows (użytkownik Active Directory lub lokalne konto), czy będzie to użytkownik SQL. W celu wybrania autoryzacji Windows – zaznaczamy Windows authentication, w przypadku autoryzacji SQL – SQL Server authentication.
W przypadku wybrania autoryzacji SQL, należy wprowadzić hasło dla loginu oraz poniżej wybrać jedną lub kilka z trzech opcji:

  • Enforce password Policy – hasło nie może zawierać w sobie części nazwy loginu i nie może być krótsze niż 7 znków oraz powinno zawierać cyfry, duże i małe litery oraz znaki nie alfanumeryczne. Informacje pobierane są z polityki grupowej.
  • Enforce password expiration – hasło wygasa po przekroczeniu wartości określonej w polityce grupowej.
  • User must change password at next logon – wymaga zmiany hasła użytkownika przy kolejnym logowaniu.

Sekcje Default Database oraz Default language są widowczne zarówno dla loginu z autoryzacją SQL jak i Windows. W Default Database określamy domyślną bazę danych dla loginu.

login1
Na stronie Server Roles wybieramy role serwerowe, przypisane dla tego loginu

  • bulkadmin – zezwala na operację masowego wstawiania danych (BULK INSERT),
  • dbcreator – zezwala na tworzenie, usuwanie,  modyfikację bazy danych oraz dodawanie do niej nowych członków (CREATE DATABASE),
  • diskadmin – zezwala na zarządzanie plikami .mdf i .ldf (ALTER),
  • processadmin – zezwala na kontrolę procesów (ALTER ANY CONNECTION oraz ALTER SERVER STATE),
  • securityadmin – zezwala na zarządzanie loginami i uprawnieniami (ALTER ANY LOGIN),
  • serveradmin – zezwala na konfigurację całego serwera (ALTER SERVER STATE, ALTER SETTINGS, SHUTDOWN),
  • setupadmin –zezwala na zarządzanie serwerami połączonymi (ALTER ANY LINKED SERVER),
  • sysadmin – zezwala na pełną kontrolę nad bazami danych (CONTROL SERVER with GRANT),

login2

Na stronie User Mapping zaznaczamy do której bazy użytkownik będzie posiadał uprawnienia (Users mapped to this login), a następnie w sekcji Database role membership for : nazwa_bazy  zaznaczamy role, które chcemy nadać:

  • db_accessadmin – zezwala na dodawanie i usuwanie kont,
  • db_backupoperator – zezwala na wykonywanie kopii zapasowych,
  • db_datareader – zezwala na odczyt baz danych,
  • db_datawriter – zezwala na zapisywanie i modyfikację baz danych,
  • db_ddladmin – zezwala na modyfikację i usuwanie obiektów baz danych,
  • db_denydatareader – nie zezwala na odczyt baz danych,
  • db_dentydatawriter – nie zezwala na zapisywanie i modyfikację baz danych,
  • db_owner – zezwala na pełną kontrolę nad bazą danych,
  • db_securityadmin – zezwala na zarządzanie uprawnieniami oraz rolami baz danych,
  • public – rola domyślna, zapewniająca minimum uprawnień.

login3

Strona Securables służy do przypisywania uprawnień do obiektów zabezpieczanych dla tego loginu.

login4
Strona Status służy  do nadawania lub odejmowania uprawnień dla loginu do łączenia się z bazą danych (Permission to connect to Database engine) oraz blokowania konta.

login5
Poniżej znajduje się skrypt wykonanej powyżej operacji:

USE [master]
GO
CREATE LOGIN [monika] WITH PASSWORD=N’Pa$$w0rd’ MUST_CHANGE, DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO
EXEC master..sp_addsrvrolemember @loginame = N’monika’, @rolename = N’sysadmin’
GO
USE [moja_baza]
GO
CREATE USER [monika] FOR LOGIN [monika]
GO
USE [moja_baza]
GO
EXEC sp_addrolemember N’db_datareader’, N’monika’
GO
USE [moja_baza]
GO
EXEC sp_addrolemember N’db_datawriter’, N’monika’
GO
USE [moja_baza]
GO
EXEC sp_addrolemember N’db_owner’, N’monika’
GO

W przypadku tworzenia loginu jako użytkownika Windows, skrypt będzie wyglądał następująco:

USE [master]
GO
CREATE LOGIN [FREYA\pyszczek] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
EXEC master..sp_addsrvrolemember @loginame = N’FREYA\pyszczek’, @rolename = N’sysadmin’
GO
USE [baza]
GO
CREATE USER [FREYA\pyszczek] FOR LOGIN [FREYA\pyszczek]
GO
USE [baza]
GO
EXEC sp_addrolemember N’db_datareader’, N’FREYA\pyszczek’
GO
USE [baza]
GO
EXEC sp_addrolemember N’db_datawriter’, N’FREYA\pyszczek’
GO
USE [baza]
GO
EXEC sp_addrolemember N’db_owner’, N’FREYA\pyszczek’
GO

Tagi: ,



1 komentarz “SQL 2005 dla początkujących: tworzenie loginu dla bazy danych”

  1. [...] natomiast w Login name wyszukujemy skonfigurowany uprzednio login. O tworzeniu loginu traktował poprzedni wpis. W pozycji Default schema przypisujemy użytkownikowi domyślny schemat, natomiast poniżej w [...]

Skomentuj