Udostępnij przez


Zarządzanie użytkownikami, role i logowania

W przypadku obiektów SMO, logowania są reprezentowane przez Login obiekt. Gdy logowanie istnieje w SQL Server, można dodać do roli serwera. Rola serwera jest reprezentowany przez ServerRole obiekt. rola bazy danych jest reprezentowana przez DatabaseRole obiekt i rola aplikacji jest reprezentowany przez ApplicationRole obiekt.

Uprawnienia skojarzone z poziom serwera są wyświetlane jako właściwości ServerPermission obiekt. Uprawnienia poziom serwera mogą być przyznane, odmowa lub odwołane z logowania poszczególnych kont.

Co Database obiekt ma UserCollection obiekt, który określa wszystkich użytkowników w bazie danych. Każdy użytkownik jest skojarzony z logowania.Jednego logowania może być skojarzona z użytkownikami w więcej niż jednej bazy danych.The Login object's EnumDatabaseMappings() metoda can be used to list all users in every database that is associated with the logon. Alternatywnie User obiektu Login Właściwość określa logowania, który jest skojarzony z użytkownikiem.

SQL Server bazy danych ma również role, które określają zestaw uprawnień poziom bazy danych, które umożliwiają użytkownikowi wykonywanie określonych zadań.W odróżnieniu od ról serwerów nie są stałe role bazy danych.Ich tworzenie, zmodyfikowane i usunięte.Przywileje i użytkownicy mogą być przypisane do rola bazy danych do podawania zbiorczej.

Przykład

W poniższym przykładzie należy wybrać środowisko programowania Programowanie szablonu i język programowania, aby utworzyć aplikację.Aby uzyskać więcej informacji zobacz Jak Tworzenie obiektów SMO projektu Visual Basic w programie Visual Studio .NET i Jak Tworzenie projektu programu Visual C# obiekty SMO w programie Visual Studio .NET.

Wyliczanie logowania i skojarzono użytkownicy w języku Visual Basic

Każdy użytkownik w bazie danych jest skojarzona z logowania.Logowania może być skojarzona z użytkownikami w więcej niż jednej bazy danych.W przykładzie kodu pokazano, jak wywołać EnumDatabaseMappings() Metoda Login obiekt, aby wyświetlić listę wszystkich użytkowników bazy danych, które są skojarzone z logowania. W przykładzie zostanie utworzony logowania i użytkownika w bazie danych AdventureWorks, aby upewnić się, że nie ma informacji o mapowaniu do wyliczenia.

Wyliczanie logowania i skojarzono użytkownicy w środowisku Visual C#

Każdy użytkownik w bazie danych jest skojarzona z logowania.Logowania może być skojarzona z użytkownikami w więcej niż jednej bazy danych.W przykładzie kodu pokazano, jak wywołać EnumDatabaseMappings() Metoda Login obiekt, aby wyświetlić listę wszystkich użytkowników bazy danych, które są skojarzone z logowania. W przykładzie zostanie utworzony logowania i użytkownika w bazie danych AdventureWorks, aby upewnić się, że nie ma informacji o mapowaniu do wyliczenia.

//Connect to the local, default instance of SQL Server. 
{ 
Server srv = default(Server); 
srv = new Server(); 
//Iterate through each database and display. 
Database db = default(Database); 
foreach ( db in srv.Databases) { 
   Console.WriteLine("===================================="); 
   Console.WriteLine("Login Mappings for the database: " + db.Name); 
   Console.WriteLine(" "); 
   //Run the EnumLoginMappings method and return details of database user-login mappings to a DataTable object variable. 
   DataTable d = default(DataTable); 
   d = db.EnumLoginMappings; 
   //Display the mapping information. 
   DataRow r = default(DataRow); 
   DataColumn c = default(DataColumn); 
   foreach ( r in d.Rows) { 
      foreach ( c in r.Table.Columns) { 
         Console.WriteLine(c.ColumnName + " = " + r(c)); 
      } 
      Console.WriteLine(" "); 
   } 
} 
}