如何使用SMO创建数据库,每个人都有权限?

时间:2009-07-17 18:32:56

标签: c# database smo

我正在尝试使用SMO创建一个SQL Server Express数据库,如下所示:

Database db = new Database(server, dataSource);
...
db.Create();

我能够很好地使用数据库。但是,如果其他人试图复制数据库,则会收到文件权限错误。在Windows资源管理器中查看安全选项卡下,我是唯一拥有权限的人。如果我只是制作文件的副本,则副本会授予每个人权限。

那么,为了让Create()给予每个人许可,我该怎么做?我认为创建的文件将继承目录的权限......但显然不是。我意识到我可以自己设置文件权限,但宁愿尝试理解为什么Create()提供特殊权限。

1 个答案:

答案 0 :(得分:1)

我认为,你基本上只需要为“公共”角色添加访问权限 - 我从未尝试过,但试试这个:

Database db = new Database(server, dataSource);
db.Roles.Add(new DatabaseRole(db, "public"));
db.Create();

这有用吗?您的同事现在可以访问数据库吗?

马克