Zarządzanie uprawnieniami w SQL Server Uprawnienia na poziomie systemu SQL Server Dodanie konta użytkownika do systemu SQL Server sp_addlogin 'login', 'hasło' create login Adam with password='Adamowski' tylko SQL Server 2005 Dodanie użytkownika Ms Windows do systemu SQL Server sp_grantlogin 'login' create login [komputer\login] from WINDOWS – tylko SQL Server 2005 Usunięcie konta z systemu SQL Server sp_droplogin 'login' – dla użytkowników SQL Server sp_denylogin 'login' – dla kont systemu Windows drop login Adam tylko SQL Server 2005 Uprawnienia na poziomie bazy danych Nadanie uprawnień dostępu do bieżącej bazy danych sp_grantdbaccess 'login' ,['nazwa_konta_w_bd'] create user nazwa_konta_w_bd for login tylko SQL Server 2005 Wycofanie uprawnień dostępu do bieżącej bazy danych sp_revokedbaccess 'nazwa_konta_w_bd' drop user Adam tylko SQL Server 2005 Dodanie nowej roli użytkownika do bieżącej bazy danych sp_addrole [ @rolaname = ] 'rola' ,[ 'właściciel' ] create role nazwa_roli [AUTHORIZATION właściciel] SQL Server 2005 Usunięcie roli użytkownika z bieżącej bazy danych sp_droprole 'rola' drop role nazwa_roli Dodanie konta do roli użytkownika sp_addrolemember 'rola' , 'nazwa_konta' Usinięcie konta z roli użytkownika sp_droprolemember 'rola' , 'nazwa_konta' Uprawnienia na poziomie obiektów w bazie danych Nadanie uprawnień do wykonywania określonych poleceń w bieżącej bazie danych GRANT { ALL | statement [ ,...n ] } TO security_account [ ,...n ] gdzie: statement = {CREATE DATABASE | CREATE DEFAULT | CREATE FUNCTION |CREATE PROCEDURE | CREATE RULE | CREATE TABLE | CREATE VIEW | BACKUP DATABASE | BACKUP LOG } Nadanie uprawnień do wykonywanie operacji na określonych obiektach (tabelach, widokach, procedurach itp.) w bieżącej bazie danych GRANT { ALL [ PRIVILEGES ] | permission [ ,...n ] } { | ON { table | view } [ ( column [ ,...n ] ) ] | ON { stored_procedure } | ON { user_defined_function } } TO security_account [ ,...n ] [ WITH GRANT OPTION ] gdzie: permission = {SELECT | INSERT | DELETE | UPDATE} – jeżeli obiektem jest tabela lub widok permission ={EXECUTE} – jeżeli obiektem jest procedura lub funkcja permission = {SELECT | UPDATE } – jeżeli obiektem jest kolumna WITH GRANT OPTION – korzystając z konta security_account będzie można nadawać innym kontom wskazane uprawnienia do wybranego obiektu. Odebranie uprawnień do wykonywania określonych poleceń w bieżącej bazie danych DENY { ALL | statement [ ,...n ] } TO security_account [ ,...n ] statement = {CREATE DATABASE | CREATE DEFAULT | CREATE FUNCTION |CREATE PROCEDURE | CREATE RULE | CREATE TABLE | CREATE VIEW | BACKUP DATABASE | BACKUP LOG } Odebranie uprawnień do wykonywania operacji na obiektach w bieżącej bazie danych DENY { ALL [ PRIVILEGES ] | permission [ ,...n ] } { [ ON { table | view } [ ( column [ ,...n ] ) ] | ON { stored_procedure } | ON { user_defined_function } } TO security_account [ ,...n ] [ CASCADE ] permission = {SELECT | INSERT | DELETE | UPDATE} – jeżeli obiektem jest tabelalub widok permission ={EXECUTE} – jeżeli obiektem jest procedura lub funkcja permission = {SELECT | UPDATE } – jeżeli obiektem jest kolumna CASCADE – jeżeli uprawnienia zostały przypisane z wykorzystaniem opcji WITH GRANT OPTION to podczas odbierania uprawnień należy podać opcję CASCADE. Wycofanie uprawnień do wykonywania poleceń w bieżącej bazie danych REVOKE { ALL | statement [ ,...n ] } FROM security_account [ ,...n ] statement = {CREATE DATABASE | CREATE DEFAULT | CREATE FUNCTION |CREATE PROCEDURE | CREATE RULE | CREATE TABLE | CREATE VIEW | BACKUP DATABASE | BACKUP LOG } Wycofanie uprawnień do wykonywania operacji na obiektach w bieżącej bazie danych REVOKE [ GRANT OPTION FOR ] { ALL [ PRIVILEGES ] | permission [ ,...n ] } { [ ON { table | view } [ ( column [ ,...n ] ) ] | ON { stored_procedure } | ON { user_defined_function } } { TO | FROM } security_account [ ,...n ] [ CASCADE ] permission = {SELECT | INSERT | DELETE | UPDATE} – jeżeli obiektem jest tabelalub widok permission ={EXECUTE} – jeżeli obiektem jest procedura lub funkcja permission = {SELECT | UPDATE } – jeżeli obiektem jest kolumna CASCADE – jeżeli uprawnienia zostały przypisane z wykorzystaniem opcji WITH GRANT OPTION to podczas odbierania uprawnień należy podać opcję CASCADE. Objaśnienia: security_account – nazwa konta lub roli użytkownika table – nazwa tabeli w bazie danych view – nazwa widoku w bazie danych column – nazwa kolumny w tabeli lub widoku stored_procedure – nazwa procedury w bazie danych user_defined_function – funkcja zdefiniowana przez użytkownika