Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.08;
Скачать: CL | DM;

Вниз

Восстановление 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-23194
RavenD
2003-04-24 14:37
2003.05.08
Как создать Релиз?


1-23082
Unknown user
2003-04-23 19:18
2003.05.08
Как скопировать все компоненты с одной формы на другую?


7-23411
Maxim2030
2003-03-17 10:08
2003.05.08
Dll не загружается


1-23221
Maza
2003-04-25 13:05
2003.05.08
pagecontrol и webbrowser


14-23302
kserg
2003-04-22 16:54
2003.05.08
Компонет для построения дерева вхождения