Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как сделать бэкап под определенным пользователем?  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Есть Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64) запускается под Network Service, необходимо настроить бэкап в папку (локальную или сетевую) права на которую имеет определенный доменный пользователь.
Я создал Credential в котором в качестве Identity прописал доменную учетку с паролем.
Далее в SQL SErver Agent'e создал Proxy к которому привязал созданное ранее Credential Name.
Теперь захожу в задание бэкапа и на шаге бэкапа (Type шага - T-SQL Script) в поле Run As пытаюсь выбрать созданный раньше прокси - но в этом поле пусто.
Что я делаю не так и как все-таки настроить бэкап под определенным пользователем?
28 июл 16, 18:19    [19469473]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Агент тут ни причем: файл бэкапа пишет сервер, поэтому права нужны учетной записи, под которой сервер работает.
28 июл 16, 18:35    [19469577]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Гавриленко Сергей Алексеевич
Агент тут ни причем: файл бэкапа пишет сервер, поэтому права нужны учетной записи, под которой сервер работает.


То есть, либо дать учетке сервера права на папку, либо запустить службу сервера под учеткой имеющей права? И больше никак?
29 июл 16, 09:14    [19470845]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Гавриленко Сергей Алексеевич
Агент тут ни причем: файл бэкапа пишет сервер, поэтому права нужны учетной записи, под которой сервер работает.


Кажется разобрался, нужно созданное Credential Name, привязать (Map to Credential) в свойствах учетки (NT AUTHORITY\NETWORK SERVICE) из-под которой запускается SQL-сервер.
Хотя это тоже не помогло - "Cannot open backup device"
29 июл 16, 12:13    [19471872]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
В хелпе вроде как недвузначно написано.

https://msdn.microsoft.com/en-us/library/ms186865.aspx
Permissions
BACKUP DATABASE and BACKUP LOG permissions default to members of the sysadmin fixed server role and the db_owner and db_backupoperator fixed database roles.
Ownership and permission problems on the backup device's physical file can interfere with a backup operation. SQL Server must be able to read and write to the device; the account under which the SQL Server service runs must have write permissions. However, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. Such problems on the backup device's physical file may not appear until the physical resource is accessed when the backup or restore is attempted.


Сообщение было отредактировано: 29 июл 16, 12:34
29 июл 16, 12:33    [19472009]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Гавриленко Сергей Алексеевич
В хелпе вроде как недвузначно написано.

https://msdn.microsoft.com/en-us/library/ms186865.aspx
Permissions
BACKUP DATABASE and BACKUP LOG permissions default to members of the sysadmin fixed server role and the db_owner and db_backupoperator fixed database roles.
Ownership and permission problems on the backup device's physical file can interfere with a backup operation. SQL Server must be able to read and write to the device; the account under which the SQL Server service runs must have write permissions. However, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. Such problems on the backup device's physical file may not appear until the physical resource is accessed when the backup or restore is attempted.


Для чего тогда нужны Credentials?
"Credentials provide a way to allow SQL Server Authentication users to have an identity outside of SQL Server. This is primarily used to execute code in Assemblies with EXTERNAL_ACCESS permission set. Credentials can also be used when a SQL Server Authentication user needs access to a domain resource, such as a file location to store a backup."
29 июл 16, 14:15    [19472807]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
mism
Гавриленко Сергей Алексеевич
В хелпе вроде как недвузначно написано.

пропущено...


Для чего тогда нужны Credentials?
"Credentials provide a way to allow SQL Server Authentication users to have an identity outside of SQL Server. This is primarily used to execute code in Assemblies with EXTERNAL_ACCESS permission set. Credentials can also be used when a SQL Server Authentication user needs access to a domain resource, such as a file location to store a backup."
Так английским же по белому написано - чтобы пользователи с SQL-аутентификацией могли ходить за пределы сервера.
29 июл 16, 14:17    [19472828]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Гавриленко Сергей Алексеевич
mism
пропущено...


Для чего тогда нужны Credentials?
"Credentials provide a way to allow SQL Server Authentication users to have an identity outside of SQL Server. This is primarily used to execute code in Assemblies with EXTERNAL_ACCESS permission set. Credentials can also be used when a SQL Server Authentication user needs access to a domain resource, such as a file location to store a backup."
Так английским же по белому написано - чтобы пользователи с SQL-аутентификацией могли ходить за пределы сервера.


Это я понял. Я создаю нового пользователя с SQL-аутентификацией, даю ему права на базу, привязываю к его учетке Credential Name, логинюсь под ним, запускаю скрипт, который делает бэкап базы и снова - "Cannot open backup device"
29 июл 16, 14:38    [19472989]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
mism
Гавриленко Сергей Алексеевич
пропущено...
Так английским же по белому написано - чтобы пользователи с SQL-аутентификацией могли ходить за пределы сервера.


Это я понял. Я создаю нового пользователя с SQL-аутентификацией, даю ему права на базу, привязываю к его учетке Credential Name, логинюсь под ним, запускаю скрипт, который делает бэкап базы и снова - "Cannot open backup device"
Вы нифига не поняли. Читайте фразу "SQL Server must be able to read and write to the device; the account under which the SQL Server service runs must have write permissions." пока не дойдет ее смысл.
29 июл 16, 14:54    [19473079]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
o-o
Guest
mism
Это я понял. Я создаю нового пользователя с SQL-аутентификацией, даю ему права на базу, привязываю к его учетке Credential Name, логинюсь под ним, запускаю скрипт, который делает бэкап базы и снова - "Cannot open backup device"

Гавриленко Сергей Алексеевич
Агент тут ни причем: файл бэкапа пишет сервер, поэтому права нужны учетной записи, под которой сервер работает.
29 июл 16, 14:56    [19473091]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
i-i
Guest
Уважаемый, когда вы запускаете скажем блокнот, и на етой машине у вас нет прав на редактирование файлов, то в блокноте вы не сможете редактировать файлы, а вот если запустить его с правами администратора, то редактирование будет возмогно. аналогично и скл сервер - юзер под которым вы логинетесь ето просто логин внутри сервера, а вам надо посмотреть под каким виндовс пользователем (учетной записью) запушен скл сервер и ему дать доступ
29 июл 16, 16:02    [19473624]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
i-i
Уважаемый, когда вы запускаете скажем блокнот, и на етой машине у вас нет прав на редактирование файлов, то в блокноте вы не сможете редактировать файлы, а вот если запустить его с правами администратора, то редактирование будет возмогно. аналогично и скл сервер - юзер под которым вы логинетесь ето просто логин внутри сервера, а вам надо посмотреть под каким виндовс пользователем (учетной записью) запушен скл сервер и ему дать доступ

Уважаемый, если бы вы удосужились прочитали дискуссию более подробно вы бы поняли что я знаю что можно "либо дать учетке сервера права на папку, либо запустить службу сервера под учеткой имеющей права". И смысл фразы "SQL Server must be able to read and write to the device; the account under which the SQL Server service runs must have write permissions" для меня тоже понятен. Меня смутила фраза в описании Credentials - "Credentials can also be used when a SQL Server Authentication user needs access to a domain resource, such as a file location to store a backup.".
29 июл 16, 16:35    [19473968]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать бэкап под определенным пользователем?  [new]
i-i
Guest
ничего мутного в етой фразе нет, вам необходимо подтянуть английский, или как вариант использовать русскоязычную версию msdn

https://msdn.microsoft.com/ru-ru/library/ms190703.aspx
29 июл 16, 21:00    [19475302]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить