我正在尝试使用SMO创建一个SQL Server Express数据库,如下所示:
Database db = new Database(server, dataSource);
...
db.Create();
我能够很好地使用数据库。但是,如果其他人试图复制数据库,则会收到文件权限错误。在Windows资源管理器中查看安全选项卡下,我是唯一拥有权限的人。如果我只是制作文件的副本,则副本会授予每个人权限。
那么,为了让Create()给予每个人许可,我该怎么做?我认为创建的文件将继承目录的权限......但显然不是。我意识到我可以自己设置文件权限,但宁愿尝试理解为什么Create()提供特殊权限。
答案 0 :(得分:1)
我认为,你基本上只需要为“公共”角色添加访问权限 - 我从未尝试过,但试试这个:
Database db = new Database(server, dataSource);
db.Roles.Add(new DatabaseRole(db, "public"));
db.Create();
这有用吗?您的同事现在可以访问数据库吗?
马克