![]() |
![]() |
![]() |
|
Как скинуть пользователя с 1С-сервера? | ☑ | ||
---|---|---|---|---|
0
nik_k
21.09.04
✎
00:07
|
При аварийном выходе из 1С 8.0 на сервере 1С остается висеть соединение с захватом объектов, которые были открыты на момент вылета. При повторном подключении юзера он не может открыть документы, которые только что редактировал! Требутся вмешательство администратора, чтобы через утилиту Серверы 1С отсоединить пользователя. 1С говорит, что через 6-8минут зависшие соединения удаляются автоматически. Однако у нас висят по нескольку часов. Ерунда получается. Надо выделять человека, который будет скидывать зависших пользователей. В системе работает около 20 пользователей в реальном режиме времени и ждать никто не намерен. Какой может быть выход? Проблема стоит очень остро, вплоть до сворачивания проекта!
|
|||
1
Волшебник
21.09.04
✎
00:07
|
Почему происходит аварийный выход 8.0? В чем причина? Может лечить надо здесь?
|
|||
2
nik_k
21.09.04
✎
00:21
|
Трудно сказать. Явной причины не обнаруживается. Возможно сказывается недостаток опыта программирования в 8.0. С сетью были проблемы, вызывали спецов - все летает. Интересно, что иногда при отключении одного пользователя на сервере 1с - слетают все! На сервере крутится 2 базы. Иногда при возникновении ошибки на одной базе (отладочной) - ложится сервер, автоматом - оключаются все пользователи в рабочей базе.
|
|||
3
nik_k
21.09.04
✎
00:25
|
Оптимизируем модули проведения документов по времени выполнения. Стараемся исключить взаимные блокировки иногда возникающие при создании, записи и проведении одних документов из других!
|
|||
4
Волшебник
21.09.04
✎
00:42
|
Какой релиз платформы? Какая конфигурация? Если типовая, сколько было доработок? Какая конфигурация сервера, сети и рабочих станций?
|
|||
5
Волшебник
21.09.04
✎
00:51
|
Что показывает журнал регистрации 1С и лог SQL Server? Есть какие-то ошибки? Может SQL сваливается в deadlock или табличные блокировки?
Что показывает замер производительности? На что уходит больше всего времени? Какие действия в основном делают пользователи? |
|||
6
Волшебник
21.09.04
✎
00:58
|
Восьмерка может вылетать, если теряет связь с ключом защиты или сервером лицензий. Какие ключи стоят - локальные или многопользовательский? Может периодически отваливается сеть?
|
|||
7
Волшебник
21.09.04
✎
12:46
|
Будут ответы хотя бы на один вопрос? Или проблема уже не актуальна?
|
|||
8
Морская свинка
21.09.04
✎
16:36
|
SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS ON
GO /****** Object: Stored Procedure dbo._sp_FreeDB Script Date: 25.12.00 17:42:14 ******/ if exists (select * from sysobjects where id = object_id(N'[dbo].[_sp_FreeDB]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[_sp_FreeDB] GO CREATE PROCEDURE _sp_FreeDB @Name sysname=NULL, @Dir1C varchar(128)=NULL AS if (@Name is NULL) print('_sp_FreeDB @Name sysname, @Dir1C varchar(128)=NULL') declare @spid int, @host varchar(20), @user varchar(20), @app varchar(20), @cmd varchar(128), @strdata varchar(100) declare Cur_Proc cursor local fast_forward for Select SPID,HOSTNAME,LOGINAME,PROGRAM_NAME from master.dbo.sysprocesses where upper(db_name(dbid))=upper(@Name) open Cur_Proc fetch from Cur_Proc into @spid,@host,@user,@app while @@FETCH_STATUS=0 begin Select @cmd='kill '+rtrim(convert(varchar(5),@spid)) Select @strdata='kill '+ltrim(str(@spid))+' '+rtrim(@host)+' '+rtrim(@user)+' '+rtrim(@app) print @strdata execute (@cmd) fetch from Cur_Proc into @spid ,@host,@user,@app end close Cur_Proc deallocate Cur_Proc if (@Dir1C is not NULL) begin exec master.dbo.xp_cmdshell 'net session /delete /y' Select @cmd='del '+@Dir1C+'\*.lck' exec master.dbo.xp_cmdshell @cmd Select @cmd='del '+@Dir1C+'\*.$lk' exec master.dbo.xp_cmdshell @cmd Select @cmd='del '+@Dir1C+'\*.$ui' exec master.dbo.xp_cmdshell @cmd end return GO SET QUOTED_IDENTIFIER OFF SET ANSI_NULLS ON GO |
|||
9
nik_k
23.09.04
✎
01:50
|
Извиняюсь за молчание. Все время у клиента. Доступ в Интернет только с домашнего компьютера.
1С версия 8.0.7.36, ключ многопользовательский на 50 мест, конфигурация разрабатывалась практически с нуля. Сервера 1С и SQL разнесены на разные компьютеры. По ошибкам статистику не вели, но были разные, в основном связанные с блокировками. Попутно возник вопрос: можно ли выполнить замер производительности на сервере, когда работает много пользователей или производительность может измеряться только для той конфигурации, в которой запущена? Пользователи активно создают "заявки клиентов", затем их группируют в документы "загрузочные ведомости" по машинам и формируют "накладные". Причем хотят видеть есть по заявке ТТН или нет, проведена она или нет и т.п. Плюс к этому добавили регистр сведений в который пишем какие действия с документами выполняет пользователь (запись, проведение, создание и т.д.). Часто при записи регистра возникали ошибки. Может что-то не так в функции? Функция глЗафиксироватьАвтораИзменения(прСсылка,прДействие) Экспорт //блокируем записи регистра лкПериод = ТекущаяДата(); Запрос = Новый Запрос("ВЫБРАТЬ | ИзмененияДокументовСрезПоследних.Документ |ИЗ | РегистрСведений.ИзмененияДокументов.СрезПоследних(&Период, Документ = &Документ) КАК ИзмененияДокументовСрезПоследних |ДЛЯ ИЗМЕНЕНИЯ | РегистрСведений.ИзмененияДокументов.СрезПоследних"); Запрос.УстановитьПараметр("Период", лкПериод); Запрос.УстановитьПараметр("Документ",прСсылка); Результат = Запрос.Выполнить(); Попытка МенеджерЗаписи = РегистрыСведений.ИзмененияДокументов.СоздатьМенеджерЗаписи(); МенеджерЗаписи.Период = лкПериод; МенеджерЗаписи.Документ = прСсылка; МенеджерЗаписи.Действие = прДействие; МенеджерЗаписи.Автор = глПользователь; МенеджерЗаписи.Записать(); Исключение Сообщить("Не удалось записать автора документа: " + ОписаниеОшибки(), СтатусСообщения.Важное); Возврат(Ложь); КонецПопытки; Возврат(Истина); КонецФункции // глЗафиксироватьАвтораИзменения(прОбъект) |
|||
10
nik_k
23.09.04
✎
01:58
|
Спасибо Морская свинка! Только непонятно, где запускать эту процедуру.
|
|||
11
F427
23.09.04
✎
06:39
|
(10) мда...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |