我是Web场的系统管理员,目前我的开发人员可以以系统管理员身份连接到SQL服务器。在SQL 2005中创建自定义服务器角色
现在,我希望他们能够连接到所有数据库的,但只有权限修改数据库架构等,而不是创建新的数据库或更改权限。
有无论如何,我可以创建一个自定义的服务器角色,并配置它有什么权限?
我是Web场的系统管理员,目前我的开发人员可以以系统管理员身份连接到SQL服务器。在SQL 2005中创建自定义服务器角色
现在,我希望他们能够连接到所有数据库的,但只有权限修改数据库架构等,而不是创建新的数据库或更改权限。
有无论如何,我可以创建一个自定义的服务器角色,并配置它有什么权限?
我会把它们放在下面的数据库角色中,因为我不认为有满足您需求的服务器角色。
db_datareader
db_datawriter
db_ddladmin
然后将它们从sysadmin
服务器角色中删除。
我想,那么你就可以发出
DENY
声明,以防止他们使用
CREATE
,
ALTER
,
DROP DATABASE
语句。
例如
DENY CREATE DATABASE to UserXYZ
我还没有测试,所以我不是100%肯定,如果这是可能的。
如果你不给他们在master
数据库许可,那么他们将无法创建任何新的数据库。
因此,我必须遍历所有数据库,并将所有开发人员添加到每个数据库的db_datareader,db_datawriter,db_ddladmin数据库角色? – shaharmor 2010-12-16 09:39:23
我认为这是最好的选择。我假设您的所有开发人员都在单一组中,您也可以分配权限?你可以创建一个脚本来为你完成所有的工作,然后运行你的数据库。 – codingbadger 2010-12-16 09:46:45
我没有使用WINDOWS NT权限,因为服务器是远程服务器,不在我公司的域中。 无论如何创建一个SQL组?并把SQL用户呢? – shaharmor 2010-12-16 09:54:47
不会将开发组分配给单个数据库吗?当然不是所有的开发者都可以在所有数据库上工作来想一想吧!你为什么让开发人员改变架构:让他们改变脚本,将他们放在SCC中,并将他们交给DBA部署...... – 2010-12-16 08:16:24
问题是,不是这么大的公司,我们的开发团队只有5人,所以他们也改变数据库并开发应用程序。他们需要访问数据库但不能访问完整数据。 – shaharmor 2010-12-16 08:35:21
,你是如何(和他们)解决问题的时候呢?说,星期五下午的变化?我会认为允许Devs创建数据库将不那么严肃,然后允许他们进行更改。但是,嘿,我知道什么...... – 2010-12-16 08:38:42