Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Восстанвление новой копии базы  [new]
halogen20
Member

Откуда:
Сообщений: 196
У меня очередной вопрос , но сильно не пинайте )))

Имеется MSSQL2016, в нем 8 баз 1С, которые каждый день бекапируются.
бухгалтер хочет, чтоб из запустил базу отдельно бекап из 30-го числа, хочет что то там посмотреть. То есть не делать восстановление текшей базы, а поднять копию, с 30-го чиска, она посмотрит и удалю потом.
прошу пошагово описать этот процесс, боюсь грохнуть текущие базы.
Имеется полная копия бекапа за 30-е число, base_buh1_30.07.2017.bak
15 авг 17, 20:22    [20726459]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7358
halogen20
боюсь грохнуть текущие базы.
А чего бояться? Бекапы-то делаются. За одно и проверишь.
halogen20
в нем 8 баз 1С, которые каждый день бекапируются.
15 авг 17, 20:30    [20726468]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
iii2
Member

Откуда:
Сообщений: 202
halogen20,
Нужно выполнить такую команду:
RESTORE DATABASE TestDB   
   FROM DISK = 'Z:\SQLServerBackups\base_buh1_30.07.2017.bak'    
   WITH MOVE 'datafile' TO 'C:\MySQLServer\testdb.mdf',  
   MOVE 'logfile' TO 'C:\MySQLServer\testdb.ldf';  
GO  

Имена файлов datafile и logfile предварительно посмотреть так:
select Name
from sys.database_files

Ну и пути для файлов указать правильные, причем в папку, где поместятся результирующие файлы mssqlserver должен иметь доступ (нужно выяснить, от какого аккаунта он запускается и дать ему в папке права на чтение/изменение.



https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-transact-sql
15 авг 17, 20:39    [20726486]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
iii2
Member

Откуда:
Сообщений: 202
Так... двусмысленное толкование... в скрипте, вместо datafile и logfile - нужно написать их имена, выданные запросом.
Также их можно посмотреть в ssms, в свойствах бд, на вкладке files, в крайней левой колонке.
15 авг 17, 20:43    [20726492]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
halogen20
Member

Откуда:
Сообщений: 196
iii2

Спасибо за скрипт.
У меня система находится на С, а рабочие базы на диске D, тогда эту тоже перепишу на диск D: на хранение.
Ок, вот предположим восстановили "TestDB", а кластере 1С тоже надо создать такую же базу и цеплять к SQL или там автоматически появится?
мне не ясно пока полный путь :)
15 авг 17, 20:55    [20726514]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
iii2
Нужно выполнить такую команду:

Мне кажется, так просто не сделать.

Нужно все базы 1С восстанавливать на это число, в отдельный инстанс сиквела. И подключать к ним свою копию 1С.
Это если делать чисто силами сиквелиста.
Либо узнавать у 1С-ников, как подцепить дополнительную базу к существующему серверу 1С
15 авг 17, 21:36    [20726589]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
halogen20
Ок, вот предположим восстановили "TestDB", а кластере 1С тоже надо создать такую же базу и цеплять к SQL или там автоматически появится?
мне не ясно пока полный путь :)
Это надо у специалистов по 1С узнавать.
Это они знают, каким образом сервер 1С работает с сиквелом.
15 авг 17, 21:37    [20726593]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
правильный проходящий.
Guest
halogen20
Ок, вот предположим восстановили "TestDB", а кластере 1С тоже надо создать такую же базу и цеплять к SQL или там автоматически появится?
Позовите специалиста.
1. База просто берется и восстанавливается на любом инстансе. Сервер 1С не использует что-то такое, что бы требовало отдельного инстаннса. Да и что, собственно, такое моет требовать?
2. С какого перепугу в сервере 1С должны появиться новая база? Думаете, в нём есть какая-то просто неземная прозорливость? Или ему кто-то дал право шариться по всем инстансам в доступной ему сети для определения 1с-овости этих баз? Или Микрософт возбудился крутостью 1с и вставил в сиквел функционал нахождения в сети серверов 1С и оповещения их о создании именно 1с-овских баз?
16 авг 17, 06:49    [20726912]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
iii2
Member

Откуда:
Сообщений: 202
halogen20
iii2

Спасибо за скрипт.
У меня система находится на С, а рабочие базы на диске D, тогда эту тоже перепишу на диск D: на хранение.
Ок, вот предположим восстановили "TestDB", а кластере 1С тоже надо создать такую же базу и цеплять к SQL или там автоматически появится?
мне не ясно пока полный путь :)

Разумеется, нужно на сарвере приложений 1С создать базу testdb (например), и прицепить воссановленную базу к ней.
Ну и потом на клиентах прописать эту новую базу.

Базы 1С, стоковые, не кастомные - они просты, как трусы по рубль двадцать, в смысле взаимодействия с sqlserver.

Этот вопрос есть в факе на 1С овском форуме.
И на инфанте еще, кажется.
16 авг 17, 07:37    [20726939]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
iii2
Member

Откуда:
Сообщений: 202
alexeyvg
iii2
Нужно выполнить такую команду:

Мне кажется, так просто не сделать.
украинцы
Нужно все базы 1С восстанавливать на это число, в отдельный инстанс сиквела. И подключать к ним свою копию 1С.
Это если делать чисто силами сиквелиста.
Либо узнавать у 1С-ников, как подцепить дополнительную базу к существующему серверу 1С

Да нет.
1Совские базы - автономны.
Сам сервер приложений не хранит данных (кеши, логи и прочее - хранит, но не более).
Сикуел с точки зрения сервера приложений - ну вот такая странная файловая система.
Там только если кластер 1С стоит могут быть незначитльные нюансы, но его наличие - маловероятно, см. уровень вопроса и спрашивающего.
16 авг 17, 07:44    [20726943]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
halogen20
Member

Откуда:
Сообщений: 196
iii2,

Еще хотел уточнить, если datafile и logfile совпадают с УЖЕ имеющийся базой? Название совпадают, т.к. бекап из этой же базы.
16 авг 17, 08:19    [20726971]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
halogen20
боюсь грохнуть текущие базы.

В диалоге восстановления в группе настроект "Options" НЕ отмечайте галочку "Override the existing database ..." и восстанавливайте с другим именем.
16 авг 17, 08:23    [20726981]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
halogen20
Member

Откуда:
Сообщений: 196
Yuri Abele,

А с тем скриптом нельзя восстановить с другим именем?
RESTORE DATABASE TestDB   
   FROM DISK = 'Z:\SQLServerBackups\base_buh1_30.07.2017.bak'    
   WITH MOVE 'datafile' TO 'C:\MySQLServer\base_buh1.mdf',  
   MOVE 'logfile' TO 'C:\MySQLServer\base_buh1.ldf';  
GO  

тут вот эти файлы совпадают с оригиналом.
16 авг 17, 08:28    [20726994]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
dvim
Member

Откуда: Санкт Петербург
Сообщений: 679
1 - восстановить бекап в новую БД.
Тут наверху есть скрипт, можно сделать это же через интерфейс SSMS

2 - Зайти в управление сервером 1с и создать новую базу 1с, указав в качестве субд восстановленную в п1 базу

3 - Подключить бухгалтеру эту базу
16 авг 17, 08:49    [20727046]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
halogen20
Member

Откуда:
Сообщений: 196
Скрипт не выполянется, все поставил свои название, ситаксис верный, а вот выдает такую ошибку:
Сообщение 3234, уровень 16, состояние 2, строка 1
Logical file 'datafile' is not part of database 'TestDB'. Use RESTORE FILELISTONLY to list the logical file names.
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE DATABASE is terminating abnormally.
16 авг 17, 08:54    [20727057]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
halogen20
Member

Откуда:
Сообщений: 196
погуглил, говорят, что проблема в названиях, только не очень понял что/где логические и физические имена.
Я сделал команду
RESTORE FILELISTONLY
FROM DISK = '

указал путь к бекапу и мне выдал оригинальные названии самой базы и лог файла. оттуда копировал и ставил в скрипт. По этому ошибки там быть не должно. Видимо ему не нравится само название новой базы? идентично к моей базы тоже не создать ведь.
Как быть тогда?
16 авг 17, 09:14    [20727092]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661


К сообщению приложен файл. Размер - 10Kb
16 авг 17, 09:52    [20727209]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661


К сообщению приложен файл. Размер - 87Kb
16 авг 17, 09:52    [20727213]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661


К сообщению приложен файл. Размер - 63Kb
16 авг 17, 09:53    [20727215]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661


К сообщению приложен файл. Размер - 134Kb
16 авг 17, 09:55    [20727227]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661


К сообщению приложен файл. Размер - 90Kb
16 авг 17, 09:55    [20727229]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661


К сообщению приложен файл. Размер - 11Kb
16 авг 17, 09:55    [20727231]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
komrad
Member

Откуда:
Сообщений: 5244
Yuri Abele,

наглядно вышло, улыбнуло с утра )
16 авг 17, 09:58    [20727240]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
halogen20
Member

Откуда:
Сообщений: 196
Yuri Abele,

Спасибо вам большое!
USE [master]
RESTORE DATABASE [Temp_trade] FROM  DISK = N'E:\sql_backup\base_buh1_30.07.2017.bak' WITH  FILE = 1,  MOVE N'trade' TO N'D:\sql_data\TEMP\Temp_trade.mdf',  MOVE N'trade_2017_log' TO N'D:\sql_data\TEMP\Temp_trade_log.ldf',  NOUNLOAD,  STATS = 5

GO

Вот такой скрипт получил. теперь скрипт выполнить или на предпоследнем скрине нажать ОК ? :)
16 авг 17, 10:04    [20727258]     Ответить | Цитировать Сообщить модератору
 Re: Восстанвление новой копии базы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
halogen20
Yuri Abele,

Спасибо вам большое!
USE [master]
RESTORE DATABASE [Temp_trade] FROM  DISK = N'E:\sql_backup\base_buh1_30.07.2017.bak' WITH  FILE = 1,  MOVE N'trade' TO N'D:\sql_data\TEMP\Temp_trade.mdf',  MOVE N'trade_2017_log' TO N'D:\sql_data\TEMP\Temp_trade_log.ldf',  NOUNLOAD,  STATS = 5

GO


Вот такой скрипт получил. теперь скрипт выполнить или на предпоследнем скрине нажать ОК ? :)
Лучше выполнить. Что бы иметь сохранённый отлаженный скрипт, который можно было бы просто запустить, а не тыкать каждый раз набор галочек и полей в GUI, рискуя ошибиться.
16 авг 17, 10:14    [20727290]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить