Почему не сохраняется порядок рядов в таблице при экспорт данных в SQL Server 2014 Management Studio?
Добрый день, господа!
На данный момент я для хранения данных использую бесплатную версию SQL Server 2014. На компьютере есть два стандартных сервера Database Engine. Никаких ограничений прав нет. На этих двух Database Engine-ах есть по несколько баз данных.
Проблема возникла при использовании стандартной функции экспорта данных из одной DB в другую (Tasks -> Export Data). При экспорте данных меняется порядок рядов в таблице. При этом четкой закономерности или связи с какими либо процессами или приложениями, запущенными на компьютере, мною выявлено не было.
Таблицы относительно большие - кол-во рядов измеряется миллионами.
Я был уверен, что если не указывать сортировку, то по умолчанию в качестве критерия сортировки будет использован индекс строки. Почему тогда он чаще экспортирует данные по порядку (даже миллионы столбцов), и лишь в единичных случаях порядок меняется? То есть получается, что алгоритм разный от случаю к случаю. Согласитесь, как-то странно реализовывать одну из самых часто используемых, как мне кажется, функций таким образом.
Если термин "ряд" трактуется как "строка БД", то необходимо учесть, что реляционные БД хранят строки в том порядке в каком им вздумается (с некоторым допущением). Поэтому ответственность за порядок сортировки строк при выводе данных во внешний мир полностью лежит на пользователе.