powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Скрипт перестает работать если его запустить через джобу сиквела
14 сообщений из 39, страница 2 из 2
Скрипт перестает работать если его запустить через джобу сиквела
    #39985490
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я еще обнаружил, что если выполнить из командной строки:
Код: powershell
1.
PowerShell.exe "C:\MyFolder\04_build_restore_commands.ps1 ServerSource\inst1 ServerDestination\Inst1 42" -NonInteractive



То тоже выдает сообщение что подключиться не может. Я даже таймаут пытался увеличить до 10 минут, все равно висит 10 минут и отваливается.

Также заметил, что если передать неправильный параметр сервера источника, вместо него указать сервер, где нет истории бекапов нужных баз, то все отрабатывает, видимо потому, что запрос ничего не возвращает.

Видимо это зависит от размера возвращаемых данных. Похоже Write-SqlTableData не очень хорошо работает с бОльшими по размеру данными (сотни записей).
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39985491
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Roust_m
пропущено...


В том-то и дело, что не на одном:
(Invoke-Sqlcmd -query $Query -ServerInstance $SrvSource -database master -OutputAs DataTables) |
Write-SqlTableData -ServerInstance $SrvDestination -Database mydb -SchemaName dbo -TableName mytable -Force


Мыши кололись, плакали, но продолжали жрать кактус...


Есть предложения как добиться нужного результата? Учитывай пжлста, что эта среда, где гайки затянуты очень туго.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39985492
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_m,

Больше брутальности. Выгрузить в файл и прямым Invoke-Sqlcmd insert values пачками по 1000 строк.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39985504
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_m
aleks222
пропущено...


Мыши кололись, плакали, но продолжали жрать кактус...


Есть предложения как добиться нужного результата? Учитывай пжлста, что эта среда, где гайки затянуты очень туго.


Запустить таки профайлер и сэкономить кофейную гущу.

Промежду прочим, " Выгрузить в файл" весьма дельное предложение. Если BCP.exe задействовать - еще и быстро будет.

Но жертвы ООП должны страдать.
Ибо, открыть 2 рекордсета и перекинуть из одного в другой содержимое - это слишком просто.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986288
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Roust_m
пропущено...


Есть предложения как добиться нужного результата? Учитывай пжлста, что эта среда, где гайки затянуты очень туго.


Запустить таки профайлер и сэкономить кофейную гущу.

Промежду прочим, " Выгрузить в файл" весьма дельное предложение. Если BCP.exe задействовать - еще и быстро будет.

Но жертвы ООП должны страдать.
Ибо, открыть 2 рекордсета и перекинуть из одного в другой содержимое - это слишком просто.


Запускал профайлер, но ничего там не нашел. Может не те события смотрел. Также обнаружил, что запись в таблицу начинается и туда попадают первые пару сотен записей. а потом все отваливается. Причем в пройфайлере очень много попыток вставить в таблицу. Иногда, когда все отрабатывает за менее чем 20 секунд джоба успешна.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986302
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_m
Причем в пройфайлере очень много попыток вставить в таблицу. Иногда, когда все отрабатывает за менее чем 20 секунд джоба успешна.


1. Включите регистрацию ошибок.
2. Если ошибок нет => ну дык, где-то в клиенте заколочен таймаут.
3. Повторяю: жертвы ООП обязаны страдать.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986304
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Roust_m
Причем в пройфайлере очень много попыток вставить в таблицу. Иногда, когда все отрабатывает за менее чем 20 секунд джоба успешна.


1. Включите регистрацию ошибок.
2. Если ошибок нет => ну дык, где-то в клиенте заколочен таймаут.
3. Повторяю: жертвы ООП обязаны страдать.


Прошу пардон, а где и как ее включить?

Я также обнаружил, что та же проблема случается в стандартном окне PowerShell. А вот в PowerShell ISE все прекрасно работает.

Также если из командной строки запустить:
Код: powershell
1.
PowerShell.exe "C:\MyScripts\test.ps1 sourceserver\inst1 serverdestinaton\instance2 42" 


То вылезает та же ошибка.

Чем отличается PowerShell ISE oт обычного PowerShell в плане таймаутов?
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986314
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Roust_m
Причем в пройфайлере очень много попыток вставить в таблицу. Иногда, когда все отрабатывает за менее чем 20 секунд джоба успешна.


1. Включите регистрацию ошибок.
2. Если ошибок нет => ну дык, где-то в клиенте заколочен таймаут.
3. Повторяю: жертвы ООП обязаны страдать.


Не надо никому страдать! Проблема решена!

Я заменил формат данных и все заработало.

Было:
(Invoke-Sqlcmd -query $Query `
-ServerInstance $SrvSource -database master -ConnectionTimeout 600 -OutputAs DataTable ) |
Write-SqlTableData -ServerInstance $SrvDestination -Database MyDB -SchemaName dbo -TableName MyTable -ConnectionTimeout 120 -Timeout 120 -Force

Стало:
(Invoke-Sqlcmd -query $Query `
-ServerInstance $SrvSource -database master -ConnectionTimeout 600 -OutputAs DataSet ) |
Write-SqlTableData -ServerInstance $SrvDestination -Database MyDB -SchemaName dbo -TableName MyTable -ConnectionTimeout 120 -Timeout 120 -Force
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986321
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_m
Прошу пардон, а где и как ее включить?

Вестимо в профайлере.

Roust_m
Не надо никому страдать! Проблема решена!

Танец с бубном нельзя считать "решением проблемы".
Увы.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986328
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем вообще прибегать к PS, когда есть штатное средство Intergtion Services. Делаю, как умею, в общем.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986330
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Roust_m
Прошу пардон, а где и как ее включить?

Вестимо в профайлере.

Roust_m
Не надо никому страдать! Проблема решена!

Танец с бубном нельзя считать "решением проблемы".
Увы.


Я так понимаю речь идет о включении событий из раздела "Errors and Warnings" в профайлере? Я их включил, но ничего полезного не нашел.

Может и нельзя, но время испольнения скрипта сократилось до 2-3-х секунд, а раньше занимало 20-60. Что тоже полезно. Я поищу еще, но для моей задачи такое решение вполне походит.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986552
Фотография Roust_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Зачем вообще прибегать к PS, когда есть штатное средство Intergtion Services. Делаю, как умею, в общем.


Помимо копирования небольшого количества данных между двумя серверами, не тянет эта задача на Integration Services. Плюс надо идти обратно к начальству, менять дизайн, все согласовывать, делать оценку безопасности и т.д. и все из-за одно не работающей команды. В каждой среде есть своя специфика.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986624
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roust_m,

пакет - это не что-то грандиозное, это средство выполнения ETL задач. У Вас типовая ETL задача. Источник - получатель. При этом не требуется создавать связанные серверы.
...
Рейтинг: 0 / 0
Скрипт перестает работать если его запустить через джобу сиквела
    #39986647
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,
при том что когда-то SSIS был моим осн. тулом в некоторых проектах
я бы тоже не юзал его по мелочам


в случает топикстратера
я бы делал скрпиты через линк-сервера и запускал через SSMS (job)
возможно запихнул бы в SP
Powershell я тоже юзал - но больше для SSAS дел - там это очень удобно.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Скрипт перестает работать если его запустить через джобу сиквела
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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