2011-10-25 4 views
1

Je dois créer une nouvelle connexion dans SQL Server 2005 à l'aide de SMO.Mappage des bases de données pour une nouvelle connexion

Je crée la nouvelle connexion en utilisant ce code:

ServerConnection connection = new Microsoft.SqlServer.Management.Common.ServerConnection(Server, Server_UserName, Server_Password); 
Microsoft.SqlServer.Management.Smo.Server sqlServer = new Microsoft.SqlServer.Management.Smo.Server(connection); 

// Creating Login 
Login login = new Login(sqlServer, "loginName"); 
login.LoginType = LoginType.SqlLogin; 
login.Create("loginPassword"); 
login.AddToRole("sysadmin"); 
login.AddToRole("serveradmin");  

et maintenant je dois que toutes les bases de données dans l'onglet de mappage utilisateur (dans SQL Server Management Studio) seront vérifiés ....

Comment puis-je le faire dans SMO?

Répondre

1

Cartographie d'un utilisateur à toutes les bases:

public static void MapUserToAllTheDatabases(String Server, String Server_UserName, String Server_Password, String LoginName,String user_Username) 
    { 
     ServerConnection conn = new ServerConnection(Server, Server_UserName, Server_Password); 
     Server srv = new Server(conn); 
     DatabaseCollection dbs = srv.Databases; 
     foreach (Database d in dbs) 
     { 
      bool ifExists = false; 
      foreach (User user in d.Users) 
       if (user.Name == user_Username) 
        ifExists = true; 

      if (ifExists == false) 
      { 
       User u = new User(d, user_Username); 
       u.Login = LoginName; 
       u.Create(); 
       u.AddToRole("db_owner"); 
      } 
     } 
     srv.Refresh(); 
    } 
Questions connexes