Udzielanie, odwoływanie i odmawianie uprawnień
The ServerPermission object is used to assign a zestaw of permissions or an individual server permission to the ServerPermissionSet object. Dla uprawnienia poziom serwera grantee odwołuje się do logowania.Logowania uwierzytelniani przez system Windows są wyświetlane jako nazwy użytkownika systemu Windows.Po uruchomieniu ten przykładowy kod odwołuje uprawnienie z grantee i weryfikuje, została usunięta z EnumServerPermissions(String, ServerPermissionSet) Metoda.
Uprawnień do bazy danych oraz uprawnienia do obiektów bazy danych mogą być przypisane podobnie za pomocą DatabasePermissionSet obiekt a ObjectPermissionSet obiekt.
Przykład
Aby używać dostarczonych przykładów kodu źródłowego, należy wybrać środowisko, szablon oraz język programowania, które będą używane do tworzenia aplikacji.Aby uzyskać więcej informacji zobacz Jak Tworzenie obiektów SMO projektu Visual Basic w programie Visual Studio .NET lub Jak Tworzenie projektu programu Visual C# obiekty SMO w programie Visual Studio .NET.
Przyznawanie uprawnień serwera w języku Visual Basic
W tym przykładzie kodu udziela uprawnienia Tworzenie punktów końcowych i Zmień dowolny punkt końcowy do określonego identyfikatora logowania, a następnie wylicza i Wyświetla uprawnienia.Jedno z uprawnień jest odwołany, a następnie uprawnienia są wyliczone ponownie.W tym przykładzie przyjęto założenie określonych logowania zacząć ma określone uprawnienia.
Przyznawanie uprawnień serwera w środowisku Visual C#
W tym przykładzie kodu udziela uprawnienia Tworzenie punktów końcowych i Zmień dowolny punkt końcowy do określonego identyfikatora logowania, a następnie wylicza i Wyświetla uprawnienia.Jedno z uprawnień jest odwołany, a następnie uprawnienia są wyliczone ponownie.W tym przykładzie przyjęto założenie określonych logowania zacząć ma określone uprawnienia.
//Connect to the local, default instance of SQL Server.
{
Server svr = default(Server);
svr = new Server();
//Define a ServerPermissionSet that contains permission to Create Endpoint and Alter Any Endpoint.
ServerPermissionSet sps = default(ServerPermissionSet);
sps = new ServerPermissionSet(ServerPermission.CreateEndpoint);
sps.Add(ServerPermission.AlterAnyEndpoint);
//This sample assumes that the grantee already has permission to Create Endpoints.
//Enumerate and display the server permissions in the set for the grantee specified in the vGrantee string variable.
ServerPermissionInfo[] spis = null;
spis = svr.EnumServerPermissions(vGrantee, sps);
ServerPermissionInfo spi = default(ServerPermissionInfo);
Console.WriteLine("===========Before revoke==================");
foreach ( spi in spis) {
Console.WriteLine(spi.Grantee + " has " + spi.PermissionType.ToString + " permission.");
}
Console.WriteLine(" ");
//Remove a permission from the set.
sps.Remove(ServerPermission.CreateEndpoint);
//Revoke the create endpoint permission from the grantee.
svr.Revoke(sps, vGrantee);
//Enumerate and display the server permissions in the set for the grantee specified in the vGrantee string variable.
spis = svr.EnumServerPermissions(vGrantee, sps);
Console.WriteLine("=========After revoke================");
foreach ( spi in spis) {
Console.WriteLine(spi.Grantee + " has " + spi.PermissionType.ToString + " permission.");
}
Console.WriteLine(" ");
//Grant the Create Endpoint permission to the grantee.
svr.Grant(sps, vGrantee);
//Enumerate and display the server permissions in the set for the grantee specified in the vGrantee string variable.
spis = svr.EnumServerPermissions(vGrantee, sps);
Console.WriteLine("=========After grant===============");
foreach ( spi in spis) {
Console.WriteLine(spi.Grantee + " has " + spi.PermissionType.ToString + " permission.");
}
Console.WriteLine("");
}