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

Login with Facebook: