Имя: Пароль:
1C
 
Как из командной строки отключить всех пользователей конкретной базы?
0 TeaM
 
09.08.07
11:34
Подскажите, плиз. Или, может быть это можно сделать из скрипта SQL2000?

(1С 8.0.18, Win2003, SQL2000)
1 TeaM
 
09.08.07
12:07
По сути необходимо организоватьвыгрузку базы по утрам. Но проблема в том, что бухи иногда запускают с вечера восстановление последовательности. Что делать? Конечно есть бэкапы через SQL2000, но хотелось бы также иметь и dt-шки.
2 Salvador Limones
 
09.08.07
12:39
Шедулером выгрузку ставь на 4 утра, например, а перед выгрузкой перегружай приложение сервера 1С.
3 Господин ПЖ
 
09.08.07
12:40
(2) Что-то так жестоко? :) Можно "обойти" базу и "нежно" отключить всех юзеров... Вдруг на сервере база не одна?
4 Господин ПЖ
 
09.08.07
12:43
(+3) А бухам ходить с восттановлениями через определенного юзера... Если такой в базе болтается - ничего не делать - своя попа дороже...
5 Salvador Limones
 
09.08.07
12:43
(3) Не хрен бухам на ночь оставлять базу. Это могу делать только я. :-)
6 IUnknown
 
09.08.07
12:45
7 lmnch
 
09.08.07
12:48
(3) а можно по-подробнее каким образом через шедулер настроить выгрузку из 1с
8 gr13
 
09.08.07
12:52
забыл все команды уже(
есть 2 команды одна их убить процесс, вторая это запретить доступ по сети))
9 TeaM
 
09.08.07
13:03
Пошел по ссылке и нашел там такое (цитирую):

--гоним зверье из базы
--только для скулятины
alter database market
set SINGLE_USER
with ROLLBACK IMMEDIATE
go
alter database market
set MULTI_USER
with NO_WAIT
go


Кто-нибудь объяснит, к чему это реально приведет. Скажем компьютер буха в одиночку подключен в 5 утра (скажем восстановление завершилось), SQL2000 запускает по расписанию данный скрипт - бух отвалится? Я имею в виду что значит SINGLE USER - бух как раз единственный юзер на тот момент..
10 IUnknown
 
09.08.07
13:04
отвалиться
11 Господин ПЖ
 
09.08.07
13:07
(9) пипец... Чо вы всё кувалдой бъете себе же по яйцам...


rem COM соедниение с сервером 1С 8.0
Dim connector
set connector = CreateObject("v8.ComConnector")

rem сервер
Dim server
Set server = connector.ConnectServer("***")
server.AddAuthentication "***", "***"

rem параметры базы
Dim ibDesc
Set ibDesc = server.CreateInfoBaseInfo()
ibDesc.Name = "upp"

rem получение коллекции коннектов к базе
Dim connections
connections = server.GetIBConnections(ibDesc)

rem снятие коннектов
Dim i
Dim connection
For i = lBound(connections) To uBound(connections)

   set connection = connections(i)
   server.Disconnect connection
   
Next
12 TeaM
 
09.08.07
13:11
(11) Извиняюсь за глупый вопрос: это бэйсик?
13 Господин ПЖ
 
09.08.07
13:12
(12) угу. это файл ШлиВсеНахСБазы.vbs
14 TeaM
 
09.08.07
15:05
Удалось запустить этот из под WinXP - с небольшими доработками:

==========================
Dim srv
Dim login
Dim pwd
Dim ibname

srv = "..."
login = "..."
pwd = "..."
ibname = "..."

Dim connector
Set connector = WScript.CreateObject("v8.ComConnector")

Dim server
Set server = connector.ConnectServer(srv)
server.AddAuthentication login, pwd

Dim ibDesc
Set ibDesc = server.CreateInfoBaseInfo()
ibDesc.Name = ibname

connections = server.GetIBConnections(ibDesc)

For i = LBound(connections) To UBound(connections)
   Set connection = connections(i)
   server.Disconnect connection
Next

rem msgbox "db """ & ibname & """ is detached! "
==========================
15 TeaM
 
09.08.07
15:05
Спасибо всем.
Программист всегда исправляет последнюю ошибку.