(SQL2005) Database '' is already open and can only have one
От: Аноним  
Дата: 30.06.09 08:34
Оценка:
Столкнулись со странной ошибкой при переходе с SQL2000 на SQL2005

Есть приложение, написанное еще на VB6.0, которое читает SQL скрипты из файлов и запускает их на указанной базе.
Алгоритм работы примерно такой:
— Подключаемся к базе
— Переводим базу в single user
— Делаем бакап
— Последовательно выполняем скрипты
— В случае ошибки, восстанавливаем базу с бакапа
— Переводим базу в multi user
— Отключаемся

База, в момент выполнения скриптов, всегда находится в single user.
Соединение остается отрытым до окончания работы.
Все прекрасно работает на SQL2000. Но, на 2005-ом, у одного из пользователей в совершенно произвольных местах
скрипта возникает ошибка: Database '' is already open and can only have one user at a time.
Скрипты простые — create function, create procedure и т.п. Они работают у десятков других пользователей (на SQL2000).

Вопрос: что может влезти в базу, если она уже в single user и помешать моему открытому соединению работать дальше?
Может быть это какие-то глюки старого ADO (программа написана на VB6)?
Может кто сталкивался с подобным?

Буду благодарен за любую информацию.
sql2000 sql2005
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.