SQL Server 2005 - 创建具有另一个数据库权限的数据库
我是一个完整的 SQL Server 新手,但我有 Oracle 和 MySQL 的经验。我正在使用 SQL Server Management Studio。
我有一个现有数据库,我想从中创建视图,但我希望这些视图驻留在另一个数据库(架构?)中,该数据库可以由可通过 JDBC 连接的单独用户帐户访问。
我可以很容易地创建数据库,右键单击“数据库”并选择“新建数据库”。从那里我迷失了。
1) 如何将一个数据库的选择/更新/删除权限(创建和更新视图)授予新数据库?
2)如何创建新用户?
3)如何为用户授予权限?
提前致谢。
I am a complete SQL Server newbie but I have experience with Oracle and MySQL. I am using SQL Server Management Studio.
I have an existing database that I want to create views from but I want those views to reside in another database (schema?) which will be accessible by a separate user account that can connect via JDBC.
I can create the database easily enough, right click "Databases" and select "New Database". From there I am lost.
1) How do I grant select/update/delete permissions (to create and update views) on one database to the new database?
2) How do I create a new user?
3) How do I grant permissions for users?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
就像马丁说的,你需要一个新的模式而不是数据库。
创建架构 [SchemaName] 授权 dbo;
然后在新架构名称下创建视图,
CREATE LOGIN [LoginName] {FROM WINDOWS}(如果您使用的是 AD 组)
USE [DatabaseName];
创建用户[登录名/用户名]; (它们可以相同)
GRANT EXECUTE、SELECT、INSERT、DELETE、VIEW DEFINITION ON Schema::[NewSchemaName] TO [LoginName/Username];
如果您想要一个角色,请在数据库下创建角色,并使用户名成为角色的成员,并向该角色授予权限。
Like Martin said you need a new schema not a database.
CREATE SCHEMA [SchemaName] AUTHORIZATION dbo;
Create your Views under the new schema name then,
CREATE LOGIN [LoginName] {FROM WINDOWS} (If you are using an AD Group)
USE [DatabaseName];
CREATE USER [LoginName/Username]; (They can be the same)
GRANT EXECUTE, SELECT, INSERT, DELETE, VIEW DEFINITION ON Schema::[NewSchemaName] TO [LoginName/Username];
If you want to have a Role the create the role under the database and make the UserName a member of the Role and grant the permissions to the role.