Jak zapewne wiecie, SQL Server nie zapewnia gotowego rozwiązania do eksportowania wszystkich instrukcji związanych z bezpieczeństwem zadeklarowanych dla każdego elementu w bazie danych (zarówno na poziomie bazy danych, jak i na poziomie obiektu)
Mówię o możliwości wymyślenia tych informacji
- Wszyscy użytkownicy
- Wszystkie role zdefiniowane przez użytkownika
- Wszystkie uprawnienia na poziomie bazy danych (np. GRANT CREATE FUNCTION)
- Wszystkie uprawnienia na poziomie obiektu (np. GRANT SELECT ON OBJECT :: xxx)
Można by pomyśleć, że SQL Server MUSI mieć coś takiego, ale ani Kreator eksportu SQL Server, ani różne skrypty generowane w wyniku kliknięcia obiektów prawym przyciskiem myszy nie przechwytują tych informacji.
Widziałem w Internecie wiele różnych „możliwych rozwiązań” przy użyciu nieskradzonych skryptów, które ludzie uprzejmie publikują, ale ponieważ muszę być w 100% pewien, że wszystkie informacje dotyczące bezpieczeństwa są przechwytywane, nie mogę w pełni polegać na tych skryptach.
Mam możliwość wykorzystania ich jako punktu wyjścia do napisania czegoś sam, ale nienawidzę konieczności ponownego wymyślania koła, aby spełnić wymóg, który zdaniem wielu osób może mieć.
Czy nie ma narzędzia dostarczonego przez kogoś (jako część produktu SQL Server lub narzędzie innej firmy), który mógłby niezawodnie dostarczyć Ci tych informacji?
A przynajmniej, czy istnieje skrypt wspierany przez społeczność, który większość ludzi zgodziłby się na „wykonanie pracy”?
Dzięki!
źródło
Przepraszam, że nie otrzymałeś odpowiedzi od wczoraj; oto przynajmniej dla ciebie punkt wyjścia.
Możesz spróbować wyciągnąć potrzebne elementy. Jak zawsze, przeczytaj wątki dyskusyjne (niestety nie byłem w stanie znaleźć skryptu zatwierdzonego przez duże nazwy, które rozpoznaję, więc dokładnie przetestuj! Często brakuje schematu, obiektu, serwera i uprawnień na poziomie kolumny).
Tak naprawdę nie użyłem żadnego z nich, ale są one zbiorem punktów początkowych, w żadnej kolejności.
Wyświetl wszystkie uprawnienia we wszystkich bazach danych
Zautomatyzowana kontrola uprawnień za pomocą PowerShell i T-SQL: Część 1
Skrypty uprawnień we wszystkich bazach danych
Uprawnienia do poziomu skryptu DB v2.1
Procedura składowana w celu wykreślenia uprawnień użytkownika
Zapytania bezpieczeństwa: na poziomie bazy danych
Zapytania bezpieczeństwa: na poziomie serwera
źródło
https://gallery.technet.microsoft.com/Extract-Database-dfa53d5a/
skorzystaj z tego linku, aby pobrać poniższy kod
źródło