Enumerating SQL Server Logins
The following code demonstrates how to enumerate SQL Server logins and users associated with login.
ServerConnection conn = new ServerConnection(@"SQL_SERVER_INSTANCE", "LOGIN", "PASSWORD"); try { Server srv = new Server(conn); foreach (Login login in srv.Logins) { Console.WriteLine(login.Name); if (login.EnumDatabaseMappings() != null) { foreach (DatabaseMapping map in login.EnumDatabaseMappings()) { Console.WriteLine(" Database: " + map.DBName); Console.WriteLine(" User: " + map.UserName); } } } } catch (Exception err) { Console.WriteLine(err.Message); }EnumDatabaseMappings property is a list of DatabaseMapping objects that represent mapping to database and database user.
Creating SQL Server Login
Login class can be used for creation of new database login. Login class has a constructor with two parameters. The first parameter specifies database server represented by Server object and the second is login name. Method AddToRole() adds login to a SQL Server role. The following example shows how to create new SQL Server login called "NewLogin" with password pwd and adds it to the sysadmin server role.
ServerConnection conn = new ServerConnection(@"SQL_SERVER_INSTANCE", "LOGIN", "PASSWORD"); try { Server srv = new Server(conn); Login login = new Login(srv, "NewLogin"); login.LoginType = LoginType.SqlLogin; login.Create("pwd"); login.AddToRole("sysadmin"); } catch (Exception err) { Console.WriteLine(err.Message); }
No comments:
Post a Comment