Промяна на сортирането на SQL база данни, таблици и полета в таблици - Saqwel
Статията е посветена на обсъждания в много форуми въпрос за това как да прехвърляте SQL бази данни и в същото време да промените сортирането. Проблемът е, че трябва да промените сортирането на базата данни, сортирането на таблиците в базата данни и сортирането на полетата на таблиците. Освен това е невъзможно да се промени сортирането в индекси и все още някъде. Не знам защо не намерих статии в интернет за подобен метод за промяна на сортирането с едновременно прехвърляне на база данни. Но той изглежда работи. В интернет се натъкнах само на големи и неразбираеми скриптове, които трябва да помогнат за решаването на този проблем, но изпълнението им не изглежда много удобно, тъй като няма желание да се разбере скриптът на някой друг.
Така че да започваме. Отворете SQL Server Enterprise Manager, изберете базата данни, която да копирате. Щракнете с десния бутон върху базата данни, в появилото се меню изберете Всички задачи->Генериране на SQL скрипт. В прозореца, който се показва, в раздела „Общи“, поставете отметка в квадратчето до „Скриптиране на всички обекти“.

В раздела „Форматиране“ поставете отметка в квадратчетата „Генериране на командата CREATE за всеки обект“ и „Генериране на скриптове за всички зависими обекти“ и изчистете останалите.

В раздела "Опции" поставете всички квадратчета за отметка, които са, "Файлов формат" и "Файлове за генериране" оставете както е. Само в случай на проблеми при мигриране на база данни, можете да генерирате не един файл за цялата база данни, както е зададено по подразбиране, а по един файл за всеки обект от база данни, като изберете „Създаване на един файл за обект“.

Натиснете бутона "OK", посочете къде и с какво име да запазите файла.
Отворете файла в Notepad. Ако скриптът посочва съпоставяне, с което е необходимо да се създаде базата и колоните на таблиците, и това съпоставяне не отговаря на необходимото, тогава заменетевсички препратки към старото сортиране към новата стойност на сортиране. Ако в скрипта не се споменава сортиране, тогава базата данни ще бъде създадена с сортирането по подразбиране (като сървъра).

Отворете Query Analyzer, свържете се със сървъра, на който искате да копирате базата данни. Отворен скрипт. Проверете скрипта за правилните пътища, където ще бъдат създадени файловете на базата данни (*.mdf и *.ldf). Изпълнение на скрипт. В резултат на това трябва да се появи база данни, която точно повтаря структурата на старата, само с нова колация и празни таблици.
Забележка. Трябва да се уверите, че на сървъра няма база данни със същото име, има достатъчно място на твърдия диск за нова база данни (в скрипта първите редове показват какъв размер ще има базата данни).
След това е достатъчно да извършите операцията по експортиране/импортиране на данни в тази празна база данни. За да направите това, в прозореца на SQL Server Enterprise Manager изберете старата база данни, на стария сървър щракнете с десния бутон върху нея и изберете Всички задачи->Експортиране на данни…. Изберете източника, от който се извършва експортирането, след това сървъра и базата данни, където ще бъдат експортирани данните. В прозореца „Указване на копиране на таблица или заявка“ изберете „Копиране на обекти и данни между бази данни на SQL Server“. В следващия прозорец „Избор на обекти за копиране“ премахнете отметката от квадратчето „Създаване на целеви обекти“, оставете останалото както е.

Щракнете върху бутона "Напред", в следващия прозорец щракнете върху "Напред", след това върху "Край".
Ако процедурата за експортиране/импортиране е била успешна, тогава базата данни трябва да бъде напълно копирана с ново сортиране и готова за работа.