|
Astăzi este prea aglomerat (când am terminat serviciul, am găsit un bug pe un site de examene care nu era un bug, ceea ce mi-a permis doar să găsesc datele dorite, iar acum muncesc din greu să programez... ) Nu prea am prea multe de spus, articolul tehnic de astăzi, pe scurt, este o bucată de cod SQL scrisă ieri Folosit pentru a genera un script CREATE care conține conturile de nivel 2 din baza de date din SQL2012
Scenariul este următorul:
[mw_shl_code=sql,true] USE [master] DU-TE
/* Executivul usp_addcontaindbuser 'dba_TEST51ak' */ Create proc usp_addcontaindbuser( @dbname varchar (50)
) ca setează nocount pe Declarați @password Varchar (50) Declarați @password2 Varchar(50) declară @sqlstr varchar(max)
set @password=lower(left(newid(),8)) set @password2=lower(left(newid(),8)) Set @sqlstr=' --Scrie un număr de cont FOLOSEȘTE ['+@dbname+'] DU-TE CREATE USER ['+@dbname+'_cw] CU PAROLĂ=N'''+@password'''', DEFAULT_SCHEMA=[dbo] DU-TE FOLOSEȘTE ['+@dbname+'] DU-TE ALTER ROL [db_datawriter] ADĂUGĂ MEMBRU ['+@dbname+'_cw] DU-TE FOLOSEȘTE ['+@dbname+'] DU-TE ALTER ROL [db_exec] ADUGĂ MEMBRU ['+@dbname+'_cw] DU-TE --Citește relatarea FOLOSEȘTE ['+@dbname+'] DU-TE CREATE USER ['+@dbname+'_cr] CU PAROLĂ=N'''+@password2'''', DEFAULT_SCHEMA=[dbo] DU-TE FOLOSEȘTE ['+@dbname+'] DU-TE ALTER ROL [db_datareader] ADUGĂ MEMBRU ['+@dbname+'_cr] DU-TE FOLOSEȘTE ['+@dbname+'] DU-TE SCHIMBĂ ROLUL [db_exec] ADAUGĂ MEMBRU ['+@dbname+'_cr] DU-TE
' Tipărit (@sqlstr) Tipărește '--scrie numărul contului uid:'+@dbname+'_cw PWD:'+@password Tipărește '--citit numărul contului uID:'+@dbname+'_cr PWD:'+@password2 du-te[/mw_shl_code]
|