|
Сегодня слишком много времени (когда я закончил работу, я нашёл баг на экзаменационном сайте, который не был багом, который просто позволил мне найти нужные данные, и теперь я усердно работаю над кодом... ) Особо нечего сказать, сегодняшняя техническая статья, если говорить просто, — это кусок SQL-кода, написанный вчера Используется для генерации скрипта CREATE, содержащего учетные записи уровня 2 в базе данных в SQL2012
Текст выглядит следующим образом:
[mw_shl_code=sql, true] USE [мастер] ВПЕРЁД
/* Исполнительный usp_addcontaindbuser 'dba_TEST51ak' */ Create proc usp_addcontaindbuser( @dbname Варшар (50)
) как Поставьте nocount на Объявить @password Варчар (50) Объявить @password2 Варчар(50) Объявить @sqlstr Варшар(макс)
set @password=lower(left(newid(),8)) set @password2=lower(left(newid(),8)) Набор @sqlstr=' --Напишите номер счета ИСПОЛЬЗУЙТЕ ['+@dbname+'] ВПЕРЁД СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ ['+@dbname+'_cw] С PASSWORD=N'''+@password+''', DEFAULT_SCHEMA=[dbo] ВПЕРЁД ИСПОЛЬЗУЙТЕ ['+@dbname+'] ВПЕРЁД ALTER ROLE [db_datawriter] ДОБАВИТЬ УЧАСТНИКА ['+@dbname+'_cw] ВПЕРЁД ИСПОЛЬЗУЙТЕ ['+@dbname+'] ВПЕРЁД ALTER ROLE [db_exec] ДОБАВИТЬ УЧАСТНИКА ['+@dbname+'_cw] ВПЕРЁД --Прочитайте рассказ ИСПОЛЬЗУЙТЕ ['+@dbname+'] ВПЕРЁД СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ ['+@dbname+'_cr] С ПАРОЛЕМ=N'''+@password2+''', DEFAULT_SCHEMA=[dbo] ВПЕРЁД ИСПОЛЬЗУЙТЕ ['+@dbname+'] ВПЕРЁД ALTER ROLE [db_datareader] ДОБАВИТЬ УЧАСТНИКА ['+@dbname+'_cr] ВПЕРЁД ИСПОЛЬЗУЙТЕ ['+@dbname+'] ВПЕРЁД ИЗМЕНИТЬ РОЛЬ [db_exec] ДОБАВИТЬ УЧАСТНИКА ['+@dbname+'_cr] ВПЕРЁД
' печать (@sqlstr) Печать '--Записать номер аккаунта UID:'+@dbname+'_cw PWD:'+@password Печать '--Прочитать номер аккаунта UID:'+@dbname+'_cr PWD:'+@password2 Вперёд[/mw_shl_code]
|