Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 log shipping  [new]
log_shipping
Guest
Такая ситуация. Базе, на которую настроен log shipping, необходимо расшириться, а места на диске нет. Как в таком случае быть?
База находится в single_user в состоянии recovery.
5 сен 13, 14:33    [14800029]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
Glory
Member

Откуда:
Сообщений: 104751
log_shipping
Базе, на которую настроен log shipping, необходимо расшириться, а места на диске нет. Как в таком случае быть?

Купить новый диск ?
5 сен 13, 14:36    [14800052]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
log_shipping
Guest
Glory, место есть на другом диске. Что делать с базой, которая висит в restoring?


SELECT user_access_desc, d.state_desc FROM sys.databases d
WHERE d.[name] = 'XXX'

SINGLE_USER	RESTORING
5 сен 13, 14:44    [14800112]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
Glory
Member

Откуда:
Сообщений: 104751
log_shipping
Glory, место есть на другом диске. Что делать с базой, которая висит в restoring?

Вы спрашиваете, как переместить файлы базы на другой диск ?
5 сен 13, 14:49    [14800161]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
log_shipping
Guest
Неужели нельзя обойтись без пересоздание secondary database?
5 сен 13, 14:49    [14800164]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
log_shipping
Guest
Glory
log_shipping
Glory, место есть на другом диске. Что делать с базой, которая висит в restoring?

Вы спрашиваете, как переместить файлы базы на другой диск ?


База недоступна для операций. Я могу расширить имеющийся диск или перенести файлы на диск большего размера, это не проблема. Однако база в состоянии restoring и single_user. Я не могу провести на такой базе никакие операции.
5 сен 13, 14:53    [14800195]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
log_shipping
Неужели нельзя обойтись без пересоздание secondary database?


Нельзя.
5 сен 13, 15:00    [14800245]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
log_shipping
Guest
pkarklin
log_shipping
Неужели нельзя обойтись без пересоздание secondary database?


Нельзя.


Вы серьезно?

Похожая ситуация http://www.sqlservercentral.com/Forums/Topic1159685-146-1.aspx#bm1160846
Также советуют пересоздать базу.

Я дропаю базу, расширяю диск и пересоздаю log shipping.
5 сен 13, 15:09    [14800283]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
log_shipping
Вы серьезно?


Более чем, ибо с ней ничего, кроме как продолжать накатывать логи, восстановить до состояния OnLine или дропнуть, больше сделать ничего нельзя.
5 сен 13, 15:11    [14800289]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
log_shipping
Guest
pkarklin
log_shipping
Вы серьезно?


Более чем, ибо с ней ничего, кроме как продолжать накатывать логи, восстановить до состояния OnLine или дропнуть, больше сделать ничего нельзя.


Спасибо!
5 сен 13, 15:27    [14800409]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
log_shipping
Guest
Только сейчас подумал.

Если бы остановить сервис MSSQL, расширить диск и поднять MSSQL, может это помогло бы не удалять базу?
12 сен 13, 10:07    [14829487]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
log_shipping,

А зачем, чтобы расширить диск, останавливать сервис?
12 сен 13, 10:49    [14829801]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
log_shipping
Guest
pkarklin, в данном случае не было возможности расширить диск онлайн.
12 сен 13, 11:50    [14830323]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
edyaN
Member

Откуда: Berlin
Сообщений: 185
Мы так делали:
1. деактивировали logshipping jobs на secondary
2. перевели базу в режим standby
3. потом перевели базу в offline
4. поменяли пути к файлам
5. скопировали файлы. Если sql server работает не от local system, то надо дать полный доступ к скопированным файлам соответствущей учетной записи и группе (посмотрите, какие права стоят сейчас)
6. перевели базу в online и norecovery.
7. активировали logshipping jobs на secondary

все заработало.
12 сен 13, 14:48    [14831650]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
edyaN
6. перевели базу в ... norecovery.


Какой инструкцией?
12 сен 13, 15:27    [14831878]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
edyaN
Member

Откуда: Berlin
Сообщений: 185
pkarklin,

RESTORE DATABASE myDB WITH NORECOVERY
12 сен 13, 18:45    [14833068]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
edyaN,

автор
6. перевели базу в online и norecovery.

RESTORE DATABASE myDB WITH NORECOVERY


USE master
GO

SELECT state_desc FROM sys.databases WHERE name = 'Data'
GO

RESTORE DATABASE Data WITH NORECOVERY
GO


state_desc
ONLINE

(1 row(s) affected)

Msg 3153, Level 16, State 1, Line 2
The database is already fully recovered.
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.
12 сен 13, 19:39    [14833235]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
edyaN
Member

Откуда: Berlin
Сообщений: 185
pkarklin,

изначально база должна находиться в состоянии restoring, то есть logshipping работает без ошибок. что и было у ТС

2. перевели базу в режим standby
RESTORE DATABASE myDB WITH STANDBY = 'D:\Log\myDB.rollback';


3. потом перевели базу в offline
ALTER DATABASE myDB SET OFFLINE;


4. поменяли пути к файлам
ALTER DATABASE myDB MODIFY FILE 
( NAME = myDB_Data , FILENAME = 'G:\Data\myDB.mdf' );



5. скопировали файлы. Если sql server работает не от local system, то надо дать полный доступ к скопированным файлам соответствущей учетной записи и группе (посмотрите, какие права стоят сейчас)
copy C:\Mountpoints\Data\myDB.mdf G:\Data\myDB.mdf


6. перевели базу в online и norecovery.
ALTER DATABASE myDB SET ONLINE;

RESTORE DATABASE myDB WITH NONRECOVERY;


7. активировали logshipping jobs на secondary
Конечно, если базу уже восстановили, то такой финт ушами не пройдет.
12 сен 13, 20:37    [14833458]     Ответить | Цитировать Сообщить модератору
 Re: log shipping  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
edyaN,

Да, работает.

BACKUP DATABASE Data TO DISK = N'C:\Data.bak'
GO


Processed 184 pages for database 'Data', file 'Data' on file 1.
Processed 2 pages for database 'Data', file 'Data_log' on file 1.
BACKUP DATABASE successfully processed 186 pages in 0.066 seconds (21.913 MB/sec).

RESTORE DATABASE Data FROM DISK = N'C:\Data.bak' WITH REPLACE, NORECOVERY
GO


Processed 184 pages for database 'Data', file 'Data' on file 1.
Processed 2 pages for database 'Data', file 'Data_log' on file 1.
RESTORE DATABASE successfully processed 186 pages in 0.070 seconds (20.661 MB/sec).

RESTORE DATABASE Data WITH STANDBY = N'C:\Data.rollback'
GO


ALTER DATABASE Data SET OFFLINE
GO


Command(s) completed successfully.

ALTER DATABASE Data MODIFY FILE ( NAME = Data , FILENAME = 'C:\Data.mdf' );
GO


The file "Data" has been modified in the system catalog. The new path will be used the next time the database is started.

Копируем файл.

ALTER DATABASE Data SET ONLINE
GO


Command(s) completed successfully.

RESTORE DATABASE Data WITH NORECOVERY
GO


RESTORE DATABASE successfully processed 0 pages in 0.043 seconds (0.000 MB/sec).

SELECT state_desc FROM sys.databases WHERE name = 'Data'
GO


state_desc
RESTORING

(1 row(s) affected)


Сообщение было отредактировано: 12 сен 13, 21:47
12 сен 13, 21:31    [14833632]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить