Sql server 如何在具有可信连接的SQL Server上模拟用户权限问题?

Sql server 如何在具有可信连接的SQL Server上模拟用户权限问题?,sql-server,testing,user-roles,Sql Server,Testing,User Roles,我开发了一个小型的C实用程序,可以执行数据验证、清理和导出。现在,我正在为用户编写一本手册,我想模拟这样一种情况,即用户可能没有足够的权限对特定表执行某些数据库操作SELECT或UPDATE 该实用程序非常小,仅通过使用到数据库的受信任连接依赖于当前用户的Windows凭据,这意味着它使用从AD传播的我的Windows帐户的凭据。我对数据库服务器拥有完全权限,但是我不能从我自己撤销一些权限,也不能将我的登录名映射到另一个权限较低的数据库用户,因为我的登录名已经映射到dbo,并且我无法取消映射。如

我开发了一个小型的C实用程序,可以执行数据验证、清理和导出。现在,我正在为用户编写一本手册,我想模拟这样一种情况,即用户可能没有足够的权限对特定表执行某些数据库操作SELECT或UPDATE

该实用程序非常小,仅通过使用到数据库的受信任连接依赖于当前用户的Windows凭据,这意味着它使用从AD传播的我的Windows帐户的凭据。我对数据库服务器拥有完全权限,但是我不能从我自己撤销一些权限,也不能将我的登录名映射到另一个权限较低的数据库用户,因为我的登录名已经映射到dbo,并且我无法取消映射。如果我尝试,则会出现错误消息dbo user无法删除


那么,如何模拟我的实用程序缺少必要的权限呢?

您可以在测试中创建并抛出SqlException,以模拟没有权限执行某个操作的情况


您需要对帮助器类使用一些反射签出,以将正确的错误添加到异常的errors属性。

您是否尝试了从命令行运行方式?您不能在SQL Server中添加另一个用户并使其成为dbo吗?可能是