Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];

Вниз

Программное создание пользователя в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1149773314
AlexanderMS
2006-06-08 17:28
2006.07.02
ActionToolBar: стрелочка справа...


2-1150399200
Zloi-avgust
2006-06-15 23:20
2006.07.02
скачать файл по HTTP зная PI (при условии что нет домена)


3-1146815925
Nike
2006-05-05 11:58
2006.07.02
Как установить значения поля по умолчанию в добавляемой записи


3-1146898813
arhis
2006-05-06 11:00
2006.07.02
Удаление записей в АДО


1-1148540258
.ruslan
2006-05-25 10:57
2006.07.02
...узнать сколько времени прошло (осталось) между датами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский