Міграція даних з SQL Server 2005 по 2016 рік


9

Я новачок у адмініструванні SQL Server, однак мені зручно використовувати мову SQL та створювати SSIS пакети.

Я хочу перенести дані з SQL Server 2005 на 2016 рік.

Моє запитання: чи потрібно мені турбуватися про системні бази даних та інші об'єкти, такі як індекси, збережені процедури, перегляд, безпека та дозволи. входи в систему чи можу я просто переміщувати дані.

Яка була б рекомендована процедура в цьому випадку.


Ви намагаєтесь оновити виробничий екземпляр? тобто вам потрібні ті ж логіни, індекси, збережені документи тощо? Насправді ваше запитання справді досить широке. Відвідайте екскурсію та прочитайте довідковий центр про те, як ставити хороші запитання. Дякую!
Макс Вернон

Відповіді:


7

Макс дав гідну відповідь, яку я схвалюю, як тільки я закінчу введення цього альтернативного перегляду вгору.

Я не прихильник відновлення системних баз даних під час міграції оновлень, і я вважаю за краще робити міграції на місці оновлення, як я обговорював у цій тривалій відповіді на інше питання.

В основному я люблю починати "свіжим", коли роблю міграцію. Я вважаю, що граючи з міграцією системних баз даних та оновленнями через відновлення, іноді це може спричинити розчарування з відновленнями, і це може перенести потенційні гріхи.

Ви також запитували про індекси, збережені процедури, представлення даних. Ці елементи на рівні бази даних повинні містити всередині бази даних користувача. Отже, коли ви відновите базу даних X на новому сервері, всі об’єкти бази даних (таблиці, користувачі, представлення даних, програми, функції тощо) також будуть там.

У системних базах даних існують завдання, входи в систему, оповіщення, пов'язані сервери, ключі шифрування тощо.

Я хотів би розглянути ці та мігрувати на те , що мені потрібно , використовуючи різні сценарії - в останнім часом , що є DBATools.Io Powershell сценаріїв. Мені подобається використовувати їх скрипт, особливо для копіювання логін sql , тому що він обробляє користувачів, що підтверджують автентичність SQL, зберігаючи паролі та ідентифікатори безпеки однаковими, тому користувачі баз даних із цих входів працюватимуть. Вони також мають цілу команду міграції SQL Server, яка виконує свої підкоманди для копіювання елементів, які я зазвичай копіював.

Я не вірю, що Макс помиляється з цією відповіддю, звідси і голосування. Я просто мав більше успіху та більше удачі і відчував себе комфортніше переходити до нового, а не намагатися відновити через системні бази даних між версіями. Я б сказав, що я, чесно кажучи, не можу згадати востаннє, коли я робив міграцію оновлення версії, і не робив цього так замість відновлення системних баз даних.


Дякую за вашу відповідь. Я не хочу оновити з 2005 по 2016 рік. Я хочу перенести базу даних з екземпляра, який більше не використовується на сервері sql 2005, на існуючий екземпляр у 2016 році. Ця міграція ще не затверджена, але я хочу бути готовим, коли це робить. В основному я отримав цей проект, тому що я єдиний, хто має будь-який досвід SQL щодо запитів та створення пакетів SSIS. Мене також хвилювали проблеми сумісності. Ще раз дякую.
Роберт

Звичайно, але, переходячи з 2005 по 2016 рік, ви робите оновлення. Ви робите оновлення та міграцію. Оскільки ви переносите базу даних з однієї версії SQL в іншу - це означає, що напевно потрібно оновити Вам слід запустити радника з оновлення у вашій базі даних.
Майк Уолш

Що робити, якщо SQL Server 2005 розміщено під керуванням Windows Server 2003 R2 x86, а SQL Server 2016 знаходиться на більш новій ОС.
Роберт

@MikeWalsh Я погоджуюся майже з усім тим, що ви описали у своїй відповіді. Я теж іду майже все це при виконанні SQL Upgrade / Міграції
NAM

4

Ви хочете розглянути можливість переміщення системних баз даних (головний, MSDB і, можливо, модель), якщо вам потрібен доступ до метаданих, що зберігаються в цих базах даних.

Майстер зберігає предмети, такі як логіни, сертифікати безпеки тощо.

msdb містить подробиці про резервні копії та зберігає конфігурації завдань агента SQL Server, серед інших деталей.

Модель може бути налаштована вами або вашою командою, щоб дозволити новоствореним порожнім базам даних містити набір заздалегідь визначених об'єктів, які ви використовуєте у кожній базі даних.

Міграція баз даних системи може бути виконана досить легко; докладні вказівки доступні у MSDN на веб-сторінці Back Up and Restore System Database (SQL Server) .

Залежно від ваших вимог, ви могли б виконати BACKUP DATABASEоперацію над базами даних користувачів на екземплярі 2005 року, а потім RESTORE DATABASEна екземплярі 2016 року, щоб зібрати всю базу даних, включаючи всі дані, індекси та інші об'єкти.

Для цього, принаймні спочатку, знадобиться стільки ж місця, яке споживає база даних на екземпляр 2005 року. Однак, відновивши базу даних, ви можете скористатися стисненням даних, щоб істотно зменшити необхідний слід.

Докладнішу інформацію про виконання резервних копій та про відновлення сценаріїв відновлення див. У розділі Про роботу з резервними копіями SQL Server .


2

Це до 2012 чи 2016 року? Це має різницю в тому, що IIRC 2012 - це перевірений шлях міграції, а 2016 - ні. Отож, відомі проблеми задокументовані та / або будуть схоплені консультантом з оновлення 2012 року. Неперевірений шлях все ще може працювати без проблем, це просто невідомо. Однак, настійно рекомендую перейти до 2016. Я підозрюю, що зусилля будуть майже однаковими.

Див. Чи оновлюєтесь ви з SQL Server 2005? в документації на варіанти оновлення 2005 року та посилання на дуже детальний процес оновлення. Процес оновлення був написаний у 2014 році, але досі застосовується для 2016 року.


1
Це 2016. Вибачте з цього приводу
Роберт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.