Главная страница
    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.018 c
15-1149451695
dimodim
2006-06-05 00:08
2006.07.02
Ось на старом компе или как его замучать?


4-1143609029
MiHoY
2006-03-29 09:10
2006.07.02
перехват сообщений TWebBrowser


2-1149901653
Fantasy
2006-06-10 05:07
2006.07.02
help


2-1150269485
hgd
2006-06-14 11:18
2006.07.02
FindWindow


2-1149790180
Ben-T
2006-06-08 22:09
2006.07.02
ComboBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский