Bas
Bas

Reputation: 25

Setting sql server usermapping programmatically using C#

You can set the usermappings voor a user in sql server for a database, is this possible to do it in C#? for example setting db_owner permissions on a database for a user, using SMO.

Upvotes: 2

Views: 2290

Answers (1)

Massimiliano Peluso
Massimiliano Peluso

Reputation: 26737

as you said you can using SMO namespaces

have a look at the code below: it creates a user and give it the db_owner permission

static void CreateLogin
    (string sqlLoginName,string sqlLoginPassword,string databaseName)
{
myServer=GetServer()
Login newLogin = myServer.Logins[sqlLogin];
if (newLogin != null)
    newLogin.Drop();
newLogin = new Login(myServer, sqlLogin);
newLogin.PasswordPolicyEnforced = false;
newLogin.LoginType = LoginType.SqlLogin;
newLogin.Create(sqlLoginPassword);
//Create DatabaseUser
DatabaseMapping mapping = 
    new DatabaseMapping(newLogin.Name, MainDbName, newLogin.Name);
Database currentDb = myServer.Databases[databaseName];
User dbUser = new User(currentDb, newLogin.Name);
dbUser.Login = sqlLogin;
dbUser.Create();
dbUser.AddToRole("db_owner");
}

http://www.codeproject.com/KB/database/BackupRestoreWithSmo.aspx

Upvotes: 5

Related Questions