Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / скопировать базу не работает / 11 сообщений из 11, страница 1 из 1
06.07.2018, 10:25
    #39670495
woldemarus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
сделал мастером (ПКМ по БД, задачи->скопировать базу данных) пакет DTS на копирование БД сервер источник=сервер цель, база каждый раз должна перезаписываться.
общая цель каждодневная копия за предыдущий день. но не работает почему то. база не создается см. скрин. подскажите куда копнуть.
...
Рейтинг: 0 / 0
06.07.2018, 10:28
    #39670500
woldemarus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
Сообщение
Выполняется от имени пользователя: NT Service\SQLSERVERAGENT.Программа выполнения пакетов Microsoft (R) SQL Server Version 11.0.2100.60 for 64-bit (C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. Начало: 2:00:00 Ошибка: 2018-07-06 02:01:08.16 Код: 0x00000000 Источник: Задача server_Transfer объектов Описание: Произошла ошибка при передаче данных. Дополнительные сведения см. во внутреннем исключении. StackTrace: в Microsoft.SqlServer.Management.Smo.Transfer.TransferData() в Microsoft.SqlServer.Dts.Tasks.TransferObjectsTask.TransferObjectsTask.TransferDatabasesUsingSMOTransfer() InnerException-->Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Ошибка операции CREATE DATABASE. Некоторые из перечисленных имен файлов не были созданы. Проверьте связанные ошибки. StackTrace: в System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) в System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) в System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) в System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) в System.Data.SqlClient.SqlCommand.ExecuteNonQuery() в Microsoft.SqlServer.Management.Smo.Transfer.ExecuteStatements(SqlConnection destinationConnection, IEnumerable`1 statements, SqlTransaction transaction) в Microsoft.SqlServer.Management.Smo.Transfer.TransferData() InnerException-->Время ожидания операции истекло Конец ошибки DTExec: завершено исполнение пакетаDTSER_FAILURE (1). Начало: 2:00:00 Готово: 2:01:08 Прошло:67.75 секунд. Не удалось выполнить пакет. Шаг завершился с ошибкой.
...
Рейтинг: 0 / 0
06.07.2018, 12:44
    #39670631
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
woldemarus,

удаляйте базу перед копированием.
...
Рейтинг: 0 / 0
06.07.2018, 14:38
    #39670725
woldemarus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
её нет, физически, в целевом месте.
хотя выбран вариант "автоматически удалять базу с таким же именем"
...
Рейтинг: 0 / 0
06.07.2018, 14:59
    #39670744
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
woldemarusеё нет, физически, в целевом месте.И файлов нет? Всех? А место свободное есть?
...
Рейтинг: 0 / 0
06.07.2018, 15:49
    #39670787
woldemarus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
файлов нет, место есть (база 80 гиг места 120).
я изначально создал в той папке базу с именем = тому что я указал в мастере, но он ругнулся на то что такая база в этом месте есть, тогда базу я удалил в ручную, и штатно завершил настройку мастера. это не может как то повлиять ?
совсем чайниковый вопрос, как подредактировать этот пакет ? например поменять имя целевой базы или путь?
...
Рейтинг: 0 / 0
06.07.2018, 16:15
    #39670808
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
woldemarusсовсем чайниковый вопрос, как подредактировать этот пакет ? например поменять имя целевой базы или путь?

да зачем вам пакет?
всего три команды нужны (в примере используются директивы sqlcmd mode):

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
-- step 1 
::connect SOURCESQL
backup database YOURDATABASE to disk='path_to_BAK_file' with compression,init,checksum,copy_only,stats=1,description='preved!'
-- step 2
::connect TARGETSQL
alter database YOURDATABASE_COPY set offline with rollback immediate
-- step 3
restore database YOURDATABASE_COPY from disk='path_to_BAK_file' 
with replace,
move 'YOURDATABASE' to 'path_to_data_file_on_target_server',
move 'YOURDATABASE_log' to 'path_to_log_file_on_target_server',
stats=1



path_to_BAK_file должен быть доступен учеткам обоих сиквелов
красное и имена баз заменить на ваши значения
...
Рейтинг: 0 / 0
06.07.2018, 16:47
    #39670819
Eleanor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
woldemarusThe timeout period elapsed prior to completion of the operation or the server is not responding.
Ошибка операции CREATE DATABASE.
Прошло: 67.75 секунд.
Увеличение таймаута выше 60 сек не помогает?
...
Рейтинг: 0 / 0
06.07.2018, 16:48
    #39670821
woldemarus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
komrad ,
спасибо когда искал пути решения этой задачи, тот ("скопировать базу") показался самым простым.
попробую ваш способ.
все же интересно почему он не работает.
...
Рейтинг: 0 / 0
06.07.2018, 16:59
    #39670824
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
woldemarusвсе же интересно почему он не работает.
полагаю, что имеет место таймаут при создании базы - файлы базы нужного размера создаются сиквелом, что требует времени, особенно для большого лога, если он таков

а в общем, если не страшитесь powershell, то поставьте себе пакет dbatools ( https://dbatools.io/) - там скрипты на все случаи жизни
есть в том числе и для вашего случая: Copy-DBADatabase ( https://dbatools.io/functions/copy-dbadatabase/)
...
Рейтинг: 0 / 0
17.07.2018, 10:40
    #39674864
woldemarus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скопировать базу не работает
EleanorУвеличение таймаута выше 60 сек не помогает?
в каком месте этот таймаут увеличить можно ?

пробовал в качестве эксперимента другую базу скопировать, небольшого размера (чуть более гига) тоже не получилось, правда в этот раз ошибка другая "InnerException-->Пользователь, группа или роль "domain\user" уже существует в текущей базе данных."

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

результатом работы этого мастера является, создание пакета и задания в планировщике ? т.е. если откатить эти эксперименты назад достаточно будет их удалить или что то еще чистить надо ?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / скопировать базу не работает / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]