Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych Administracja serwerem i bezpieczeństwo

Słowa kluczowe: Administrator systemu bazy danych CREATE DATABASE w SQL DROP DATABASE w SQL dbcreator w MS SQL Server

W MS SQL Server predefiniowana rola o nazwie dbcreator pozwala użytkownikowi na

A. zarządzanie bezpieczeństwem systemu.
B. zarządzanie plikami na dysku.
C. wykonywanie każdej operacji na serwerze i posiadanie prawa własności każdej bazy.
D. tworzenie, modyfikowanie, usuwanie i odzyskiwanie bazy danych.

Pytanie z egzaminu CKE, styczeń 2016 (arkusz E.14-X-16.01).

Rola dbcreator w MS SQL Server jest predefiniowaną rolą serwerową, czyli działa na poziomie całej instancji SQL Server, a nie tylko jednej wybranej bazy. Użytkownik przypisany do tej roli może tworzyć nowe bazy danych, modyfikować ich właściwości, usuwać je oraz wykonywać operacje odtwarzania bazy z kopii zapasowej. To właśnie dlatego odpowiedź o tworzeniu, modyfikowaniu, usuwaniu i odzyskiwaniu bazy danych jest właściwa. W praktyce taka rola przydaje się np. administratorowi pomocniczemu, który ma przygotowywać środowiska testowe, odtwarzać kopie baz po awarii albo tworzyć nowe bazy dla aplikacji. Moim zdaniem trzeba jednak uważać, bo dbcreator daje całkiem mocne uprawnienia. Usunięcie albo nadpisanie bazy przez restore może spowodować realną utratę danych. Dobra praktyka branżowa mówi, żeby stosować zasadę najmniejszych uprawnień, czyli nadawać tylko te prawa, które są faktycznie potrzebne. Jeśli ktoś ma tylko wykonywać zapytania w jednej bazie, rola dbcreator będzie zdecydowanie za szeroka.
W MS SQL Server łatwo pomylić role serwerowe, bo ich nazwy czasem brzmią podobnie technicznie i każda dotyczy administracji, ale zakres uprawnień jest zupełnie inny. dbcreator nie służy do ogólnego zarządzania bezpieczeństwem systemu. Od tego są inne mechanizmy, na przykład role związane z logowaniami, uprawnieniami i polityką dostępu, jak securityadmin, a w samej bazie role typu db_securityadmin. Typowy błąd polega na tym, że skoro tworzenie bazy wydaje się zadaniem administratora, to ktoś automatycznie dopisuje do tego pełne zarządzanie użytkownikami. Tak nie jest, bo SQL Server rozdziela obowiązki dość dokładnie. Zarządzanie plikami na dysku też nie jest głównym sensem roli dbcreator. Co prawda baza fizycznie składa się z plików MDF, NDF i LDF, ale operowanie plikami jako zasobami dyskowymi to inny obszar administracji, bardziej związany z systemem operacyjnym albo specjalnymi rolami serwerowymi. Nie należy też mylić dbcreator z rolą sysadmin. sysadmin ma praktycznie pełną kontrolę nad instancją SQL Server, może wykonać każdą operację i omija wiele standardowych ograniczeń uprawnień. dbcreator jest mocna, ale wyspecjalizowana: dotyczy życia bazy danych jako obiektu, czyli create, alter, drop oraz restore. Z mojego doświadczenia takie rozróżnienie jest ważne na egzaminach i w pracy, bo zbyt szerokie uprawnienia to prosta droga do awarii albo naruszenia bezpieczeństwa danych.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.