скопируйте данные с нашего локального SQL сервера (SQL 2008 R2) в Azure хранилище данных - PullRequest
0 голосов
/ 01 мая 2020

В настоящее время я пытаюсь настроить Azure Хранилище данных для последующего использования SSRS. Проблема возникла при попытке скопировать данные с нашего локального SQL сервера (SQL 2008 R2) с помощью (вставить в select ) и (выберите * в), следующая ошибка:

Msg 104455, Level 16, State 1, Line 1

USE statement is not supported to switch between databases. Use a new connection to connect to a different Database.

Сообщение 104467, уровень 16, состояние 1, строка 1

Принудительные уникальные ограничения не поддерживаются в Azure SQL Хранилище данных. Чтобы создать неисполнимое уникальное ограничение, вы должны включить синтаксис NOT ENFORCED как часть вашего оператора.

После этой ошибки я решил скопировать данные с помощью служб SSIS, создал пакет для передачи данных и после успешного завершения При инициализации и копировании части данных (иногда более 500 тыс. строк) мы получаем сообщение об ошибке, запуск никогда не завершается успешно, так как мы пытаемся скопировать только данные за 1 месяц, что составляет примерно 10 млн. строк, сообщение об ошибке (

[OLE DB Source [59]] Error: 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: "Protocol error in TDS stream".

An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 11.0"  Hresult: 0x80004005  Description: "Protocol error in TDS stream".

An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 11.0"  Hresult: 0x80004005  Description: "Protocol error in TDS stream".

An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 11.0"  Hresult: 0x80004005  Description: "Communication link failure".

An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 11.0"  Hresult: 0x80004005  Description: "TCP Provider: An existing connection was forcibly closed by the remote host.

".

На этот раз я предположил, что проблема связана с размером данных, поэтому мы манипулировали пакетом до go при l oop, копируя только 1000 строк за цикл, и снова повторялась та же ошибка.

После того, что выглядело как тупик, я перешел к окончательному решению, я использовал промежуточный сервер (который использует SQL 2016), я успешно скопировал данные с исходного сервера (который использует 2008 R2) после внедрения (Linked Server) ), но еще раз, когда я попытался скопировать данные из (SQL 2016) в Azure хранилище данных использовать я столкнулся с ошибкой,

Error message is  (Msg 46706, Level 16, State 1, Line 24
Cursor support is not an implemented feature for SQL Server Parallel DataWarehousing TDS endpoint.)
...