SQL Server 2005 - 创建具有另一个数据库权限的数据库
Posted
技术标签:
【中文标题】SQL Server 2005 - 创建具有另一个数据库权限的数据库【英文标题】:SQL Server 2005 - Create Database with permissions for another database 【发布时间】:2011-04-22 15:47:40 【问题描述】:我是一个完整的 SQL Server 新手,但我有使用 Oracle 和 mysql 的经验。我正在使用 SQL Server Management Studio。
我有一个现有的数据库,我想从中创建视图,但我希望这些视图驻留在另一个数据库(架构?)中,该数据库可由可以通过 JDBC 连接的单独用户帐户访问。
我可以很容易地创建数据库,右键单击“数据库”并选择“新建数据库”。从那里我迷路了。
1) 如何将一个数据库的选择/更新/删除权限(创建和更新视图)授予新数据库?
2) 如何创建新用户?
3) 如何为用户授予权限?
提前致谢。
【问题讨论】:
我认为你需要一个新的架构而不是一个新的数据库。您可能会发现这很有用msdn.microsoft.com/en-us/library/ms188676.aspx 【参考方案1】:就像 Martin 说的,你需要一个新的架构而不是数据库。
CREATE SCHEMA [SchemaName] AUTHORIZATION dbo;
然后在新的架构名称下创建您的视图,
CREATE LOGIN [LoginName] FROM WINDOWS(如果您使用的是 AD 组)
使用[数据库名称];
创建用户 [登录名/用户名]; (可以相同)
GRANT EXECUTE、SELECT、INSERT、DELETE、VIEW DEFINITION ON Schema::[NewSchemaName] TO [LoginName/Username];
如果您想拥有一个角色,请在数据库下创建角色,并使用户名成为该角色的成员并授予该角色的权限。
【讨论】:
以上是关于SQL Server 2005 - 创建具有另一个数据库权限的数据库的主要内容,如果未能解决你的问题,请参考以下文章
在 SQL Server 2005 中将列标识上的标识设置为另一个表的列
如何从 SQL Server 2005 中另一个表中的相应数据更新一个表中的数据