Udostępnij za pośrednictwem


clsDatabaseRole

Ostrzeżenie

  Ta funkcja zostanie usunięta z następnej wersji programu Microsoft SQL Server. Nie należy stosować tej funkcji w nowych projektach oraz jak najszybciej należy zmodyfikować aplikacje, w których obecnie jest używana ta funkcja.

Obiekt ClassType clsDatabaseRole zawiera określonej implementacji Decision Support Objects (DSO) Role interfejs.Ten obiekt zawiera kolekcje, metody i właściwości za pomocą Role interfejs.

Uwagi

Obiekty ClassType clsDatabaseRole są używane do zarządzania zestaw użytkowników, którzy mogą uzyskać dostęp do bazy danych i sposób, w którym mają dostęp goTak jak w przypadku ról kostki i model wyszukiwania role rola bazy danych ma nazwę, opis, obiekt nadrzędny typ klasy, listę użytkowników i zestaw uprawnień.Każde uprawnienie ma klucz i odpowiednie wyrażenie zgody.

W przeciwieństwie do ról kostki i model wyszukiwania ról, jednak rola bazy danych służy jako podstawa dla moduł i model wyszukiwania ról.Aby utworzyć role dla danych i modułów model wyszukiwanias, tworzenie ról poziom bazy danych (role bazy danych), a następnie przydzielić je do modułów lub model wyszukiwanias, dodając je do kolekcja ról związanych z moduł lub model wyszukiwania.Przypisywanie ról bazy danych modułów akt lub model wyszukiwanias tworzy odpowiednie role moduł i model wyszukiwania role oparte na rola bazy danych.Role przypisane do moduł automatycznie stosować partycje i agregacji.

rola bazy danych można usunąć przez usunięcie go z bazy danych kolekcja roli obiektów.Po wykonaniu, system automatycznie usuwa odpowiedni moduł i model wyszukiwania ról z moduł zbiór ról obiektów.

Przykład

Załóżmy, że zdefiniowanie ról, o nazwie FinanceManagers, ProductionManagers i SalesManagers poziom bazy danych.Załóżmy również przypisać odpowiednie Wiceprezes do listy użytkowników dla każdej roli i Prezes firmy do listy użytkowników dla wszystkich trzech ról.

Aby zdefiniować odpowiednie role bazy danych i moduł tej sytuacji, należy użyć następującego kodu.Po wykonaniu kodu w razie potrzeby można przypisać role bazy danych modułów (lub modułów wirtualnych).Aby uzyskać więcej informacji, zobacz clsCubeRole.

' Assume an object (dsoDB) of ClassType clsDatabase exists.
' Create database roles.
Dim DbRole_FinanceMgrs As DSO.Role
Dim DbRole_ProductionMgrs As DSO.Role
Dim DbRole_SalesMgrs As DSO.Role
Set DbRole_FinanceMgrs = dsoDB.Roles.AddNew("FinanceManagers")
Set DbRole_ProductionMgrs = dsoDB.Roles.AddNew("ProductionManagers")
Set DbRole_SalesMgrs = dsoDB.Roles.AddNew("SalesManagers")

' Define user lists for database roles.
' (In a real-world situation, actual user names would be
' used in place of titles like "President".)
DbRole_FinanceMgrs.UsersList = "President;VP_Finance"
DbRole_ProductionMgrs.UsersList = "President;VP_Production"
DbRole_SalesMgrs.UsersList = "President;VP_Sales"

' Update the repository for the database roles.
DbRole_FinanceMgrs.Update
DbRole_ProductionMgrs.Update
DbRole_SalesMgrs.Update

' Assume objects (Cube95, Cube96 and Cube97) of ClassType clsCube exist.
' Create cube roles. Cube role names must be identical
' to the corresponding database role names.
Dim CubeRole_FinanceMgrs As DSO.Role
Dim CubeRole_ProductionMgrs As DSO.Role
Dim CubeRole_SalesMgrs As DSO.Role

' Add roles to Cube95.
Set CubeRole_FinanceMgrs = Cube95.Roles.AddNew("FinanceManagers")
Set CubeRole_ProductionMgrs = Cube95.Roles.AddNew("ProductionManagers")
Set CubeRole_SalesMgrs = Cube95.Roles.AddNew("SalesManagers")

' Add Roles to Cube96.
Set CubeRole_FinanceMgrs = Cube96.Roles.AddNew("FinanceManagers")
Set CubeRole_ProductionMgrs = Cube96.Roles.AddNew("ProductionManagers")
Set CubeRole_SalesMgrs = Cube96.Roles.AddNew("SalesManagers")

' Add Roles to Cube97.
Set CubeRole_FinanceMgrs = Cube97.Roles.AddNew("FinanceManagers")
Set CubeRole_ProductionMgrs = Cube97.Roles.AddNew("ProductionManagers")
Set CubeRole_SalesMgrs = Cube97.Roles.AddNew("SalesManagers")

' Update the repository for the cubes.
Cube95.Update
Cube96.Update
Cube97.Update