Uruchom SQL Server Management Studio i połącz się z danymi uwierzytelniającymi, którym przyznano rolę „sa”.
Rozwiń Zabezpieczenia , kliknij prawym przyciskiem myszy Loginy i wybierz Nowe logowanie .
Wpisz opisową nazwę logowania , wybierz uwierzytelnianie SQL Server i wprowadź bezpieczne hasło. Na dole strony wybierz bazę danych, z którą Chartio będzie się łączyć jako domyślna baza danych .
Wybierz Mapowanie użytkowników zaznacz pole obok żądanej bazy danych, potwierdź, że wybrano tylko „publiczny” i kliknij OK .
Kliknij Nowe zapytanie i wybierz bazę danych, z którą łączysz się z Chartio.
Wklej następujące zapytanie do okna zapytania i wykonaj. Zastąp „chartio_read_only” rzeczywistą nazwą użytkownika, którego utworzyłeś.
SELECT 'GRANT SELECT ON "' + TABLE_SCHEMA + '"."' + TABLE_NAME + '" TO "chartio_read_only"' FROM information_schema.tables
Wybierz i skopiuj wyniki zapytania do okna zapytania.
Usuń wszystkie tabele lub widoki, do których nie chcesz, aby użytkownik „chartio_read_only” miał dostęp. W tym przykładzie usunąłem tabele Invoice i InvoiceLine, ponieważ zawierają one poufne informacje.
GRANT SELECT ON "dbo"."Customer" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Employee" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Genre" TO "chartio_read_only"
GRANT SELECT ON "dbo"."MediaType" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Playlist" TO "chartio_read_only"
GRANT SELECT ON "dbo"."PlaylistTrack" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Track" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Album" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Artist" TO "chartio_read_only"
Wykonaj zapytanie.
Następnie musisz przyznać definicję widoku na schemacie dbo. Skopiuj poniższe zapytanie i wykonaj je w SQL Server. Zastąp nazwę użytkownika nazwą użytkownika, którą utworzyłeś wcześniej.
GRANT VIEW DEFINITION ON SCHEMA :: dbo TO chartio_read_only
Możesz teraz użyć tych poświadczeń, aby połączyć Chartio z bazą danych z uprawnieniami tylko do odczytu tylko dla określonych tabel.