Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Заблокирован

Пользователи БД

19.10.2013, 19:08. Показов 1132. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Вопрос, можно ли пользователю БД с логином к примеру B066001 присвоить ФИО?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.10.2013, 19:08
Ответы с готовыми решениями:

Пользователи
Нужно, чтобы в базе данных было 2 пользователя: один может только считывать информацию, другой - ее изменять. Как я понимаю, нужно создать...

Пользователи
Я создал базу данных и в ней пару пользователей, присвоил роли, сделал сопоставление к учётным записям на вход. Вопрос можно ли...

Пользователи и БД
Windows 7 Хочу для установки БД создать нового пользователя, что бы пока работаю за основным пользователем процессы БД не загромождали...

12
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
20.10.2013, 11:24
Разве что в свою доморощенную таблицу юзеров
1
Заблокирован
20.10.2013, 12:08  [ТС]
Аватар, Разрешите тогда вопрос, создал пользователя, ему выдал разращение на изменение столбцов таблицы, оставив под запретом только 1 столбец. Как далее будет работать запроса на UPDATE то есть как он будет выглядит если запрет установлен.
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
20.10.2013, 12:38
А попробовать слабо? Делаешь юзера с такими хитрыми полномочиями на тестовую таблицу, входишь от его имени и пытаешься изменить в том числе и запрещенное поле. Всегда так поступаю, если чего-либо ранее не использовал. Такие хитрые полномочия не делал, могу предположить с вероятностью почти 100%, что облом наступит, в смысле не даст обновить не только это, но и другие поля
1
Заблокирован
20.10.2013, 12:57  [ТС]
Аватар, Вот именно, что другие поля не дает обновить из-за одного поля. Вот и решил спросить, как можно сделать запрос с таким учетом пользователя.
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
20.10.2013, 13:01
Цитата Сообщение от inv.DS Посмотреть сообщение
Вот и решил спросить, как можно сделать запрос с таким учетом пользователя.
Разрешения проверяются на этапе компиляции. Поэтому ответ - динамический запрос, в котором, в зависимости от проверки разрешений, либо есть запретный столбец, либо нет.
1
Заблокирован
20.10.2013, 13:04  [ТС]
invm, Но на VS если это куча кода уйдет. Тогда вопрос на можно проверить разращение на пользователя именно в SQL Server Management Studio запросом?

И возможно еще 1 вопрос, как отследить изменения сделанные пользователем, то есть куда именно он обратился и с каким запросом, что изменил или добавил без использования еще 1 таблицы.
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
20.10.2013, 13:15
Цитата Сообщение от inv.DS Посмотреть сообщение
invm, Но на VS если это куча кода уйдет. Тогда вопрос на можно проверить разращение на пользователя именно в SQL Server Management Studio запросом?
Причем тут VS? Такие вещи делают хранимыми процедурами на стороне сервера. А вот как проверит наличие разрешения:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use tempdb;
go
 
create user TestUser without login;
go
 
create table dbo.TestTable (f1 int, f2 int);
go
 
grant select on dbo.TestTable to TestUser;
grant update on dbo.TestTable to TestUser;
--revoke update on dbo.TestTable(f1) to TestUser;
go
 
execute as user = 'TestUser';
go
 
--Если запрос вернул результат, значит у текущего пользователя есть разрешение изменять столбец f1 таблицы TestTable
select * from fn_my_permissions('dbo.TestTable', 'object') where subentity_name = 'f1' and permission_name = 'UPDATE';
go
 
revert;
go
 
drop table dbo.TestTable;
drop user TestUser;
go
1
Заблокирован
20.10.2013, 13:27  [ТС]
invm, Спасибо!

SQL
1
2
3
--Если запрос вернул результат, значит у текущего пользователя есть разрешение изменять столбец f1 таблицы TestTable
SELECT * FROM fn_my_permissions('dbo.TestTable', 'object') WHERE subentity_name = 'f1' AND permission_name = 'UPDATE';
GO
Именно, оно!

Как можно отследить изменения сделанные пользователем в БД?
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
20.10.2013, 13:37
Как можно отследить изменения сделанные пользователем в БД?
Лог-таблицу в базе поддерживать. Писать туда в триггерах на основные таблицы. Тормозов добавит существенно и лог будет интенсивно расти. Особенно если в логе фиксировать старое-новое значения полей, а не просто пользователь изменил/вставил/удалил запись в таблице имярек
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
20.10.2013, 13:39
Цитата Сообщение от inv.DS Посмотреть сообщение
Как можно отследить изменения сделанные пользователем в БД?
Автоматом никак. Только писать собственную систему аудита.
0
Заблокирован
20.10.2013, 13:40  [ТС]
http://habrahabr.ru/post/111207/ Тогда вопрос, о чем они несут тут?
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
20.10.2013, 13:59
inv.DS, перечисленные в статье способы предназначены для других целей. Ими можно либо отследить какие данные изменились, но не кто и когда их изменил, либо кто и когда их изменил, но без знания какие данные изменились.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2013, 13:59
Помогаю со студенческими работами здесь

Роли и пользователи
Господа, помогите с заданием "Определить, пользователь какой роли имеет возможность создания и удаления учетных записей для входа."...

Роли и пользователи
Здраствуйте. Подскажите пожалуйста, как из query analyzer узнать имена пользователей и соответствующие им роли. Я в смысле при помощи...

Пользователи и права
нужно создать Admina и Usera, что бы первый мог делать все а пользователь только смотреть 2 таблицу

Безопасность. Пользователи. SQL
Здравствуйте, помогите пожалуйста, страшно не успеваю: В моей программе есть один пользователь. Как добавить нового пользователя, не...

Разработать и нормализовать БД Пользователи(Сотрудники) - SQL Server
Существует база данных пользователей(сотрудников) организации "N". Содержит в себе 5 таблиц: 1)Сотрудники(id,Фамилия,Имя,Отчество,Статус...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru