В некоторых случаях при запуске 1С:Предприятия появляется сообщение об ошибке:"Доступ к базе данных на сервере возможен только из одного каталога информационной базы!". Причиной появления такого сообщения может являться нештатное завершение работы 1С:Предприятия на одном из рабочих мест. Иногда в этом случае не закрывается соединение с БД на SQL Server и при попытке повторного или нового подключения пользователя к информационной базе (при условии, что к БД никто не подключен, т.е. этот пользователь - первый) появляется такое сообщение.
Проблема решается следующим образом:
1. С помощью монитора пользователей убедится, что с информационной базой никто не работает.
2. Запустить Enterprise Manager SQL Server и закрыть "зависшее" соединение (Kill process).
3. Средствами операционной системы убедиться,что файл в каталоге информационной базы "1Cv7.$ui" никем не открыт. Если существуют пользователи открывшие этот файл, то следует выполнить отключение доступа (Disconnect) пользователей от данного файла.
4. Запустить 1С:Предприятие.
После операций типа пересчет ссылок, итогов и т. п., при которых происходит массированное изменение содержимого базы данных не очищается полностью журнал транзакций (transaction log) на MS SQL Server 6.5. В случае использования MS SQL Server 7.0 данная проблема отсутствует.
Для того, чтобы журнал очистился надо перед выполнением команды резервного копирования журнала транзакций DUMP TRANSACTION выполнить команду:
DBCC CHECKTABLE(SYSLOGS)
После этого журнал будет очищен при выполнении DUMP TRANSACTION.
Если система 1С:Предприятие для SQL используется совместно с MS SQL Server 7.0, то при работе 1С:Предприятия в монопольном режиме может наблюдаться следующий эффект: При попытке доступа со стороны какой-либо программы к базе данных в среде MS SQL Server 7.0, с которой уже работает 1С:Предприятие, 1С:Предприятие может аварийно завершаться с сообщением об ошибке:
SQL State: 42000
Native: 924
Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Database 'DB' is
already open and can only have one user at a time
или
SQL State: 42000
Message: [Microsoft][ODBC SQL Server Driver][SQL Server]SELECT permission
denied on column ...
Причина этого обусловлена особенностями поведения SQL Server 7.0.
Если какое-либо приложение установило соединение и выполняет запрос к базе данных, размещенной в среде MS SQL Server 7.0 и находящейся в режиме "single user", то попытка из другого приложения обратиться к этой же базе данных, приводит к тому, что запрос к базе данных, выполняемый первым приложением завершается ошибкой. Поэтому, не рекомендуется совмещать во времени регламентные процедуры MS SQL Server 7.0 (например выполнение backup, проверку целостности и т. п.) и работу 1С:Предприятия в монопольном режиме (пересчет итогов, перепроведение документов и т.п.).
MS SQL Server 6.5 не имеет данной особенности.