我在目录\ 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";
有什么问题?
答案 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");