我在VB.NET中编写了一个程序,它连接到我们的一个SQL Server。需要连接,因为在数据库上有一些必须执行的存储过程。
但问题是,我无法运行任何存储过程。我认为问题的原因是,用户没有权限在数据库上运行任何存储过程。
我在SQL Server上创建了数据库而没有任何权限配置。
我程序上的连接字符串如下:
Data Source=SQL01;Initial Catalog=DB;Integrated Security=True
我的客户使用我的程序是域用户。
现在我的问题是:我是否有可能定义这个Active Directory用户,该用户应该有权对数据库执行任何存储过程?
谢谢!
答案 0 :(得分:1)
USE myDB;
GO
CREATE ROLE newrole;
GO
GRANT EXECUTE ON dbo.myStoredProc TO newrole ;
GO
-- or if you want to grant execute to an entire schema.
GRANT EXEC ON SCHEMA::schema_name TO role_name
然后将AD组/用户添加到角色(您需要为AD用户/组创建登录名)
参考:GRANT