[MSSQL] Bulk-aanmaak nieuwe users

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • fonsoy
  • Registratie: Juli 2009
  • Laatst online: 12:08
Mijn vraag
Ik zoek een effectieve, bij voorkeur scripted aanpak, om in bulk gebruikers aan te maken.

Relevante software en hardware die ik gebruik
Zojuist is bij ons een compleet park aan SQL-servers opgeleverd. Het betreffen circa 20 verscheidene SQL-servers met daarop een enkele instance. Regelgeving legt op dat dit allemaal gescheiden is. Op al deze SQL-servers afzonderlijk moet ik circa 20 gebruikers toevoegen met onder andere lees- en schrijfrechten.

Wat ik al gevonden of geprobeerd heb
Ik heb een hekel aan saai klikwerk, wellicht kan dit met automagische handelingen. En dit kan ook. De aanmaak van gebruikers genereer je in 3 tellen met een script. Echter loop ik vast bij het toekennen aan een databaserol. Hier verwacht SQL dat ik van tevoren een database selecteer voor gebruik met USE. En deze functie accepteert geen variabele parameters. Zie hieronder;
SQL:
1
2
3
4
5
6
7
8
9
USE [master]
GO

/****** Object:  Login [DOMEIN\fonsoy]    Script Date: 27.06.2018 11:16:23 ******/
USE DB_NAME(5); /* Deze regel loopt spaak */
CREATE LOGIN [DOMEIN\fonsoy] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
ALTER ROLE [db_datareader] ADD MEMBER [DOMEIN\fonsoy]
ALTER ROLE [db_datawriter] ADD MEMBER [DOMEIN\fonsoy]
GO


Dat kan, omdat alle instances slechts 1 DB bevatten, is het altijd de vijfde database die ik moet hebben. Nu kwam ik bepaalde code tegen die naar mijn mening geen mooie oplossing is.
https://stackoverflow.com...t-work-why-how-to-do-that

Kan iemand me een stukje op pad helpen? Is er bijvoorbeeld een handige T-SQL functie die ik over het hoofd zie?

Lenovo W520 - i7 2720QM - 8GB DDR3 1333Mhz - 1080p - Nvidia 1000M - 9 cell accu

Beste antwoord (via fonsoy op 28-06-2018 11:41)


  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 19-09 16:45

Skinny

DIRECT!

Ik heb momenteel alleen Azure SQL databases beschikbaar dus ik kan het niet voor je testen maar gebaseerd op bijv. https://stackoverflow.com...5901/exec-to-use-database, kun je dan niet de statements in een @variable stoppen en vervolgens in 1 EXEC() call stoppen ?

SIZE does matter.
"You're go at throttle up!"

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 19-09 16:45

Skinny

DIRECT!

Ik heb momenteel alleen Azure SQL databases beschikbaar dus ik kan het niet voor je testen maar gebaseerd op bijv. https://stackoverflow.com...5901/exec-to-use-database, kun je dan niet de statements in een @variable stoppen en vervolgens in 1 EXEC() call stoppen ?

SIZE does matter.
"You're go at throttle up!"


Acties:
  • 0 Henk 'm!

  • maxtz0r
  • Registratie: Februari 2007
  • Laatst online: 17-12-2022
Volgens mij is er geen mooie oplossing en zal je het dus door dynamische sql moeten doen. Stackoverflow voorbeeld lijkt mij dan een prima oplossing, wat Skinny aangeeft is eigenlijk hetzelfde.

Gezien het een eenmalige actie is(?) zou ik dit gewoon doen.

Dying is God's way of telling you, you've been FIRED.


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Kun je niet gewoon een AD-groep autoriseren?

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron