Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];

Вниз

RESTORE DATABASE   Найти похожие ветки 

 
MakNik   (2003-09-18 14:46) [0]

Поскажите, пожалуйста, как корректно восстановить базу?
Мой код не работает. Как это корректно делать, когда работают другие пользователи? Возможно ли их програмно снять или заблокировать???
if OpenDialog1.Execute then
begin
if not FileExists(OpenDialog1.FileName) then Exit;
DMForm.ADOConnection.Connected:=false;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add("Use dbTRANSFORMER EXEC sp_addumpdevice ""disk"", ""mydiskdump1"", ""c:\TRANSFORMERDB3.bak"" ");
ADOQuery.SQL.Add("RESTORE DATABASE dbTRANSFORMER FROM mydiskdump1");
ADOQuery.SQL.Add("EXEC sp_dropdevice mydiskdump1");

try
ADOQuery.ExecSQL;
except
MessageDlg("Ошибка!", mtError ,[mbOk], 0);
end;
ReloadTree;
End;


 
Nikolay M.   (2003-09-18 14:57) [1]


> Как это корректно делать, когда работают другие пользователи?

AFAIK, никак. Сначала - отсоединить всех пользователей.


 
MakNik   (2003-09-18 15:18) [2]

Но даже когда все отключены, этот код не работает (хотя в SQL Query Analyzer этот же код работает). В чем ошибка???


 
Nikolay M.   (2003-09-18 15:35) [3]

Попробуй оформить это:
ADOQuery.SQL.Add("Use dbTRANSFORMER EXEC sp_addumpdevice ""disk"", ""mydiskdump1"", ""c:\TRANSFORMERDB3.bak"" ");
ADOQuery.SQL.Add("RESTORE DATABASE dbTRANSFORMER FROM mydiskdump1");
ADOQuery.SQL.Add("EXEC sp_dropdevice mydiskdump1");

в виде хранимой процедуры и вызывай ее. А то когда ты все это в один-единственный запрос пхаешь как-то страшновато становится...


 
Reindeer Moss Eater   (2003-09-18 16:10) [4]

Создай на сервере JOB, делающий то что надо.
Выброси всю байду написанную выше.
Вызывай системную sp для запуска этого джоба.


 
MakNik   (2003-09-18 16:45) [5]

JOB не подойдет... что-то другое нужно...


 
Reindeer Moss Eater   (2003-09-18 16:52) [6]

JOB подойдет и что-то другое не нужно.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
3-27303
mfender
2003-09-20 22:49
2003.10.09
Откуда AccessViolation?


14-27646
Настенька
2003-09-22 07:15
2003.10.09
файл с расширением *.dat


3-27395
diokant
2003-09-18 15:05
2003.10.09
Как в MS SQL в триггере получить имя этой таблицы.


14-27635
саша2
2003-09-23 07:45
2003.10.09
а бирск?


3-27322
lamer1
2003-09-21 16:03
2003.10.09
DCOM





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский