Jakie należy posiadać uprawnienia, aby wykonać i odtworzyć kopię zapasową bazy danych Microsoft SQL Server 2005 Express?
A. Users.
B. Administrator systemu.
C. Użytkownik lokalny.
D. Security users.
Pytanie z egzaminu CKE, czerwiec 2014 (arkusz E.14-X-14.05).
Do wykonania i odtworzenia kopii zapasowej bazy danych Microsoft SQL Server 2005 Express wymagane są uprawnienia administratora systemu, czyli konto z wysokimi uprawnieniami do systemu operacyjnego oraz zwykle także do instancji SQL Server. W SQL Server 2005 Express operacje backupu i restore nie są zwykłym odczytem pliku, tylko ingerencją w silnik bazy danych, pliki .mdf, .ldf oraz pliki kopii .bak. Administrator może uruchomić odpowiednie narzędzia, np. SQL Server Management Studio Express, polecenia BACKUP DATABASE i RESTORE DATABASE, a także ma dostęp do katalogów, w których SQL Server zapisuje lub odczytuje kopie. Z mojego doświadczenia to właśnie prawa do folderu z plikiem .bak często robią problem, nawet gdy użytkownik niby widzi bazę w programie. Dobra praktyka jest taka, żeby kopie zapasowe wykonywać świadomie, przechowywać je w bezpiecznej lokalizacji i regularnie testować przywracanie. Sam backup bez testu odtworzenia to trochę za mało, bo dopiero restore pokazuje, czy kopia naprawdę się nadaje do użycia.
W tym pytaniu łatwo pomylić zwykłe konto użytkownika z kontem posiadającym realne uprawnienia administracyjne. Grupa Users w systemie Windows daje podstawowy dostęp do pracy z komputerem, ale nie oznacza prawa do zarządzania usługą SQL Server, plikami baz danych ani wykonywania operacji typu BACKUP DATABASE i RESTORE DATABASE. Taki użytkownik może uruchomić program, czasem nawet połączyć się z instancją, ale to jeszcze nie znaczy, że wolno mu zmieniać strukturę przechowywania danych albo odtwarzać całą bazę z pliku .bak. Określenie Security users też jest zbyt ogólne i w praktyce nie jest standardową rolą wystarczającą do backupu oraz restore w SQL Server 2005 Express. Bez konkretnych ról po stronie SQL Server, takich jak sysadmin, db_owner lub db_backupoperator w określonych sytuacjach, sama nazwa związana z bezpieczeństwem niczego nie gwarantuje. Podobnie użytkownik lokalny to tylko konto istniejące na danym komputerze. Może mieć małe albo duże prawa, ale sama lokalność konta nie daje jeszcze dostępu do krytycznych operacji administracyjnych. Typowy błąd myślowy polega na założeniu, że skoro baza jest na moim komputerze, to każdy lokalny użytkownik może ją kopiować i odtwarzać. W środowiskach bazodanowych tak to nie działa. Liczą się uprawnienia w systemie operacyjnym, uprawnienia w samym SQL Server oraz dostęp do fizycznych plików kopii. Dlatego w kontekście tego testu właściwym wyborem jest administrator systemu.