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

Вниз

Восстановление MSSQL базы.   Найти похожие ветки 

 
lia   (2003-04-18 13:02) [0]

Привет всем.
Научите, пожалуйста, каким образом организовать востановление базы данных MSSQL из Delphi?


 
NAlexey   (2003-04-18 13:28) [1]


BACKUP
Backs up an entire database, transaction log, or one or more files or filegroups. For more information about database backup and restore operations, see Backing Up and Restoring Databases.

Syntax
Backing up an entire database:

BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { "text" | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { "text" | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]


 
lia   (2003-04-18 13:50) [2]

Это BACKUP :) Он то как раз нормально делается... А вот с ресторингом у меня возникли проблемы...
1. Процедуру (RESTORE DATABASE...) при активной DATABASE как известно выполнить нельзя, можно конечно эту процедуру запихать в другую DATABASE, но... Не красиво :)
2. Сделать DATABASE не активной у MSSQL у меня не получается. Разве что перезагрузить всю MSSQL. Опять таки не красиво...
Какие будут идеи?


 
Mike_Goblin   (2003-04-18 13:58) [3]

>Научите, пожалуйста, каким образом организовать востановление >базы данных MSSQL из Delphi?

Так как ты подключен к базе из Delphi во время restore, то это получается таскание себя за волосы из болота. Лавры Мюнхаузена манят нас к себе.

>Какие будут идеи?
делать restore из SQLServer Console


 
lia   (2003-04-18 14:19) [4]

>Так как ты подключен к базе из Delphi во время restore, то это >получается таскание себя за волосы из болота. Лавры Мюнхаузена >манят нас к себе.
А кто мешает отключиться от базы которую надо востановить во время операции востановления? Процедуру востановления можно ведь запихать в любую базу, или запустить в виде скрипта.

Основная проблема в том, что MSSQL сервер как-то не понятно реагирует на выход из своих баз. Попробуйте войти в базу, к примеру из Enterprise Manager, а потом эту базу ресторить. Даже если закрыть Enterprise Manager, всё равно остаётся что-то, что блокирует базу для эксклюзивного доступа, который необходим для ресторинга... Может быть кто-нибудь знает способ попроще (поделитесь пожалуйста), но у меня "освободить" базу получается только путём перезагрузки MSSQL сервера.

>делать restore из SQLServer Console
Это не всегда выход... В данном случае это вообще не приемлимо (заставлять юсера запускать SQLServer Console :))))


 
NAlexey   (2003-04-18 14:57) [5]


SELECT
nt_domain,
hostname,
spid,
blocked,
"program_name" = CAST(program_name AS char(255)),
cmd,
loginame
FROM
master.dbo.sysprocesses
JOIN
master.dbo.sysdatabases
ON
master.dbo.sysdatabases.dbid = master.dbo.sysprocesses.dbid
AND spid >5
AND master.dbo.sysdatabases.Name = :DBName

узнаешь кто занимает базу
sp_dboption "DBName", "single", "TRUE"
переведешь базу в режим одиночного использования.
Да, и вот еще, если ты работаешь к примеру в среде Delphi и у тебя какие нибудь ADOConnection := true; или еще что, то это тоже соединение отдельное, и когда ты запускаешь F9 своё приложение то это уже другое соединение... я так думаю.
И вот еще что в документации про sp_dboption:
1):

Remarks
During the restore, the specified database must not be in use. Any data in the specified database is replaced by the restored data

2):

When using the RESTORE DATABASE statement, the restorable database options (which are all the settable options of ALTER DATABASE except offline and the merge publish, published, and subscribed replication options) are reset to the settings in force at the time the BACKUP operation ended.



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

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

Наверх





Память: 0.46 MB
Время: 0.008 c
9-22900
Bones
2002-12-02 15:44
2003.05.08
Помогите найти кротчайший маршрут


14-23381
Лана Розанова
2003-03-26 14:39
2003.05.08
СТД


3-22996
lustr
2003-04-17 16:37
2003.05.08
ошибка при конекте через TDataBase


14-23341
Вус Вова
2003-04-20 15:12
2003.05.08
как мою прогу засунуть в авто загрузку из под безопасного режима?


14-23398
Supreme 2
2003-04-21 19:31
2003.05.08
Как убрать





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский