2012-10-07 59 views
0

我在目录\ Security \ Logins \中创建了新登录名 - ttt带有密码ttt。然后我创建了具有角色db_datawriter的用户ttt。服务器登录和数据库用户遇到的问题

要检查用户是否是admin(db_owner)或只是用户我通话功能IS_MEMBER('db_owner')在SQL MS(运行使用的登录TTT和密码TTT SQL认证),结果为0。

当我调用该函数在C#中结果总是为真(或1)。

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

Databasemicrosoft.sqlserver.management.smo 连接字符串一类是

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

什么问题?

回答

1

我相信你需要调用smo用户对象的'IsMember'方法,而不是数据库对象。

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