服务器登录和数据库用户的麻烦

时间:2012-10-07 00:45:18

标签: c# sql-server

我在目录\ Security \ Logins \ new login - ttt中创建了密码ttt。然后我用角色db_datawriter创建了用户ttt。

要检查用户是管理员(db_owner)还是只是用户,我在SQL MS中调用函数IS_MEMBER('db_owner')(使用带有登录ttt和密码ttt的SQL身份验证运行),结果为0。

当我在C#中调用此函数时,结果始终为true(或1)。

 Database obj = new Database(new Server(@"ADMIN-PC\MSSQLSERVER2"),"ShoppingMall");
 bool user = obj.IsMember("db_owner");

Database是来自microsoft.sqlserver.management.smo的课程 连接字符串是

  string connection_string = @"Data Source=ADMIN-PC\MSSQLSERVER2;InitialCatalog=ShoppingMall;User ID=ttt;Password=ttt";

有什么问题?

1 个答案:

答案 0 :(得分:1)

我认为你需要在smo User对象上调用'IsMember'方法,而不是数据库对象。

Database db = new Database(new Server(@"ADMIN-PC\MSSQLSERVER2"),"ShoppingMall");
User user = new User(db, "ttt");
bool isMember = user.IsMember("db_owner");
相关问题