Мы используем MS SQL Server Express 2008 R2 для хранения данных для нашего приложения. Недавно мы начали хранить базы данных на общем диске NAS. Раньше у нас был sql-сервер «вход в систему как» встроенный аккаунт: локальная система - потому что наша база данных хранилась локально. Чтобы заставить его работать с NAS, нам пришлось изменить это на «эту учетную запись» и попросить установщика ввести имя пользователя и пароль. Это усложняет установку, поскольку они должны знать подходящую учетную запись и пароль.
Недавно заказчик попробовал это на компьютере, на котором были локальные имя пользователя и пароль Windows (Win7), которые не распознавались NAS. Несмотря на то, что у NAS были разрешены права на запись для всех, чтобы пользователь мог создавать файлы на NAS, когда SQL-серверу были заданы это имя пользователя и пароль, сервер не мог писать в NAS. Выдаваемая ошибка: 1317 «Указанная учетная запись не существует».
У меня вопрос: почему пользователь, вошедший в систему с определенным именем пользователя, может писать на NAS, а SQL с тем же именем пользователя не может? Есть ли обходной путь? (это было бы полезно, когда мы хотим сделать быстрые демонстрации)
Попробуйте выполнить команду перед резервным копированием, чтобы подключиться к вашей общей папке на NAS:
net use \\<NAS>\<shared-folder> <password> /user:<domain>\<user>
... и выполнить после резервного копирования для отключения:
net use \\<NAS>\<shared-folder> /delete
Учитывая, что SQL Server Express может хранить только очень небольшой объем данных, 4 гигабайта, я думаю, использование общего NAS, вероятно, является излишним для хранения. Что касается того, почему это будет работать для человека, а не для учетной записи при использовании тех же учетных данных, понятия не имею. Вам нужно будет поговорить с поставщиком NAS (или хотя бы идентифицировать его), чтобы выяснить это, поскольку именно NAS отклоняет соединение.