Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.02;
Скачать: CL | DM;

Вниз

Программное создание пользователя в MSSQL   Найти похожие ветки 

 
Megabyte ©   (2006-06-08 15:04) [0]

Подскажите плз синтаксис, если это возможно. Ну и задание прав(grand ...). Знаю, как в Firebird"е. В MSSQL в справке не нашел, метод научного тыка тоже не помог, и на форуме по ключевым словам не нашел. :/


 
Ega23 ©   (2006-06-08 15:26) [1]

Вот, старый скриптик, который базу с нуля создавал.
Посмотри...

use msdb
go
sp_dropuser "milk"
go

--.. DROP EXISTED SECURITY
USE MILK
execute sp_dropuser "milk"
go
USE MASTER
go

--.. DROP DB
use master
drop database Milk
go
execute sp_droplogin "milk"
go

--.. CREATE DB
CREATE DATABASE Milk
ON ( NAME = Milk_dat,
    FILENAME = "E:\MILKDB\Milk.mdf" --was G
  )
LOG ON ( NAME = "Milk_log",
        FILENAME = "E:\MILKDB\Milk_log.ldf"
      )
GO

--==SECURITY
--.. CREATE NEW
USE MASTER
go
execute sp_droplogin "milk"
go
sp_addlogin @loginame = "milk", @passwd =null, @defdb ="Milk"
go
sp_addsrvrolemember @loginame = "milk", @rolename ="sysadmin"--sysadmin securityadmin serveradmin setupadmin processadmin diskadmin dbcreator
go
--...
USE MILK
go
sp_grantdbaccess @loginame = "milk" -- и сразу в базе появился USER
go
USE MSDB
go
sp_grantdbaccess @loginame = "milk" -- и сразу в базе появился USER
go



 
Megabyte ©   (2006-06-08 16:41) [2]

Спасибо. %)
Нашел, что нужно. Пользователя создаю.
Даже методом научного тыка познал, как создать роль. %)
Теперь еще раздачей прав разобраться...
Мне надо одной роли дать права и потом раздавать права на роль пользователям.
Т.е. как: 1) дать права роли, 2) дать юзерам права на роль?

Мб. где есть список данных процедур: в инете, в Enterprise Manager"е?


 
Ega23 ©   (2006-06-08 16:45) [3]

if exists (select 1 from  sysobjects  where  name = "ParamsGlb" and   type = "U") GRANT  SELECT  ON [dbo].[ParamsGlb]  TO "Имя_Логина"

Поможет?


 
Megabyte ©   (2006-06-08 17:06) [4]

Если "ParamsGlb" - имя таблицы, то вот мой код:

> if exists (select 1 from  sysobjects  where  name = "Account"
> and   type = "U")
> GRANT  SELECT  ON [dbo].[Account] TO "milk";

Пользователя milk создал. ругается на:
"Server: Msg 170, Level 15, State 1, Line 2
Line 2: Incorrect syntax near "milk"." Синкастис не такой.

з.ы. Неужели нигде нет списка этих процедур...


 
Ega23 ©   (2006-06-08 17:27) [5]


> Megabyte ©   (08.06.06 17:06) [4]


Возможно, это в контексте master надо делать...
Вообще почитай в BOL про GRANT


 
MOA ©   (2006-06-08 17:31) [6]

>Неужели нигде нет списка этих процедур...
В BOL абсолютно полный вариант. Теперь есть русский вариант (внимание - для MSSQL 2005! и немного корявый) - http://www.sql.ru/forum/actualthread.aspx?tid=291358#2646988


 
Megabyte ©   (2006-06-08 18:07) [7]

Разобрался и с правами на таблицу, и с правами на роль. В T-SQL, права на роль не даются через Grant, а добавляется "член", имеющий права на роль, с помощью sp_addrolemember.


 
Megabyte ©   (2006-06-08 18:08) [8]


> Ega23,

Спасибо ;)


 
Megabyte ©   (2006-06-09 13:14) [9]

Что-то я туплю, но не могу понять, что не так в синтакстисе. Использую ADOCommand. Оформляю выполнение ХП, как запрос. Пробовал по-разному:
1)sp_addlogin @loginame = "myuser", @passwd =null, @defdb = "Enterprise";
go
sp_grantdbaccess @loginame = "myuser";
go

Пишет: Incorrect syntax near "go"
2) sp_addlogin @loginame = "myuser", @passwd =null, @defdb = "Enterprise";
sp_grantdbaccess @loginame = "myuser";

Пишет: Incorrect syntax near "sp_grantdbaccess"
3) sp_addlogin @loginame = "myuser", @passwd =null, @defdb = "Enterprise"
go
sp_grantdbaccess @loginame = "myuser"

Пишет: Incorrect syntax near "go"
4)sp_addlogin @loginame = "myuser", @passwd =null, @defdb = "Enterprise"
union
sp_grantdbaccess @loginame = "myuser"


1.Как выполнить подобные 2 ХП в одном запросе,если это возможно?


 
Ega23 ©   (2006-06-09 15:35) [10]

exec sp_addlogin @loginame = "myuser", @passwd =null, @defdb = "Enterprise";
exec sp_grantdbaccess @loginame = "myuser";


А GO - убери. Это у меня из спец.скрипта было, который через isql загонялся в БД


 
Megabyte ©   (2006-06-10 16:52) [11]

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2006.07.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.053 c
1-1146810650
Glum
2006-05-05 10:30
2006.07.02
Индексация *.doc файлов


3-1146422646
Yaros-hoi
2006-04-30 22:44
2006.07.02
Относительные и абсолютные пути


2-1150023154
Firefly
2006-06-11 14:52
2006.07.02
ASP.Net


5-1134898951
Vaitek_
2005-12-18 12:42
2006.07.02
Хранение ресурса "внутри" компонента.


2-1149829599
Dimich1978
2006-06-09 09:06
2006.07.02
addobject выдает несовместимость типов