Как создать базу данных, используя SMO со всеми, кто имеет разрешение? - PullRequest
0 голосов
/ 17 июля 2009

Я пытаюсь создать базу данных SQL Server Express, используя SMO, например:

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

Я могу нормально пользоваться базой данных. Но, если кто-то пытается скопировать базу данных, он получает ошибки разрешения файла. Просматривая вкладку «Безопасность» в Windows Explorer, я единственный, кто имеет разрешение. Если я просто сделаю копию файла, копия дает всем права.

Итак, что мне нужно сделать, чтобы Create () дал всем разрешение? Я думаю, что созданный файл будет наследовать разрешения каталога ... но, видимо, нет. Я понимаю, что могу установить права доступа к файлам самостоятельно, но лучше попытаться понять, почему Create () предоставляет специальные разрешения.

1 Ответ

1 голос
/ 17 июля 2009

Я думаю, вам в основном нужно только добавить доступ для «публичной» роли - никогда не пробовал сам, но попробуйте это:

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

Это работает? Могут ли ваши коллеги получить доступ к базе данных сейчас?

Марк

...