Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- zakladanie uzytkownika
- -- login dla servera
- CREATE login st WITH password = 'haslo123'
- -- user jest dla bazy danych
- CREATE USER st FOR login st;
- --1. Sprawdzić swoje uprawnienia na serwerze SQL.
- SELECT * FROM sys.fn_my_permissions(DEFAULT, 'SERVER')
- --2. Sprawdzić swoje uprawnienia w bazie danych SQL.
- SELECT * FROM sys.fn_my_permissions(DEFAULT, 'DATABASE')
- --3. Utworzyć tabelę o nazwie Dane, zawierająca cztery kolumny:
- --- identyfikator, liczba, autoinkrementacja, klucz główny
- --- nazwa, tekst, 20 znaków
- --- cena, waluta
- --- data, data
- CREATE TABLE Dane
- ( id NUMERIC(5) IDENTITY(1,1) PRIMARY KEY,
- nazwa VARCHAR(20),
- cena money,
- DATA DATE)
- --4. Wykorzystując autoinkrementację dodać do tablicy Dane trzy wiersze:
- --Laptop; 1499,99 zł
- --Klawiatura; 180,00 zł
- --Mysz; 40 zł
- INSERT INTO Dane VALUES
- ('Laptop', 1499.99, getdate()),
- ('Klawiatura', 188.00, getdate()),
- ('Mysz', 40, getdate())
- --5. Zmienić uprawnienia na tabeli usuwając innemu użytkownikowi możliwość przeglądania zawartości tabeli.
- SELECT * FROM Dane
- deny SELECT ON Dane TO st
- deny SELECT ON Dane TO student -- nie zadziala bo sysadmin nie moze sysadminowi odebrac uprawnien
- --6. Sprawdzić swoje uprawnienia na obiekcie innego użytkownika.
- SELECT * FROM sys.fn_my_permissions(DEFAULT, 'DATABASE')
- EXEC sp_helprotect
- --7. Cofnąć przyznane zablokowane wcześniej uprawnienie do obiektu. Sprawdzić działanie.
- REVOKE SELECT ON Dane TO st
- --8. Zablokować uprawnienia aktualizacji, dodawania wierszy oraz zmian w tablicy Dane dla innego użytkownika.
- deny UPDATE, INSERT, ALTER ON Dane TO st
- --9. Nadać możliwość dodawania wierszy w tablicy Dane dla innych użytkowników. Sprawdzić działanie i efektywne uprawnienia do niej.
- GRANT INSERT ON Dane TO st
- --10. Spróbować zablokować wszystkie uprawnienia na obiekcie Dane dla innego użytkownika.
- deny ALL ON Dane TO st
- --11. Utworzyć typ tablicowy o nazwie T_Czas, który będzie przechowywał liczby i odpowiadające im wartości miesięcy.
- CREATE TYPE t_czas AS TABLE (id INT, nazwa VARCHAR(30))
- --------- LAB 2 --------------------------
- --1. Utworzyć rolę o nazwie Rola_Towar i przypisać jej pełne uprawnienia do tabeli Towar.
- CREATE ROLE rola_towar;
- GRANT INSERT, UPDATE, DELETE, SELECT ON Dane TO rola_towar;
- sp_helprolemember @rolename='rola_towar'
- --2. Do roli Rola_Towar przypisać uprawnienia wykonywania procedury o nazwie WyswietlTowary.
- CREATE PROCEDURE WyswietlTowary
- AS
- BEGIN
- SELECT * FROM dane
- END
- GO
- --3. Przypisać rolę Rola_Towar własnemu użytkownikowi. Sprawdzić użytkowników przypisanych do roli.
- EXECUTE WyswietlTowary
- GRANT EXECUTE ON WyswietlTowary TO rola_towar
- sp_addrolemember @rolename='rola_towar', @membername='st'
- GO
- GRANT SELECT ON Dane TO st
- -- sprawdzenie
- GO
- sp_helprotect NULL, 'st'
- GO
- sp_helprotect NULL, 'rola_towar'
- GO
- sp_helprolemember @rolename='rola_towar'
- GO
- sp_helprole
- GO
- sp_helplogins
- GO
- --4. Utworzyć użytkownika o nazwie Uzytkownik1 i umożliwić mu modyfikację tabel.
- CREATE login Uzytkownik1 WITH password='haslo123'
- GO
- CREATE USER Uzytkownik1 FOR login Uzytkownik1
- GO
- GRANT ALTER ON Dane TO Uzytkownik1
- GO
- --5. Przypisać użytkownikowi utworzonemu w poprzednim punkcie rolę dostępu do danych.
- EXEC sp_addrolemember @membername='Uzytkownik1', @rolename='db_datareader'
- GO
- --6. Sprawdzić wszystkich użytkowników roli dostępu do danych oraz użytkowników roli sysadmin.
- EXEC sp_helprolemember @rolename='db_datareader'
- GO
- EXEC sp_helprolemember @rolename='db_owner'
- GO
- EXEC sp_helpsrvrolemember @srvrolename='sysadmin'
- GO
- --7. Sprawdzić wszystkie uprawnienia do serwera dla utworzonego wcześniej użytkownika.
- EXECUTE AS login='uzytkownik1'
- GO
- SELECT * FROM sys.fn_my_permissions(DEFAULT, 'SERVER')
- GO
- --8. Założyć nową bazę danych o nazwie Studenci z plikiem na dysku c w folderze bazy, rozmiar bazy 4MB (przeczytać komunikat błędu), maksymalnie 12MB z przyrostem co 2MB.
- --9. Przypisać uprawnienia pełnego dostępu do bazy danych dla utworzonego wcześniej użytkownika.
- --10. Zlokalizować pliki bazy danych i przygotować kopię zapasową systemu.
- --11. Usunąć utworzoną wcześniej rolę i użytkownika.
- --12. Usunąć utworzoną wcześniej bazę danych.
- --13. Utworzyć procedurę o nazwie WyswietlTowary, która przy pomocy typu tablicowego T_Czas bêdzie wywietlać poszczególne nazwy towarów i słownie miesięcy, w których zostały dodane (dane z laboratorium nr 1).
- --14. Zablokować uprawnienia wykonania procedury dla innych użytkowników i przetestować działanie.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement