У меня есть экземпляр SQL Server 2012, работающий в качестве службы на моем компьютере, и в соответствии со страницей службы он входит в систему как учетная запись «NT Service \ MSSQLSERVER». Однако я не могу видеть это имя учетной записи в другом месте, в том числе в области «Локальные пользователи и группы» на экране управления компьютером, поскольку, как видно из ссылки ниже, это не учетная запись пользователя, а имя службы, в этом поле Microsoft так услужливо пометил «учетную запись». В этот момент я вижу, что многие люди сбиты с толку.
Задача, которую я пытаюсь выполнить, состоит в том, чтобы восстановить файлы с помощью диалогового окна SSMS «Найти файл резервной копии», в котором используется диалоговое окно, совершенно не похожее ни на одно из стандартных диалоговых окон открытия файлов Windows, возможно потому, что оно выполняет «удаленную» работу и работает из контекст безопасности сервера SQL, еще один богатый источник путаницы для конечных пользователей, который, я надеюсь, поможет решить этот вопрос.
Пока что, если я хочу восстановить резервную копию файла .mdf / .bak, который находится в одной из моих папок, я должен установить для этой папки доступность для чтения всем пользователям, иначе я не смогу получить доступ с помощью SQL Server. Файл "Окно. Я нахожу эту идею о том, что вы используете графический интерфейс для общения со службой, которая имеет учетные записи и права пользователей, отличные от вас, и что никто в Microsoft даже не захотел прояснить вам это, что очень сбивает с толку, даже если у меня есть многолетний опыт администрирования Windows-систем. ,
Я надеюсь, что пропустил некоторые страницы документации по SQL Server, на которых после установки нового экземпляра SQL-сервера можно было бы узнать, как можно настроить безопасность.
Сообщения на форуме , как этот есть даже Microsoft штатных сотрудников , говоря «это сложно», и что «изменились, снова» в Денали. Как это работает сейчас в SQL Server 2012, и как я могу добавить разрешение на чтение файлов, принадлежащих пользователям, для безопасности ядра базы данных SQL SID
.
источник
Ответы:
Для справки «Denali» - это SQL Server 2012. Что касается «путаницы с конечным пользователем», я не все, что касается того, смущен ли конечный пользователь или нет относительно SSMS. Microsoft разработала этот инструмент не для обычного конечного пользователя, а для администратора базы данных и / или пользователя, который должен был управлять базой данных. Таким образом, будет проведено обучение с предоставленными инструментами и их функционированием. Диалоговое окно файла было таким же образом в SSMS с тех пор, как SSMS вышла с SQL Server 2005. Вот почему вы обычно будете видеть большинство придерживающихся инструкций T-SQL для резервного копирования, восстановления или присоединения базы данных, которая использовала его с тех пор ,
Чтобы настроить разрешения файловой системы для SQL Server, вы можете следовать инструкциям MSDN здесь .
То, как обрабатываются учетные записи служб, не было связано с SQL Server или из-за изменений на уровне операционной системы. В Windows Server 2008 R2 немного больше уровня безопасности вокруг учетных записей служб. Преимущество, которое у вас есть, заключается в том, что учетная запись службы может более легко получать доступ к ресурсам в домене, даже если она установлена с настройками по умолчанию. Эта ссылка дает довольно подробное представление о том, как обрабатываются разрешения учетной записи службы в SQL Server 2012. Ниже приведена выдержка из ссылки на виртуальные учетные записи, используемые по умолчанию в SQL Server 2012. В статье также приведена ссылка, посвященная более подробно обсуждение концепции учетной записи службы Windows, здесь, Это из Window Server 2008 R2, но я верю, что это верно и для Window Server 2012, и, вероятно, Window Server 2012 R2.
источник
Чтобы увидеть / получить доступ к файлам в другой папке, дайте
NT SERVICE\MSSQLSERVER
разрешения на эту папку. См. Мой ответ, опубликованный в файле .bak, который не виден ни в одном каталоге в SSMS, чтобы увидеть снимки экрана и соответствующие шаги. (Немного отличается от добавления обычных разрешений пользователей / групп к папке.)Надеюсь, это поможет!
источник
Фактически, если вы попытаетесь выполнить восстановление через SSMS и войдете в систему с помощью Windows Authentication (!), То для вашей учетной записи Windows (а не для «всех») требуются разрешения для этого, а НЕ для службы SQL Server. Учетная запись. Надеюсь, что это устранит путаницу. У учетной записи службы есть и другие потребности. Например, если вы вошли в систему через учетную запись с проверкой подлинности SQL - тогда какие разрешения должна запрашивать операционная система? - В этом случае это будет служебная учетная запись SQL Server. только случай! Это не изменилось с SQL Server 7.0 и, вероятно, даже до этого :)
источник
.bak
файл (которого обычно не будет, если он находится в вашем пользовательском каталоге, если это явно не указано).