Обновление 1С в режиме Предприятие завершается с ошибкой блокировки базы

SQL запрос удаления соединений базы. Нужно заполнить переменную @dbname. Чаще всего блокируют базу процессы в статусе sleeping их отбор закоментирован в коде: –and status=’sleeping’

set nocount on
declare @dbname varchar(100)
declare @query varchar(max)
set @query = ''
set @dbname = 'erp'

select 'Процессы до удаления:'
select db_name(dbid) as db, spid as idproc, loginame, program_name, status from sys.sysprocesses where db_name(dbid) = @dbname

select @query=coalesce(@query,',' )+'kill '+convert(varchar, spid)+ '; '
from sys.sysprocesses where dbid=db_id(@dbname) --and status='sleeping'

if len(@query) > 0
begin
 print 'Будут удалены: '+@query
 exec(@query)

 select 'Процессы после удаления:'
 select db_name(dbid) as db, spid as idproc, loginame, program_name, status from sys.sysprocesses where db_name(dbid) = @dbname
end

+ Нет комментариев

Добавить свой