Quindi richiamare un dato con :
SELECT * FROM
i comandi da eseguire sono i seguenti ( ho messo i comandi perché quando si creano 50 utenti si fa prima tramite i comandi che tramite l'SqlManagement) :
USE [master]
GO
-- Creazione utente per il login a livella di istanza
CREATE LOGIN ['<login>'] WITH PASSWORD=N'<password>', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
-- Da qui tutti i comandi sono specifici per il database
USE ['<Database>']
GO
-- Creazione utente del DB collegato all'utente di login
CREATE USER ['<user>'] FOR LOGIN ['<login>'] WITH DEFAULT_SCHEMA=['<schema>']
GO
-- Creazione Schema
CREATE SCHEMA ['<schema>'] AUTHORIZATION ['<user>']
GO
-- Aggiunta del ruolo db_ddladmin all'utente altrimenti non può creare e gestire le tabelle
EXEC sp_addrolemember N'db_ddladmin', N'<user>'
GO
Nel mio esempio reale '<login>','<password>','<user>' e '<schema>'
Con questa struttura ho un solo database con tanti schema all'interno.
Con questo procedimento, per quanto riguarda Sigla, ho la stringa di connessione fatta così :
DSN=DB1;UID=DITTA1;PWD=DITTA1;
DSN=DB1;UID=DITTA2;PWD=DITTA2;
ecc.
A livello di supporto una volta collegato al database DB1 posso lavorare con le tabelle usando :
SELECT * FROM DITTA1.DPCONFIG
Significa leggere la tabella DPCONFIG dello schema DITTA1 del database DB1
Aggiunta :
a seguito di un RESTORE DATABASE, dopo il CREATE LOGIN è sufficiente fare :
ALTER USER <user> WITH LOGIN=[<login>], DEFAULT_SCHEMA=[<schema>]
per riassociare l'utente del db all'utente dell'istanza
Nessun commento:
Posta un commento