【发布时间】:2011-08-03 13:26:15
【问题描述】:
您可以在 sql server 中为数据库设置用户映射,这可以在 C# 中进行吗?例如,使用 SMO 为用户设置数据库的 db_owner 权限。
【问题讨论】:
标签: c# sql-server smo
您可以在 sql server 中为数据库设置用户映射,这可以在 C# 中进行吗?例如,使用 SMO 为用户设置数据库的 db_owner 权限。
【问题讨论】:
标签: c# sql-server smo
正如你所说,你可以使用 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
【讨论】: