2014-08-08 4 views
-1

Я пытаюсь экспортировать (с помощью инструмента экспорта SQLServer). Процесс закончился с ошибками, поскольку все таблицы имеет ошибку последующие:Экспорт базы данных с SQL Server в Azure

Error 0xc0209029: Data Flow Task 1: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. 
The "input "Destination Input" (194)" failed because error code 0xC020907B occurred, 
and the error row disposition on "input "Destination Input" (194)" specifies failure on error. 
An error occurred on the specified object of the specified component. 
There may be error messages posted before this with more information about the failure. 
(SQL Server Import and Export Wizard) 


Error 0xc0202009: Data Flow Task 1: 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: "Tables without a clustered index are not 
supported in this version of SQL Server. Please create a clustered index and 
try again.". 
(SQL Server Import and Export Wizard) 
+0

Я не совсем уверен, рассматривается ли это по теме здесь или нет, но вам может потребоваться проверка удачи на [Server Fault] (http://serverfault.com/), так как я полагаю, что они, по крайней мере, так много опыта, делающего такие вещи, как мы. –

+0

@MatthewHaugen Я бы предположил, что больше удачи будет в DBA Stack. Но проблема тривиальна, если вы внимательно прочитали сообщение об ошибке (см. Мой ответ). – trailmax

ответ

1

В сообщении говорится, что вы не кластерный индекс на одной из таблиц:

"Tables without a clustered index are not 
supported in this version of SQL Server. Please create a clustered index and 
try again." 

SQL Azure requires that every table has a clustered index и таблицы без индекса не могут быть созданы в Azure.

Таким образом, вам нужно будет проверить существующую базу данных, что все ваши таблицы имеют кластеризованный индекс. И для тех, у кого его нет, создайте его. Затем попробуйте снова экспортировать в SQL Azure.

Выполнить эту команду, чтобы добавить кластерный индекс к таблице:

CREATE CLUSTERED INDEX Table1_Index ON Table1 (Col1) 

Причина этого требования для репликации данных. Чтобы эффективно реплицировать данные на разных серверах, таблицы должны иметь правильное упорядочение страниц данных в двоичной структуре дерева. И без кластеризованного индекса (в таблицах кучи) репликация становится кошмаром. Смотрите более подробную информацию в this blog post

И here is the list из SQL Azure ограничений

+0

Я добавил индексы в свою локальную базу данных SQL Server, но по-прежнему получаю сообщение об ошибке при экспорте в Azure SQL. Похоже, что индексы не следуют, когда структура таблицы экспортируется, поэтому она не работает при добавлении данных. У кого-нибудь еще была похожая проблема? –

+0

@MatsMagnem Как вы перемещаете локальную таблицу в Azure? Когда вы создаете БД в Azure, можете ли вы проверить, действительно ли индексы существуют до добавления данных? – trailmax

0

первых, создавать таблицы сценарий без применения какой-либо индексации от местного и работать на лазури. Затем примените кластеризованное индексирование. Это будет работать.

Смежные вопросы