2013-07-24 3 views
3

Я не хочу создавать роли и играть таким образом на данный момент - просто пытаюсь получить Q & D на этом. Когда я выполняю:Как предоставить все привилегии и permisisons себе?

grant all to [LameDomain\CoolDude] 

Я получаю DB лай, что (а) команда осуждается (хранятся только из соображений совместимости) и (б) я не могу сделать это для себя (и это реальная проблема). NB, я классный чувак в хромой области.

Итак, мои вопросы (в порядке повышения важности) следующие.

  1. Какой синтаксис можно использовать для предоставления всех привилегий самому себе (если возможно, один лайнер)?
  2. При необходимости, какой рекомендуемый синтаксис следует использовать, чтобы предоставить все самому себе?
  3. Какова текущая версия команды «предоставить все XXX»?

EDIT

Когда я пытаюсь следовать this article, я получаю ошибку, что пользователь или роль не существует в БД, когда я пытаюсь выполнить sp_addrolemember. Однако при попытке вызвать sp_grantdbaccess, я понимаю, что пользователь уже имеет имя в БД. WTF ?!

+1

Вы пытаетесь выполнить команду у привилегированного пользователя, верно? – wallyk

+0

@wallyk Да, я. –

ответ

1

Вы можете добавить пользователя в системную роль db_owner. Таким образом, у пользователя будут все разрешения на базу данных, включая ALTER и CREATE объектов.

Члены фиксированной базы данных db_owner могут выполнять все операции по настройке и техническому обслуживанию в базе данных.

USE_database_name 
GO 
EXEC sp_addrolemember 'db_owner', 'user_name' 
GO 

Что касается GRANT ALL вы все еще можете использовать его, но это даст не все разрешения. Список разрешений, которые будут предоставлены в документах по GRANT

+0

Но как я могу себе позволить? Это вообще возможно ?! –

+0

Да, если у вас есть соответствующие разрешения, в этом случае на уровне сервера. Например, если ваш логин находится в группе 'sysadmin'. Вы не можете предоставлять разрешения, которых у вас нет, ни себе, ни кому-либо другому. В противном случае это будет одной большой угрозой для безопасности сервера. –

+0

Извините, мой вопрос был неясен. Возможно ли предоставить все разрешения для себя, используя * grant *, вместо добавления моего имени в роль? Я могу выполнить * предоставить все * другим пользователям, просто не на себе ... –