З часом більшість програм баз даних ростуть, стають складнішими та потребують підтримки більшої кількості користувачів. У певний момент в житті програми Microsoft Office Access може знадобитися перейти до бази даних Microsoft SQL Server, щоб оптимізувати продуктивність, масштабованість, доступність, безпеку, надійність та відновлення.
У цій статті
Відомості про перетворення бази даних Microsoft Office Access
Перетворення – це процес перенесення деяких або всіх об’єкти бази даних з бази даних Access до нової або наявної бази даних SQL Server або нового проекту Access (. adp).
Переваги перетворення бази даних на SQL Server
-
Висока продуктивність і масштабованість У багатьох ситуаціях SQL Server пропонує кращу продуктивність, ніж база даних Access. SQL Server також надає підтримку дуже великих баз даних для терабайт, що суттєво більший за поточний ліміт для бази даних Access двох гігабайтів. Нарешті, SQL Server дуже ефективно працює шляхом обробки запитів паралельно (за допомогою кількох власних потоків в одному процесі для обробки запитів користувачів) і мінімізації додаткових вимог до пам'яті, коли буде додано більше користувачів.
-
Підвищена доступність SQL Server дає змогу робити динамічні резервні копії, а також інкрементна або повна база даних під час використання. Відповідно, для резервного копіювання бази даних не потрібно змушувати користувачів вийти з бази даних.
-
Удосконалена безпека За допомогою надійного підключення SQL Server може інтегруватися в систему безпеки Windows, щоб забезпечити єдиний інтегрований доступ до мережі та бази даних, використовуючи найкращу кількість систем безпеки. Це значно полегшує адміністрування складних схем безпеки.
-
Негайне відновлення можливостей У разі відмови системи (наприклад, аварійного збою в операційній системі або відключення електроенергії), SQL Server має механізм автоматичного відновлення, що відновлює базу даних до останнього стану узгодженості в лічені хвилини, без втручання адміністратора бази даних.
-
Обробка на сервері Використання сервера SQL Server в конфігурації клієнта або сервера зменшує мережний трафік, обробляючи запити бази даних на сервері, перш ніж надсилати результати клієнту. Якщо сервер робить обробку, як правило, ще ефективніше, особливо під час роботи з великими наборами даних.
Ваша програма також може використовувати користувацькі функції, збережену процедуру та тригери для централізаційного та спільного доступу до логіки програми, правил бізнесу та політик, комплексних запитів, перевірки даних і коду цілісності посилань на сервері, а не на клієнті.
Способи перенесення
Майстер перетворення переміщує об'єкти бази даних і дані, які вони містять в базі даних Access, до нової або наявної бази даних SQL Server.
Щоб використовувати Майстер перетворення, можна скористатися трьома способами.
-
Перенесення всіх об'єктів бази даних із бази даних Access до проекту Access, за допомогою якого можна створити програму клієнт-сервер. Цей підхід потребує додаткових змін у застосуванні та змін до коду та складних запитів.
-
Перенесення лише даних або визначень даних із бази даних Access до бази даних SQL Server.
-
Створіть інтерфейс бази даних Access, щоб створити резервну копію бази даних SQL Server, щоб можна було створювати програма типу "зовнішня/внутрішня". Цей підхід потребує дуже малої модифікації програм, оскільки код все ще використовує Обробник баз даних Access (ACE).
Перш ніж перенести базу даних Access
Перш ніж перенести базу даних Access до бази даних SQL Server або проекту Access, виконайте наведені нижче дії.
-
Резервне копіювання бази даних Хоча Майстер перетворення не видаляє дані або об'єкти бази даних із бази даних Access, радимо створити резервну копію бази даних Access, перш ніж перенести її.
-
Переконайтеся, що ви маєте достатній дисковий простір Для пристрою, який міститиме перетворену базу даних, потрібно мати достатній дисковий простір. Майстер перетворення найкраще підходить, коли доступні багато дискового простору.
-
Створення унікальних індексів Зв'язана таблиця має мати унікальний індекс, який можна оновити в Access. Майстер перетворення може перенести наявний унікальний індекс, але не може створити той, який не існує. Щоб мати змогу оновлювати таблиці, переконайтеся, що до кожної таблиці Access потрібно додати унікальний індекс, перш ніж виконувати перетворення.
-
Призначення відповідних дозволів у базі даних SQL Server
-
Щоб перенести до наявної бази даних, потрібно створити таблицю та створити дозволи за замовчуванням.
-
Щоб створити нову базу даних, потрібно створити дозвіл на доступ до БАЗИ даних і вибрати дозволи для системних таблиць у головній базі даних.
-
Майстер перетворення Access 2007 оптимізовано для роботи з Microsoft SQL Server 2000 і SQL Server 2005.
Використання майстра перетворення
-
На вкладці Знаряддя бази даних у групі переміщення даних натисніть кнопку SQL Server.
Запуститься майстер перетворення.
Крок 1. Виберіть перенесення до наявної бази даних або нової бази даних
На першій сторінці майстра можна вказати, чи потрібно перенести базу даних Access до наявної бази даних SQL Server або створити нову базу даних SQL Server.
-
Використовувати наявну базу даних Якщо вибрати цей параметр, а потім натисніть кнопку Далі, у програмі Access відобразиться діалогове вікно Вибір джерела даних , щоб можна було створити підключення ODBC до наявної бази даних SQL Server.
Відомості про джерела даних ODBC
Джерело даних – це джерело даних, поєднане з відомостями про підключення, потрібними для доступу до цих даних. Прикладами джерел даних є Access, SQL Server, Oracle СУБД, електронна таблиця та текстовий файл. Приклади відомостей про підключення включають розташування сервера, ім’я бази даних, ідентифікатор входу, пароль і різні параметри драйверів ODBC, які описують, як підключитися до джерела даних.
У архітектурі ODBC застосунок (наприклад, Access або програму Microsoft Visual Basic) підключається до диспетчера драйверів ODBC, який, у свою чергу, використовує певний драйвер ODBC (наприклад, драйвер Microsoft SQL ODBC), щоб підключитися до джерела даних (у цьому випадку база даних SQL Server). У програмі Access джерела даних ODBC використовуються для підключення до зовнішніх джерел даних, які не мають вбудованих драйверів.
Щоб підключитися до цих джерел даних, необхідно виконати такі дії:
-
Інсталюйте відповідний драйвер ODBC на комп’ютері, де міститься джерело даних.
-
Визначте ім’я джерела даних (DSN), використавши Адміністратор джерел даних ODBC, щоб зберігати відомості про підключення в реєстрі Microsoft Windows чи файлі DSN, або рядок підключення в коді Visual Basic, щоб передати відомості про підключення безпосередньо до диспетчера драйверів ODBC.
Джерела даних комп’ютера
Машинні відомості про підключення сховища джерел даних у реєстрі Windows на певному комп'ютері з іменем користувача. Джерела даних комп’ютера можна використовувати лише на тому комп’ютері, на якому їх визначено. Є два типи джерел даних комп’ютера: користувацькі та системні. Користувацькі джерела даних може використовувати лише поточний користувач, і вони видимі лише для цього користувача. Системні джерела даних можуть використовувати всі користувачі на комп’ютері, і вони видимі для всіх користувачів на комп’ютері та в системних службах. Джерело даних комп’ютера особливо корисне, коли потрібно посилити безпеку, оскільки його можуть переглядати лише користувачі, які ввійшли в систему, і віддалений користувач не зможе скопіювати це джерело даних на інший комп’ютер.
Файлові джерела даних
Файлові джерела даних (так звані файли DSN) зберігають відомості про підключення в текстовому файлі, а не в реєстрі Windows, і зазвичай гнучкіші у використанні ніж джерела даних комп’ютера. Наприклад, можна скопіювати джерело даних файлу до будь-якого комп'ютера з відповідним драйвером ODBC, щоб програма могла покладатися на послідовні та точні відомості про підключення до всіх комп'ютерів, які він використовує. Або можна розмістити файлове джерело даних на одному сервері, надати до нього спільний доступ на багатьох комп’ютерах у мережі та легко зберігати відомості про підключення в одному розташуванні.
Крім того, для файлового джерела даних можна заборонити спільний доступ. Джерело даних файлу для неспільного доступу міститься на одному комп'ютері та вказує на машинний джерело даних. Ви можете використовувати файлові джерела даних із забороненим спільним доступом, щоб отримати доступ до наявних джерел даних комп’ютера із файлових джерел даних.
Рядки підключення
У модулі можна визначити форматований рядок підключення, у якому вказано відомості про підключення. Рядок підключення передає відомості про підключення безпосередньо до диспетчера драйверів ODBC, а також спрощує роботу програми, видаливши вимогу, що системний адміністратор або користувач спочатку створить DSN, перш ніж використовувати базу даних.
-
-
Створення нової бази даних Якщо вибрати цей параметр, а потім натисніть кнопку Далі, у програмі Access відобразиться сторінка, на якій вводяться відомості про нову БАЗУ даних SQL Server.
-
Який SQL Server потрібно використовувати для цієї бази даних? Введіть ім'я сервера, який потрібно використовувати.
-
Використання надійного підключення Ви можете використовувати надійне підключення, тобто SQL Server можна інтегрувати з безпекою операційної системи Windows, щоб надати одному входу в мережу та базу даних.
-
ІДЕНТИФІКАТОР і пароль входу Якщо ви не використовуєте надійне підключення, введіть ІДЕНТИФІКАТОР входу та пароль облікового запису, щоб створити права БАЗИ даних на сервері.
-
Що потрібно зробити, щоб ім'я нової бази даних SQL Server? Введіть ім'я нової бази даних SQL Server. Програма Access переглядає ім'я, якщо він конфліктує з наявною назвою бази даних і додає нумерований суфікс (mydatabase 1, наприклад).
-
Крок 2: вибір таблиць для перенесення
На цьому кроці можна вибрати таблиці Access, які потрібно перенести до бази даних SQL Server. Виділіть таблиці, які потрібно перенести, а потім скористайтеся кнопками зі стрілками, щоб перенести їх до списку експортувати до SQL Server . Крім того, можна двічі клацнути таблицю, щоб пересунути її з одного списку до іншого.
Список доступних таблиць включає всі зв'язані таблиці, за ВИНЯТКОМ таблиць SQL Server, які вже є в базі даних SQL Server. Зв'язані таблиці, які вказують на базу даних SQL Server, вибрану для перетворення, автоматично відображаються в списку експорт до SQL Server , і його не можна видалити. Таблиці, які наразі не відображаються в Область переходів, також виключаються, зокрема приховані таблиці та системні таблиці.
Порада.: Будь-яка таблиця, яка містить ім'я, що закінчується в "_local", виключаються зі списку доступних таблиць, щоб заборонити перетворення таблиць, які вже перетворено. Якщо потрібно знову перетворити ці таблиці, перейменуйте їх, перш ніж запускати майстер перетворення, видаливши суфікс "_local".
Крок 3: визначення атрибутів і параметрів для перетворених
На цьому кроці можна вибрати атрибути таблиці, які потрібно перенести до бази даних SQL Server. За замовчуванням усі атрибути вибрано для перетворення за замовчуванням.
Примітка.: За замовчуванням Майстер перетворення перетворює імена полів Access на легальні імена полів SQL Server і перетворює типи даних Access на еквівалентні типи даних SQL Server.
Які атрибути таблиці потрібно перетворити?
У наведеній нижче таблиці перелічено атрибути, які можна перенести, і описано, як Майстер перетворення обробляє кожний один із таких елементів:
Атрибут |
Дія, якщо вибрано |
|||||||||||||||
Індекси |
Майстер перетворення перетворить усі індекси. Майстер перетворення перетворює первинні ключі Access на індекси SQL Server і позначає їх як первинні ключі SQL Server. Якщо вибрати посилання на перетворену таблицю SQL Server до бази даних Access, Майстер перетворення також додає префікс "aaaaa" до імені індексу. Це пояснюється тим, що програма Access вибирає індекс, який в алфавітному порядку у списку доступних індексів, як первинний ключ, і префікс "aaaaa" гарантує, що вибрано потрібний індекс. Усі інші індекси зберігають свої імена, за винятком випадків, коли неприпустимі символи замінюються на символ "_". Унікальні та неунікальні індекси Access перетворюються на унікальні та неунікальні індекси SQL Server. Зв'язана таблиця має мати унікальний індекс, який можна оновити в Access. Майстер перетворення може перенести наявний унікальний індекс, але не може створити той, який не існує. Щоб мати змогу оновлювати дані в таблицях після їх перетворення, переконайтеся, що до кожної таблиці Access потрібно додати унікальний індекс, перш ніж виконувати перетворення. |
|||||||||||||||
Правила перевірки |
Майстер перетворення перетворить такі тригери оновлення та вставлення:
Тригер – це послідовність операторів Transact-SQL, зв'язаних із таблицею SQL Server. У таблиці може бути три тригери, один для кожного з команд, які можуть змінювати дані в таблиці: команди оновлення, вставлення та видалення. Тригер автоматично виконується, коли команда виконується. Майстер перетворення використовує тригери, а не правила SQL Server, щоб застосувати перевірку рівня поля, оскільки правила SQL Server не дають змогу відображати користувацькі повідомлення про помилки. Кожне правило перевірки не обов'язково має відповідність "один-до-одного" з тригером. Кожне правило перевірки може стати частиною кількох тригерів, і кожний тригер може містити код для емуляції функцій кількох правил перевірки. Під час установлення потрібної властивості поля Access на True користувач не може вставити запис і вийти з обов'язкового поля Null (якщо в полі немає меж за замовчуванням) або зробити поле Null під час оновлення запису. Обов'язкові поля перетворено на поля, які не допускають Null-значення на сервері SQL Server. Текст перевірки Властивість " текст перевірки бази даних Access" перетворюється на властивість " текст перевірки проекту Access". Це дає змогу отримувати дружні повідомлення про помилки, які відображатимуться в разі порушення обмеження під час виконання. |
|||||||||||||||
За замовчуванням |
Майстер перетворення перетворить усі властивості значення за замовчуванням на об'єкти американського Національного інституту стандартів (ANSI) за замовчуванням. |
|||||||||||||||
Зв’язки таблиць |
Майстер перетворення перетворить усі зв'язки між таблицями. Ви можете вибрати спосіб перенесення зв'язків між таблицями та цілісності даних за допомогою тригерів оновлення, вставлення або видалення, а також за допомогою оголошеної цілісності даних (DRI). DRI працює так само, як цілісність посилальної цілісності даних за допомогою визначення обмежень первинного ключа для базових таблиць ("один" на боці зв'язку "один-до-багатьох") і обмежень зовнішнього ключа для зовнішніх таблиць (зазвичай це "багато" на зв'язку "один-до-багатьох").
|
Які функції даних слід включити?
-
Додавання полів часової позначки до таблиць SQL Server використовує поле часової позначки, щоб указати, що запис змінено (але не коли його змінено) за допомогою створення унікального поля значення, а потім оновлення цього поля, коли запис оновлюється. Для зв'язаної таблиці у програмі Access використовується значення полів часової позначки, щоб визначити, чи потрібно змінити запис, перш ніж оновлювати його. У загальному разі поле часової позначки надає найкращу продуктивність і надійність. Без поля часової позначки SQL Server має перевіряти всі поля в записі, щоб визначити, чи змінився запис, який уповільнює продуктивність.
У наведеній нижче таблиці описано параметри, доступні в цьому списку.
Параметр |
Опис |
Так, дозвольте майстру прийняти рішення |
Якщо вихідні таблиці Access містять поля з плаваючою комою (одно-або два), Memo або об’єкт OLE, Майстер перетворення створить нові поля часової позначки в результуючих таблицях SQL Server для цих полів. |
Так, завжди |
Майстер перетворення створює поле часової позначки для всіх перетворених таблиць незалежно від того, які типи полів вони містять. Це покращує продуктивність перетворених таблиць Access, які можуть не містити поля Memo, об'єкт OLE або поле з плаваючою комою, але які мають поля інших типів. |
Ні, ніколи не |
Майстер перетворення не додає поля часової позначки до таблиць. |
Увага!: У зв'язаних таблицях SQL Server програма Access не перевіряє, чи змінилися поля Memo або об'єкт OLE, оскільки ці поля можуть бути багато мегабайтів, а порівняння може бути занадто інтенсивним і трудомістким. Тому, якщо змінено лише текст або поле зображення, і немає поля позначки часу, програма Access перезаписує зміни. Крім того, значення поля з плаваючою комою, можливо, змінено, коли воно не відбулося, тому у разі відсутності поля часової позначки, Access може визначити, що запис змінено, якщо його немає.
-
Лише створювати структуру таблиці, не перенесення даних Майстер перетворення перетворить усі дані на сервер SQL за замовчуванням. Якщо вибрано прапорець створити структуру таблиці, не потрібно перенести дані , лише структуру даних буде перетворено.
Крок 4: Вибір способу перетворення програми
На наступній сторінці майстра можна вибрати один із трьох способів перенесення застосунку бази даних Access. У розділі які зміни програми потрібно виконати?виберіть один із наведених нижче параметрів.
-
Створення нового клієнта або серверного застосунку Access Якщо вибрати цей параметр, Майстер перетворення створить новий проект Access. Майстер перетворення запитує ім'я, яке відповідає поточній назві бази даних Access, додає суфікс "CS", а потім зберігає проект у тому самому розташуванні, що й наявна база даних Access.
Майстер перетворення створить файл проекту Access, а потім відповідний розмір усіх об'єктів бази даних із бази даних Access до проекту Access. Якщо не зберігати пароль і ІДЕНТИФІКАТОР користувача, під час першого відкриття проекту Access відобразиться діалогове вікно Властивості посилання даних , щоб підключитися до БАЗИ даних SQL Server.
-
Зв'язування таблиць SQL Server із наявною програмою Якщо вибрати цей параметр, Майстер перетворення змінить базу даних Access, щоб ваші запити, форми, звіти та сторінки доступу до даних використовують дані в новій базі даних SQL Server, а не даних у базі даних Access. Майстер перетворення перейменує таблиці Access, які потрібно перенести, за допомогою суфікса "_local". Наприклад, якщо перенести таблицю з іменем "працівники", таблиця перейменовується Employees_local в базі даних Access. Потім Майстер перетворення створить зв'язану таблицю SQL Server з ім'ям працівників.
Примітка.: Після завершення операції перетворення таблиці, перейменовані за допомогою суфікса "_local", більше не використовуватимуться. Однак радимо зберігати локальні таблиці, доки не буде перевірено, що перетворення пройшло успішно. На пізнішу дату можна видалити локальні таблиці, щоб зменшити розмір бази даних Access. Переконайтеся, що резервну копію бази даних буде видалено перед видаленням будь-яких таблиць.
Запити, форми, звіти та сторінки доступу до даних на основі вихідних таблиць працівників тепер використовують зв'язану таблицю працівників SQL Server. Багато властивостей полів у вихідній локальній таблиці успадковуються в новій локальній таблиці, зокрема, Опис, підпис, Формат, Маска вводута кількість знаків.
-
Немає змін у програмі Виберіть цей параметр, якщо потрібно скопіювати дані до бази даних SQL Server, а не вносити інші зміни до наявної програми бази даних Access.
Збереження пароля та ІДЕНТИФІКАТОРА користувача За замовчуванням Майстер перетворення створить зв'язані таблиці в існуючій програмі або створює проект Access без збереження імені користувача та пароля. Це означає, що користувачам буде запропоновано ввести ім'я користувача та пароль щоразу, коли вони входять до бази даних SQL Server.
Якщо вибрати параметр Зберегти пароль і ідентифікатор користувача, користувачі можуть підключатися до БАЗИ даних SQL Server без входу в систему. Якщо вибрати команду створити новий клієнт або серверну програму Access, у програмі Access зберігаються паролі імені користувача в рядку підключення до БАЗИ даних OLE.
Примітка.: Цей параметр вимкнуто для параметра " не змінювати програму ", якщо ЗВ'ЯЗАНА таблиця SQL Server настроєно за допомогою таблиці MSysConf , щоб відхилити збереження паролів.
Звіт майстра перетворення
Після натискання кнопки « завершити» Майстер перетворення створить звіт, який містить докладний опис усіх об'єктів, створених, і повідомляє про всі помилки, які виникли під час процесу. Майстер перетворення відображає звіт у попередньому перегляді друку, а потім можна надрукувати або зберегти звіт, наприклад у форматі XPS або PDF. Коли ви закриваєте вікно "попередній екран", звіт не зберігається як об'єкт Access.
Звіт майстра перетворення містить відомості про наведені нижче дії.
-
Параметри перетворення, зокрема атрибути таблиці, які ви вибрали для перенесення, і спосіб їх перетворення.
-
Відомості про таблицю, зокрема порівняння значень Access і SQL Server для імен, типів даних, індексів, правил перевірки, параметрів за замовчуванням, тригерів і того, чи додано мітки часу.
-
Виникають помилки, наприклад база даних або журнал транзакцій, повний, неадекватні дозволи, пристрій або база даних, не створені, таблиця, за замовчуванням або правило перевірки пропущено, зв'язок не виконано, запит пропущено (оскільки його не можна перетворити на синтаксис SQL Server), а також елемент керування та джерело записів помилки перетворення у формах і звітах.
Використання перетворених об'єктів бази даних
Перетворених нижче об'єктів даних і баз даних:
-
Дані та типи даних Усі типи даних бази даних Access перетворюються на еквівалентне значення в SQL Server. Майстер перетворює текст бази даних Access на Юнікод, додавши ідентифікатор рядка Юнікоду до всіх рядкових значень і додавши префікс Unicode n до всіх типів даних.
-
Запити
-
Виберіть запити, які не мають речення ORDER BY або параметрів, перетворюються на подання.
-
Запити на змінення процедур перетворюються на запити, що зберігаються в цій процедурі. Щоб переконатися, що Збережена процедура запускається, програма Access додає набір NOCOUNT після коду декларації параметра.
-
Виберіть запити, які містять лише таблиці посилань (які також називаються базовим запитами), які використовують параметри або замовлення за речення, перетворюються на користувацькі функції. Якщо потрібно, у запиті, що містить речення ORDER BY, додано речення TOP 100 ВІДСОТКА.
-
Параметризовані запити, які використовують іменовані параметри, зберігають ім'я оригінального тексту, що використовується в базі даних Access, і перетворюються на збереження процедур або вбудовані користувацькі функції.
Примітка.: Можливо, потрібно вручну перетворити запити, які не перетворювали, наприклад запити SQL-запитів, запити на визначення даних і перехресні запити. Крім того, можливо, потрібно вручну перенести вкладені запити, які було вкладено надто глибоко.
-
-
Форми, звіти та елементи керування SQL-оператори у надбудові RecordSourceта властивостіRowSource для форм, звітів або елементів керування зберігаються на місці та не перетворюються на збережені процедури або користувацькі функції.
-
Властивості запуску Майстер перетворення перетворить такі властивості запуску:
StartUpShowDBWindow
StartUpShowStatusBar AllowShortcutMenus AllowFullMenus AllowBuiltInToolbars AllowToolbarChanges AllowSpecialKeys UseAppIconForFrmRpt appicon apptitle StartUpForm StartUpMenuBar -
Модулі та макроси Майстер перетворення не вносить жодних змін у модулі або макроси. Можливо, знадобиться змінити програму, щоб скористатися всіма перевагами функцій SQL Server. Щоб отримати докладніші відомості, ознайомтеся зі статтею MSDN про оптимізацію програм Microsoft Office Access, зв'язаних із сервером SQL Server.