使用c#以编程方式设置sql server用户映射

本文关键字:sql server 用户 映射 设置 方式 编程 使用 | 更新日期: 2023-09-27 18:04:18

您可以在sql server中为数据库设置用户映射,这可能在c#中做到吗?例如,使用SMO为用户在数据库上设置db_owner权限。

使用c#以编程方式设置sql server用户映射

正如您所说,您可以使用SMO命名空间

看一下下面的代码:它创建了一个用户并赋予它db_owner权限

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