我们的 SQL Server 数据库具有报告功能,允许调用者读取但不能写入任何表,因为用户(或者更准确地说,代表用户操作的 Web 应用程序打开的连接)只有 datareader 权限数据库。
我们希望能够编写一个存储过程,它是一个特殊的“清理报告”,它将在运行另一个报告之前清理旧缓存数据的数据库。我们希望上面的同一个只读用户能够运行这个存储过程。存储过程中的查询将执行 DELETE 操作,但我们不希望用户能够通过调用此过程来删除任何内容。
我知道模块签名,但希望避免处理证书的复杂性。
还有其他解决方案吗?如果这很重要,我们将使用 SQL 标准身份验证。