sqlserver2008,创建一个用户和对应一个架构,只对这个架构下的表有访问权限,该选哪个数据库角色?
sqlserver2008,创建一个用户和对应一个架构,只对这个架构下的表有访问权限,该选哪个数据库角色?
或者是怎么设置?
还有一个问题就是,同一个数据库中,分别用多个架构建表(oracle中经常这样做)
,除了逻辑上清晰之外,这样有什么好处?跟把这些不同架构的表分别建库对比,有什么优势?
我的理解是,对于关联系不太强的表之间,没必要建在同一个库中,因为比如A系统的有20张表,B系统中30张表
A系统访问B系统中的两张表,可以建在同一个库中,也可以分别建库。
倘若是A系统数据量比较小,B系统的数据量比较大,首选备份策略可能就不一样,
另外,对于A访问B的表的问题,我认为通过新建账号更好,因为假如授权的话,对A授权B的其中两张表的访问权限,
这样绕来绕去,感觉有点乱啊,
[img=http://img.my.csdn.net/uploads/201209/04/1346767903_8126.JPG]
[/img]
---------------------------------------------------隔离广告--------------------
[解决办法]
CREATE LOGIN Lg_for_test WITH PASSWORD = 'F@r-Test'
GO
CREATE DATABASE ForTest
GO
USE ForTest
GO
CREATE USER u_for_test FOR LOGIN Lg_for_test
GO
CREATE SCHEMA NewSchema
go
CREATE TABLE T1(id INT,NAME VARCHAR(20))
go
CREATE TABLE NewSchema.T2(Nid int,DD datetime)
go
GRANT SELECT ON SCHEMA :: NewSchema TO u_for_test;
--重新使用Lg_for_test登录即可。