Предоставление временных прав с помощью SQL Server Agent Jobs
???????? ???????????????? ???????? – ???????????? ?????? ????? ???????? ????????? ?????? ??? ??????; ? «?????????? ?????» ?? ?? ????? ???? ????????????? ??? ?????? ???????????????, ?? ? ?????? ??????, ????????, ??? ??????? (??????? ????? ??????????????? ?????), ? ???????, ????? ????? ??? ?????, ??? ? ??????…
??? ?????? ? ????? ???????? ?????????????? ??, ????????, ?? ????????????? ??????? ???????????? ????? ?? ???????? ?????? ? ?????????? ???? ?? ???????: «???????? ????? ???? ????????????? ??????? ?????». ?????? ??? ?????? – ??????? ????????, ???? ?? ???? ???????? ? ???????, ??????? ??? ?? ??????????.
???? ?????? ???? ???????????? ????????? ?????, ??????? ????????????? ????? ???????? ? ???????????? ?????.
????????, ? ??? ???? ???????????? Bob ? ????????? p_test, ??????? ??? ?????? ????? ?????????. ????????????? SQL Server Agent Jobs. ?? ????? ???????????? ????? ?? ?????????? ???? ????????? (GRANT EXECUTE ON p_test TO Bob) ? ???????? Job, ??????? ????? ??????????? ???? ??? ? ??????????? ?????, ? ????? ???????? ????? ???????????? ?? ??????????.
??????? Job ????? ????? UI SQL Server Management Studio (SQL Server Agent -> Jobs -> New Job…) ??? ??????????. ????????, ????????? ?????? ??????? Job ??? ?????? ????? ???????????? Bob ????????? ????????? p_test ? ????????????? ?? ?????????? (??????? Schedule) ???? ??? 10.06.2009 ? 23:59:59
DECLARE @jobId BINARY(16)
EXEC msdb.dbo.sp_add_job @job_name=N'RevokeTempPerm',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'To revoke temporary permissions',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
EXEC msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'RevokeTempPerm',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'REVOKE EXECUTE ON p_test TO Bob',
@database_name=N'db_source',
@flags=0
EXEC msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'RevokeTempPerm',
@enabled=1,
@freq_type=1,
@freq_interval=0,
@freq_subday_type=0,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20090610,
@active_end_date=99991231,
@active_start_time=0,
@active_end_time=235959,
@schedule_uid=N'0882904e-9eaa-46ee-b8f2-ccfb56b88492'
EXEC msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
GO
?????????? ????? ????????? Job ????????????? ??????????????? ???????????? ????? ????????????? ? ???????????? ?????.
???????? ???????? ?????? ?????? ???????? ??, ??? ?? ???????? ????? Job's ????? ?????????????. ??????????????, ????? ????? ??????? ????????? ????????????? ????? ?? ??????? ? ????????? ???????????? Job, ???? ???????????????? ?? ????? ?????? ?? ?????????? (Schedule).
Comments
- Anonymous
January 01, 2003
PingBack from http://microsoft-sharepoint.simplynetdev.com/link-to-lyudmila%e2%80%99s-blog/