none
Что делает этот T-SQL код? Как? RRS feed

  • Вопрос

  • Есть код:

    CREATE LOGIN [DOMAIN\user] FROM WINDOWS;
    GO
    alter authorization on database::[DATABASE] to [DOMAIN\user];

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

    Так вот, как он делает пользователя dbo? В alter authorization ведь не прописана схема db_owner явно...

    15 ноября 2012 г. 6:52

Ответы

  • Ок, значит то, что я знал сегодня с утра верно :)

    Можете подсказать код на этот процесс (а именно создание юзера в БД дл моего логина и включение его в db_owner)?

    Спасибо!


    CREATE USER [UserName] FOR LOGIN [LoginName]
    ALTER ROLE [db_owner] ADD MEMBER [UserName]


    http://www.t-sql.ru

    • Помечено в качестве ответа Philip Portnoy 15 ноября 2012 г. 9:57
    • Снята пометка об ответе Philip Portnoy 15 ноября 2012 г. 10:04
    • Помечено в качестве ответа Philip Portnoy 15 ноября 2012 г. 13:39
    15 ноября 2012 г. 9:01
    Отвечающий

Все ответы

  • alter authorization on database делает юзера владельцем БД, т.е. равносильно запуску процедуры: sp_changedbowner

    http://www.t-sql.ru

    15 ноября 2012 г. 7:06
    Отвечающий
  • А можете подсказать код, который будет давать пользователю права dbo, но при этом:

    1) Не будет создавать USer в самой базе

    2) Я смогу увидеть это в SSMS в User Mapping

    Заранее спасибо!

    15 ноября 2012 г. 7:08
  • А можете подсказать код, который будет давать пользователю права dbo, но при этом:

    1) Не будет создавать USer в самой базе

    2) Я смогу увидеть это в SSMS в User Mapping

    Заранее спасибо!


    а разве ваш код создаёт нового юзера? он сопоставляет имя входа на сервер [DOMAIN\user] с системным юзером DBO в контексте указанной БД

    http://www.t-sql.ru

    15 ноября 2012 г. 7:25
    Отвечающий
  • Он создает логин: CREATE LOGIN [DOMAIN\user] FROM WINDOWS;
    Т.е. по факту, когда я делаю User Mapping, я всего-лишь соспоставляю логин с уже существующим в базе пользователем dbo?

    Если да, то можете подсказать t-sql код, который это делает?

    Спасибо!

    15 ноября 2012 г. 7:32
  • Он создает логин: CREATE LOGIN [DOMAIN\user] FROM WINDOWS;
    Т.е. по факту, когда я делаю User Mapping, я всего-лишь соспоставляю логин с уже существующим в базе пользователем dbo?

    Если да, то можете подсказать t-sql код, который это делает?

    Спасибо!

    alter authorization on database::[DATABASE] to [DOMAIN\user];

    через User Mapping вы не можете связать логин и юзера dbo


    http://www.t-sql.ru

    15 ноября 2012 г. 8:17
    Отвечающий
  • Алексей, тогда что происходит, когда я в User Mapping выделяю базу и ставлю галочку на db_owner?

    15 ноября 2012 г. 8:26
  • Алексей, тогда что происходит, когда я в User Mapping выделяю базу и ставлю галочку на db_owner?


    создаете юзера для вашего логина

    http://www.t-sql.ru

    15 ноября 2012 г. 8:49
    Отвечающий
  • Алексей, тогда что происходит, когда я в User Mapping выделяю базу и ставлю галочку на db_owner?


    создаете юзера для вашего логина


    ну и включаете его в роль db_owner

    http://www.t-sql.ru

    15 ноября 2012 г. 8:52
    Отвечающий
  • Ок, значит то, что я знал сегодня с утра верно :)

    Можете подсказать код на этот процесс (а именно создание юзера в БД дл моего логина и включение его в db_owner)?

    Спасибо!

    15 ноября 2012 г. 8:59
  • Ок, значит то, что я знал сегодня с утра верно :)

    Можете подсказать код на этот процесс (а именно создание юзера в БД дл моего логина и включение его в db_owner)?

    Спасибо!


    CREATE USER [UserName] FOR LOGIN [LoginName]
    ALTER ROLE [db_owner] ADD MEMBER [UserName]


    http://www.t-sql.ru

    • Помечено в качестве ответа Philip Portnoy 15 ноября 2012 г. 9:57
    • Снята пометка об ответе Philip Portnoy 15 ноября 2012 г. 10:04
    • Помечено в качестве ответа Philip Portnoy 15 ноября 2012 г. 13:39
    15 ноября 2012 г. 9:01
    Отвечающий
  • В SQL 2008 R2 нет ALTER ROLE, я использую EXEC sp_addrolemember

    Можете подсказать почему при этом создается еще и схема с именем пользователя?

    Пардон, схема создавалась не в этот момент. Разобрался.

    15 ноября 2012 г. 10:04