我正在尝试设置一个 MS 2008 sql server,允许许多用户访问他们自己的私有数据库。我还想在所有这些服务器上安装 adventure works 数据库。我的问题是,有没有一种简单的方法可以编写脚本来完成这项任务,即为多个用户设置多个数据库,并且只允许该用户访问他/她自己的数据库。
注意:主要问题是 Adventure Works DB 的名称都相同。我考虑通过添加不同的架构来解决这个问题。
答案1
要创建每个数据库,首先备份 adventureworks,然后创建每个数据库并将 adventureworks 还原到该数据库中。
要创建所有用户,您需要CREATE LOGIN
为每个用户创建(创建服务器级实体)1。
然后针对他们的数据库CREATE USER
并分配角色。
1如果有十几个以上,使用 GUI 进行管理会变得很困难:这是因为需要为每个登录分配不同的权限。如果在同一个数据库中为它们分配相同的角色,您可以创建一个 Windows 组(本地或 AD)并将其添加到 SQL Server。