我在同一个SQL Server 2012上有3个数据库:
- erpCountry1
- erpCountry2
- erpWeb
create view erpWeb.dbo.vwClients
as
SELECT 'XX' as Region, IdClient, Nom, Adress
FROM erpCountry1.dbo.Clients
UNION ALL
SELECT 'YY' as Region, IdClient, Nom, Adress
FROM erpCountry2.dbo.Clients
目前,用户webUser必须映射到erpCountry1
和erpCountry2
数据库,否则查看erpWeb.dbo.vwClients
对他不起作用。
我的问题是:我应该怎么做才能让webUser看到vwClients的结果没有将webUser映射为erpCountry1和erpCountry2的datareader
? (因为这允许webUser查看这些数据库的所有数据)
修改:在Access中,您可以定义要使用所有者权限(而不是用户)运行的查询。在SQL Server中是不是有任何等价物?