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

Откуда: Уфа
Сообщений: 289
Господа, ниид хелп в очередной раз, уже не знаю что и попробовать...
Ситуация следующая, кофигруация кластера 3 узла актив/актив, соответсвенно 2 СКУЭЛЬ инстанса. На втором экземпляре СКУЭль сервера 'sql2' создал пустую дб 'base1', сделал владельцем данной базы доменного пользователя dom\user1

Пользователь цепляется к sql2 под юзером dom\user1 хочет сделать рестор в нее из бэкапа:
base1\Tasks\Restore\Database\From device\...\Add
и при нажатии кнопочки Адд вылетает еррор:

The EXECUTE permission was denied on the object 'xp_availablemedia', database 'mssqlsystemresource', schema 'sys'.
The user does not have permission to perform this action.
The statement has been terminated. (.Net SqlClient Data Provider)

Ну и собственно вопрос как же все таки дать права пользователю, чтобы он мог восстановить базу и бэкапа, но при этом к другим базам доступ не имел. Вот что я попробовал:

1. Давал пользователю dom\user1 все серверные роли, ошибка исчезает только с ролью sysadmin, но, как вы понимаете пользователь имеет доступ ко всем остальным базам
2. Давал этому пользователю членство в ролях базы 'base1': db_owner + public + db_backupoperator
3. Если примаппить этому пользователю базу master, default schema - dbo, database role membership - db_owner + public то ошибка становится вот такой:

The user does not have permission to perform this action.
The statement has been terminated. (.Net SqlClient Data Provider)

что еще нужно добавить чтобы все-таки получилось у пользователя сделать бэкап???
23 июн 11, 14:35    [10862017]     Ответить | Цитировать Сообщить модератору
 Re: права пользователя на восстановление базы SQL 2005 кластер  [new]
MotoCV
Member

Откуда: Уфа
Сообщений: 289
забыл написать., что если сделать пользователя локальным админом, все тоже получается, но доступ у него ко всем базам...
23 июн 11, 14:45    [10862145]     Ответить | Цитировать Сообщить модератору
 Re: права пользователя на восстановление базы SQL 2005 кластер  [new]
MotoCV
Member

Откуда: Уфа
Сообщений: 289
на всякий случай вот полный текст ошибки:

Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)

------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476

------------------------------
Program Location:

   at Microsoft.SqlServer.Management.Smo.Enumerator.Process(Object connectionInfo, Request request)
   at Microsoft.SqlServer.Management.SqlMgmt.BrowseFolder.FillDrives()
   at Microsoft.SqlServer.Management.SqlMgmt.BrowseFolder.Init()
   at Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreSelectBackupSource.AddFile()
   at Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreSelectBackupSource.buttonAdd_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

===================================

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------
Program Location:

   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteReader(String sqlCommand)
   at Microsoft.SqlServer.Management.Smo.ExecuteSql.GetDataReader(String query)
   at Microsoft.SqlServer.Management.Smo.DataProvider.SetConnectionAndQuery(ExecuteSql execSql, String query)
   at Microsoft.SqlServer.Management.Smo.ExecuteSql.GetDataProvider(StringCollection query, Object con, StatementBuilder sb, RetriveMode rm)
   at Microsoft.SqlServer.Management.Smo.ExecuteSql.ExecuteWithResults(StringCollection query, Object con, StatementBuilder sb)
   at Microsoft.SqlServer.Management.Smo.SqlObjectBase.FillData(ResultType resultType, StringCollection sql, Object connectionInfo, StatementBuilder sb)
   at Microsoft.SqlServer.Management.Smo.SqlObjectBase.FillDataWithUseFailure(SqlEnumResult sqlresult, ResultType resultType)
   at Microsoft.SqlServer.Management.Smo.SqlObjectBase.BuildResult(EnumResult result)
   at Microsoft.SqlServer.Management.Smo.SqlObjectBase.GetData(EnumResult erParent)
   at Microsoft.SqlServer.Management.Smo.Environment.GetData()
   at Microsoft.SqlServer.Management.Smo.Environment.GetData(Request req, Object ci)
   at Microsoft.SqlServer.Management.Smo.Enumerator.GetData(Object connectionInfo, Request request)
   at Microsoft.SqlServer.Management.Smo.Enumerator.Process(Object connectionInfo, Request request)

===================================

The user does not have permission to perform this action.
The statement has been terminated. (.Net SqlClient Data Provider)

------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.5000&EvtSrc=MSSQLServer&EvtID=297&LinkId=20476

------------------------------
Server Name: aps-sql-2\sql_inst2
Error Number: 297
Severity: 16
State: 1
Line Number: 9


------------------------------
Program Location:

   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader()
   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteReader(String sqlCommand)

23 июн 11, 14:49    [10862206]     Ответить | Цитировать Сообщить модератору
 Re: права пользователя на восстановление базы SQL 2005 кластер  [new]
Kirillich
Member

Откуда:
Сообщений: 581
прочитать документацию, а именно разделы в которых говорится какие права нужно выдать пользователю для данных операций
23 июн 11, 16:31    [10863446]     Ответить | Цитировать Сообщить модератору
 Re: права пользователя на восстановление базы SQL 2005 кластер  [new]
MotoCV
Member

Откуда: Уфа
Сообщений: 289
Вот тут тебе конечно спасибо за ответ. Я вот думаю кудаб я делся без такого ответа, лучше ничего не писал. Давай набор прав скажи мне если начитаный такой?
24 июн 11, 07:21    [10866408]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить