Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
Выпадает вот такая ошибка. Искал в интернете , стоящего не чего не нашел. Subcomponent: OLE DB Source [14], Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Не удалось определить метаданные, поскольку инструкция "EXEC (''CREATE SYNONYM [dbo].[''+@ObjName+''] FOR [''+@SchemaName+''].['' +@ObjName+'']'')" в процедуре "CreateSynonym" содержит динамический код SQL. Рекомендуется использовать предложение WITH RESULT SETS, чтобы явно описать результирующий набор.". SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "The metadata could not be determined because statement 'EXEC ('CREATE SYNONYM [dbo].['+@ObjName+'] FOR ['+@SchemaName+'].[' +@ObjName+']')' in procedure 'CreateSynonym' contains dynamic SQL. Consider using the WITH RESULT SETS clause to explicitly describe the result set.". Понять не могу как чтобы заработал стандартный функционал, на чем спотыкается? Microsoft SQL Server Enterprise 13.0.5426.0 Может кто сталкивался и как с этим бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 10:58 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO, > на чем спотыкается? The metadata could not be determined because statement .... in procedure 'CreateSynonym' contains dynamic SQL >и как с этим бороться? Consider using the WITH RESULT SETS clause to explicitly describe the result set ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 11:13 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
Данный функционал я не писал это МС и почему он глючит понять не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 11:44 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO, вроде бы MS рекомендует не использовать сбор данных в пользу хранилища запросов. У меня, по крайней мере, он глючил и падал с ошибками на SQL2012. Они его и из визарда настройки баз убрали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 11:50 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO, не важно кто писал, если есть возможность внести исправления в процедуру CreateSynonym, то добавьте в конец формируемой строки WITH RESULT SETS NONE т.е. полностью строка должна выглядеть примерно EXEC ('...') WITH RESULT SETS NONE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2019, 12:01 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
ShIgor, Тогда банально, где искать данную процедуру? :) Так как я искал и не нашел. насколько понял CreateSynonym это из этой строки склеенные CREATE SYNONYM "EXEC (''CREATE SYNONYM [dbo].[''+@ObjName+''] FOR [''+@SchemaName+''].['' +@ObjName+'']'')" в процедуре "CreateSynonym" Владислав Колосов, А поподробнее модно? Просто я с представителем общался на эту тему он такого не говорил что есть такие то вот рекомендации. вроде бы MS рекомендует не использовать сбор данных в пользу хранилища запросов. У меня, по крайней мере, он глючил и падал с ошибками на SQL2012. Они его и из визарда настройки баз убрали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 06:42 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO, Стандартной процедуры CreateSynonym не существует, и вряд-ли MS стал бы ее так называть. Если Вы сами ее не писали, и используете функционал SSIS, то и в нем, в стандартной поставке, тоже ничего похожего нет. Есть подозрение, что это какая-то сторонняя разработка или разработка Ваших коллег. Причем, ошибка возникает в момент вызова, значит процедура существует. Ищите ее в той базе, к которой идет обращение. Из своей практики могу добавить, что прямой вызов процедуры к ошибке скорее всего не приведет, а вот ее вызов через openrecordset как раз дает именно такой результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 08:49 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
добавлю тест для понимания ситуации test Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 10:20 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
ShIgor, Вот что выдало :) Сообщение 15281, уровень 16, состояние 1, строка 27 SQL Server заблокировал доступ к STATEMENT "OpenRowset/OpenDatasource" компонента "Ad Hoc Distributed Queries", поскольку он отключен в результате настройки конфигурации безопасности сервера. Использование "Ad Hoc Distributed Queries" может быть разрешено администратором при помощи хранимой процедуры sp_configure. Дополнительные сведения о включении "Ad Hoc Distributed Queries" см. в электронной документации по "Ad Hoc Distributed Queries". Время выполнения: 2019-11-14T14:46:55.7672956+07:00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 10:48 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO, это просто Ad Hoc в настройках сервера не разрешено по-умолчанию Параметр конфигурации сервера «ad hoc distributed queries» там же в примере, как разрешить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 10:58 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
ShIgor, ну это я сразу нашел и попробовал. ток вот на других серверах такая манипуляция не нужны (стоит все по умолчанию и работает). (Ставились с нуля) Ваш скрипт отработал на ура. Но ошибка в не исчезла Код ошибки служб SSIS: DTS_E_OLEDBERROR. Возникла ошибка OLE DB. Код ошибки: 0x80004005. Доступна запись OLE DB. Источник: "Microsoft SQL Server Native Client 11.0" Результат: 0x80004005 Описание: "Не удалось определить метаданные, поскольку инструкция "EXEC ('CREATE SYNONYM [dbo].['+@ObjName+'] FOR ['+@SchemaName+'].[' +@ObjName+']')" в процедуре "CreateSynonym" содержит динамический код SQL. Рекомендуется использовать предложение WITH RESULT SETS, чтобы явно описать результирующий набор.". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 11:37 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO ток вот на других серверах такая манипуляция не нужны ( стоит все по умолчанию и работает). (Ставились с нуля) блажен, кто верует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 12:22 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO Но ошибка в не исчезла вам товарищ показывает, как получить вашу ошибку. а не как исправить. --- а вы думали, не меняя проблемный код, сможете устранить ошибку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 12:24 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
Yasha123, Вот на другом, и все работает. при этом скрипт которые выше также ругается. Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 12:29 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
Yasha123, Хорошо, я готов код поправить если к нему доступ есть. Вопрос где его искать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 12:30 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
какой-то разговор немого с глухим... вы что имеете в виду под "и все работает" на другом сервере? работает Data Collector? это нормально, потому что на нем нет никакой самодеятельности в виде CreateSynonym. но какое это имеет отношение к скрипту от ShIgor? я лично про то, что для запуска этого скрипта надо включить 'Ad Hoc Distributed Queries', и что "по умолчанию" это отключено. и если "Ваш скрипт отработал на ура", значит там это включено. но это не есть умолчание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 12:45 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO Хорошо, я готов код поправить если к нему доступ есть. Вопрос где его искать? наверное в базе для Data Collector ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 12:47 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
Yasha123, Там скрипт не отрабатывает, но нету ошибок Код: sql 1. 2. 3. 4. 5. 6. на другом сервер, все данные собирается. CreateSynonym - я пробовал искать в база model,msdb,master,tempdb,Pref_DB->куда собирает данные "Уплавления\Сбор данных\Использования места на диске " и я не нашел. Своего я не чего не вносил. Базу пересоздавал с нуля. результат не менялся. И не могу понять по чему на другом сервер сделал те-же манипуляции все работает на ура, а на другом нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 12:54 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO CreateSynonym - я пробовал искать в база model,msdb,master,tempdb,Pref_DB->куда собирает данные "Уплавления\Сбор данных\Использования места на диске " и я не нашел. Своего я не чего не вносил. ну курсором пройдите по всем базам. проще всего было бы открыть SSIS-пакет и там посмотреть, в какую он базу лезет --- когда ищите, имя скопируйте как есть из ошибки. ну вдруг там кириллическое "о" или "у". и передавайте его как юникод. искали-то хоть не глазами, кодом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 13:00 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
Yasha123, мысли.. У самого дата коллектора таких процедур нет и смысла искать CreateSynonym естественно тоже. Т.к. ошибка возникает в SSIS пакете, а он (пакет, не SSIS) не является частью дата коллектора, то вопрос к тому кто его писал. Т.к. "использование места на диске" входит вроде бы в системный набор сборщиков (пакетов), то искать надо там. там же прописан код процедуры, а сама процедура создается динамически во время выполнения SSIS пакета у меня этой шняги нет, поэтому посмотреть не могу должно быть что-то типа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 14:44 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 15:00 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO Выпадает вот такая ошибка. Искал в интернете , стоящего не чего не нашел. Subcomponent: OLE DB Source [14], Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Не удалось определить метаданные, поскольку инструкция "EXEC (''CREATE SYNONYM [dbo].[''+@ObjName+''] FOR [''+@SchemaName+''].['' +@ObjName+'']'')" в процедуре "CreateSynonym" содержит динамический код SQL. Рекомендуется использовать предложение WITH RESULT SETS, чтобы явно описать результирующий набор.". SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "The metadata could not be determined because statement 'EXEC ('CREATE SYNONYM [dbo].['+@ObjName+'] FOR ['+@SchemaName+'].[' +@ObjName+']')' in procedure 'CreateSynonym' contains dynamic SQL. Consider using the WITH RESULT SETS clause to explicitly describe the result set.". Понять не могу как чтобы заработал стандартный функционал, на чем спотыкается? ...? Судя по ошибке, она прилетает при вызове некоей stored procedure из OLE DB Source. А этот самый OLE DB Source не может получить метаданные столбов результатов, так как в хранимку включен динамический код. Чтобы решить - модифицируете хранимку, описываете в WITH RESULT SETS все возвращаемые столбцы и типы данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 16:42 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
Ferdipux, так не может найти хранимку, пока что в этом проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2019, 16:47 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
В этом и проблема, на некоторые сервера на ура становится без проблем, на некоторые ошибка такая выскакивает. Есть подозрения что спотыкается на какой-то база, и дальше просто вываливается с ошибкой, но вот почему проблема с этой базой, что ей мешает понять не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2019, 10:21 |
|
||
|
Уплавления\Сбор данных\Использования места на диске
|
|||
|---|---|---|---|
|
#18+
VicSO Есть подозрения что спотыкается на какой-то база, и дальше просто вываливается с ошибкой, но вот почему проблема с этой базой, что ей мешает понять не могу. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2019, 11:48 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39889012&tid=1686937]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 350ms |

| 0 / 0 |
