FYI:SQL Server 2005需要哪些数据库用户权限?
我有一个数据库用户帐户(user_web)有能力连接到我的数据库并运行查询和存储过程。具体来说,我给了用户db_datareader
和db_datawriter
角色以及授予他们对需要能够运行的特定存储过程的执行权限。
在其中一个存储过程中,我需要禁用触发器,然后在完成一些特定编辑后重新启用它。当我尝试运行与我得到以下错误的用户存储过程:
Cannot find the object "TableName" because it does not exist or you do not have permissions.
TableName
就是我试图禁用和启用触发器的表。我的问题是什么是我可以给我的用户帐户的最少量的权限,这将允许它成功运行存储过程。
他也可以考虑使用存储过程上的证书,但我认为这只是必要的,如果有一个所有权链接的问题(?)如果安全是至关重要的,虽然,毯具有db_datareader和db_datawriter或许不该不会被使用。 – 2010-01-05 15:38:06
我同意Tom对db_datareader和db_datawriter的看法。我不是证书的忠实粉丝,因为我认为他们是一种痛苦,尤其是当事情仍在积极发展时。 – 2010-01-05 15:57:10