0

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

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

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

那么,我需要做什么才能让 Create() 授予所有人权限?我认为创建的文件将继承目录的权限......但显然不是。我意识到我可以自己设置文件权限,但宁愿尝试理解 Create() 赋予特殊权限的原因。

4

1 回答 1

1

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

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

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

马克

于 2009-07-17T19:22:56.117 回答