2010-04-27 8 views
8

Jakie są odpowiednie polecenia SQL (nie poprzez graficzny interfejs użytkownika), aby dodać konto użytkownika systemu Windows do uprawnień do bazy danych SQL Server 2008? tj .. Chcę dać komuś dostęp do odczytu i inna osoba odczytu/zapisu ..SQL Server 2008 Express Grant User Permission

Odpowiedz

17

Jest to proces dwuetapowy:

  • najpierw trzeba stworzyć logowanie dla tego użytkownika, na podstawie swoich poświadczeń systemu Windows

    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS 
    

    To ustawia podstawowe uprawnienie do nawet podłączyć do SQL Server

  • raz masz login, można utworzyć użytkownikowi w każdej bazy danych, w którym chcesz dać, że prawa do logowania się dzieje coś:

    CREATE USER Johnnie FOR LOGIN Domain\Johnnie; 
    
  • o przyznaniu uprawnień do odczytu na każdym stole w swojej bazie danych, należy przypisać db_datareader rola w tym użytkownikiem

    sp_addrolemember @rolename = 'db_datareader', @membername = 'Johnnie' 
    
  • grant do odczytu i zapisu na każdym stole w swojej bazie danych, należy przypisać zarówno db_datareader jak również db_datawriter rola do tego użytkownika

  • Jeśli potrzebujesz dokładniejszej kontroli nad tabelami, które można odczytać lub zapisać, musisz ręcznie zarządzać uprawnieniami, np. tworząc własne role bazy danych i przypisując granty do tych ról, a następnie dodając użytkowników do tych ról specyficznych dla danej aplikacji, które utworzyliście

+2

+1. Bardzo jasna odpowiedź. –

+0

@Mitch Wheat: dzięki, Mitch! –

+2

Upewnij się również, że masz włączone połączenia TCP/IP w narzędziu SQL Server Configuration Manager. Jest to zwykle tylko problem, gdy próbujesz zezwolić na zdalne połączenia z lokalnym komputerem. (Dostałem trochę wcześniej, dziś ) –