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

Откуда:
Сообщений: 194
Здравствуйте!
Помогите разобраться с проблемой.
Есть сторонняя программа которая работает с SQL-сервером.
У нас в организации есть настроенный SQL-сервер.
Конкретно SQL EXPRESS
Я не являюсь администратором сервера.
Администратором является другой человек.
И у нас с ним возникли разногласия.

Сторонняя программа выдает следующие сообщения об ошибках


Сообщение: Запрещено разрешение "EXECUTE" на объект "yaНагрузкаUpdate" базы данных "Нагрузка 2", схемы "dbo".
Источник: .Net SqlClient Data Provider
Стек:
в System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
в System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
в System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
в System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
в System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
в System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
в System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
в System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
в Service.WorkData.DataUpdater.ExecCmd()
в Service.WorkData.DataUpdater.UpdateRow(DataRow row)
в Service.WorkData.DataUpdater.Update(DbConnection cnn, DbTransaction tnn)
в Service.PageControls.PageNagruzka.PageNagruzka.SaveData()
Модуль:System.Data.dll
Класс:System.Data.SqlClient.SqlConnection
Метод:OnError
Тип:Method
Аттрибуты:PrivateScope, Assembly, HideBySig



Сообщение: Конфликт инструкции DELETE с ограничением REFERENCE "FK_ПланыКвалификации_Планы". Конфликт произошел в базе данных "Нагрузка 2", таблица "dbo.ПланыКвалификации", column 'КодПлана'.
Выполнение данной инструкции было прервано.
Источник: .Net SqlClient Data Provider
Стек:
в System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
в System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
в System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
в System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
в System.Data.Common.DbDataAdapter.Update(DataTable dataTable)
в Service.WorkData.SqlManager.SaveTable(String connect, String query, DataTable tbl)
в Service.WorkData.DBTable.Update()
в Service.PageControls.ControlTeachPlans.ControlTeachPlans.button6_Click(Object sender, EventArgs e)
Модуль:System.Data.dll
Класс:System.Data.Common.DbDataAdapter
Метод:UpdatedRowStatusErrors
Тип:Method
Аттрибуты:PrivateScope, Private, HideBySig


Администратор сервера настаивает на том что ошибки возникают из за неправильно работающей сторонней программы.
А у меня такое впечатление, что ошибка из за неправильно настроенного сервера.
У меня нет доступа до сервера, чтобы экспериментировать.
Может кто сумеет мне дать совет, в чем может быть проблема.
Заранее спасибо.
13 фев 16, 06:25    [18812236]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7377
Владислав Y,

автор
Сообщение: Запрещено разрешение "EXECUTE" на объект "yaНагрузкаUpdate" базы данных "Нагрузка 2", схемы "dbo".
несмешно
13 фев 16, 07:01    [18812259]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
Relic Hunter,

Я ни разу не имел отношения к SQL серверам
не имею ни малейшего понятия как там устроены разрешения или еще что нужно для правильной работы.

Наведите меня на правильную мысль.
Чтобы я мог аргументированно разговаривать с администратором нашего SQL сервера.

А то мне говорят, что проблема у разработчиков.
13 фев 16, 09:11    [18812329]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
Я понимаю, что проблема в разрешениях

EXECUTE — право запускать на выполнение. Применяется к хранимым процедурам и функциям.
REFERENCES — разрешение, которое можно предоставить для проверки ограничений целостности. Например, пользователь может добавлять данные в таблицу с внешним ключом, а на таблицу с первичным ключом ему нельзя предоставлять права на просмотр. В этом случае на таблицу с первичным ключом ему можно предоставить право REFERENCES — и он сможет производить вставку данных в таблицу с внешним ключом, не получая лишних прав на главную таблицу. Это разрешение можно предоставлять на таблицы, представления, столбцы и функции.

Но не обладаю знаниями, эти разрешения должны быть выставлены для базы данных. Если для базы данных то вопрос где.
Или проблема с разрешениями непосредственно в программе которая работает с данной базой?
13 фев 16, 09:18    [18812334]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
Владислав Y
А то мне говорят, что проблема у разработчиков.
Правильно говорят.
1-я ошибка: банально не настроена безопасность в БД.
2-я ошибка: проблема в логике приложения - попытка удалить запись, когда на нее есть ссылки в дочерних таблицах.
13 фев 16, 09:25    [18812343]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
Владислав Y
Member

Откуда:
Сообщений: 194
invm
Владислав Y
А то мне говорят, что проблема у разработчиков.
Правильно говорят.
1-я ошибка: банально не настроена безопасность в БД.
2-я ошибка: проблема в логике приложения - попытка удалить запись, когда на нее есть ссылки в дочерних таблицах.


Со 2-й ошибкой понял. Так как есть связи удаление не возможно. И здесь ничего поделать нельзя.

А с 1-й ошибкой, эту безопасность нужно настраивать для базы данных на сервере. Или эту безопасность могут изменять только разработчики данной программы которая работает с базой данных?
13 фев 16, 09:45    [18812366]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
Владислав Y
А с 1-й ошибкой, эту безопасность нужно настраивать для базы данных на сервере. Или эту безопасность могут изменять только разработчики данной программы которая работает с базой данных?
Разрешения может выдавать любой, кто имеет соответствующие права. Но настраивать должны разработчики БД, ибо только им ведомо, кому и что разрешено делать в БД.
У вас может быть и так, что в БД все настроено, просто пользователь не включен в нужную роль(и). Это уже дело DBA.
13 фев 16, 09:59    [18812376]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
Владислав Y,

2-ая ошибка скорее всего сама пройдет после устранения 1-ой
13 фев 16, 12:08    [18812605]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
o-o
Guest
leov
2-ая ошибка скорее всего сама пройдет после устранения 1-ой

как только у юзера появится EXECUTE на процедуру,
будет разрешено удалять записи, на к-ые ссылается FK?Картинка с другого сайта.
13 фев 16, 19:45    [18813582]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
o-o
leov
2-ая ошибка скорее всего сама пройдет после устранения 1-ой

как только у юзера появится EXECUTE на процедуру,
будет разрешено удалять записи, на к-ые ссылается FK?Картинка с другого сайта.
скорее всего процедура во всем разберется
а вторая ошибка просто наведенная и нет смысла ее обсуждать
13 фев 16, 20:52    [18813744]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34621
Владислав Y
Relic Hunter,

Я ни разу не имел отношения к SQL серверам
не имею ни малейшего понятия как там устроены разрешения или еще что нужно для правильной работы.

Наведите меня на правильную мысль.
Чтобы я мог аргументированно разговаривать с администратором нашего SQL сервера.

А то мне говорят, что проблема у разработчиков.



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

В принципе твой DBA прав, это все - зона ответственности приложения, а не администратора системы.

ну и наверное ты должен знать, что ты привел описание на самом деле двух проблем, а не одной, и эти проблемы скорее всего никак друг с другом не связаны.
14 фев 16, 09:17    [18814718]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34621
Владислав Y
Я понимаю, что проблема в разрешениях

EXECUTE — право запускать на выполнение. Применяется к хранимым процедурам и функциям.
REFERENCES — разрешение, которое можно предоставить для проверки ограничений целостности. Например, пользователь может добавлять данные в таблицу с внешним ключом, а на таблицу с первичным ключом ему нельзя предоставлять права на просмотр. В этом случае на таблицу с первичным ключом ему можно предоставить право REFERENCES — и он сможет производить вставку данных в таблицу с внешним ключом, не получая лишних прав на главную таблицу. Это разрешение можно предоставлять на таблицы, представления, столбцы и функции.

Но не обладаю знаниями, эти разрешения должны быть выставлены для базы данных. Если для базы данных то вопрос где.
Или проблема с разрешениями непосредственно в программе которая работает с данной базой?



в любом случае эти разрешения должны выдаваться не тобой, не вашим DBA, а именно программистами или администраторами этого вашего приложения.

второй случай на самом деле не подразумевает выдачу каких-то прав вообще, это нарушение целостности данных.
14 фев 16, 09:22    [18814720]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34621
leov
o-o
пропущено...

как только у юзера появится EXECUTE на процедуру,
будет разрешено удалять записи, на к-ые ссылается FK?Картинка с другого сайта.
скорее всего процедура во всем разберется
а вторая ошибка просто наведенная и нет смысла ее обсуждать



в таком случае у разработчиков этой замечательной базы данных не две, а три проблемы - еще и баг в их софте.
14 фев 16, 09:25    [18814723]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о настройках SQL сервера  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Владислав Y,

автор
Если для базы данных то вопрос где.

Возможно, конкретные пользователи и не должны иметь прав на выполнение. Вы уж разберитесь - ошибка это или преднамеренное поведение.
15 фев 16, 11:06    [18816826]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить