Мигриране на база данни на Access в SQL Server

Забележка: Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.

Имаме ограничения и база данни на Access е изключение. Например база данни на Access има максималния размер на 2 ГБ и не може да поддържа повече от 255 едновременни потребители. И така, когато е време за вашата база данни на Access да преминете към следващото ниво, можете да мигрирате към SQL Server. SQL Server (независимо дали локално или в Azure облака) поддържа по-голям обем от данни, по-едновременни потребители, и е по-голям капацитет от JET/ACE ядрото на базата данни. Това ръководство ви дава плавен Старт във вашето пътуване на SQL Server, помага за запазването на достъп до клиентската решения сте създали и hopefully мотивиране можете да използвате Access за решения за бъдещи бази данни. Съветника за мигриране е премахната от Access в Access 2013, така че сега можете да използвате Microsoft SQL Server миграция помощник (SSMA). За да се мигрира успешно, следвайте тези етапи.

Етапи на мигрирането на базата данни на SQL Server

Преди да започнете

Следващите раздели съдържат фон и друга информация, за да ви помогнат да започнете.

За разделяне на бази данни

Всички обекти на база данни на Access може да бъде или в база данни на един файл, или те могат да бъдат съхранени в две файлове на база данни: клиентската база данни и сървърна база данни. Това се нарича разделяне на базата данни и е предназначена да улесни споделянето в мрежова среда. Файла на сървърната база данни трябва да съдържа само таблиците и релациите. Клиентската файлът трябва да съдържа само всички други обекти, включително формуляри, отчети, заявки, макроси, VBA модули и свързани таблици към сървърна база данни. Когато мигрирате база данни на Access, тя е подобна на разделена база данни, в това действа като нова сървърна за данните, които вече се намира на сървър на SQL Server.

Като резултат все още можете да поддържате клиентската база данни на Access със свързани таблици към таблици на SQL Server. Ефективно можете да извличат предимствата на бързото разработване на приложения, която предоставя база данни на Access, както и мащабируемост на SQL Server.

Предимства на SQL Server

Все още имате нужда от някои убедителни за мигриране към SQL Server? Ето някои допълнителни предимства да помислите за:

  • По-едновременни потребители    SQL Server може да се справи много по-едновременни потребители от достъп и минимизира изисквания за памет, когато се добавят повече потребители.

  • Улеснен достъп    С SQL сървър, можете да архивирате динамично, или единични, или пълно, базата данни, докато то е използва. Следователно няма нужда да искате от потребителите да излизат от базата данни, за да архивирате данните.

  • Високи технически показатели и мащабируемост    Базата данни на SQL Server обикновено се извършва по-добре от база данни на Access, особено при големи размери на терабайт бази данни. Също така SQL Server обработва заявки по-бързо и ефективно чрез обработка на заявките паралелно, използвате няколко основни теми в рамките на един процес за обработка на потребителски заявки.

  • Подобрена защита    С помощта на надежден връзка, SQL Server се интегрира с Windows система за сигурност за осигуряване на един интегриран достъп до мрежа и базата данни, използващи най-доброто от двете системи за сигурност. Това го прави по-лесно да управляват сложни защита схеми. SQL Server е идеална за съхранение за секретна информация, като например номер на социална осигуровка, данни за кредитна карта, и адреси, които са поверителни.

  • Възможност за незабавно възстановяване    Ако операционна система се срива или захранването излиза, SQL Server може автоматично да възстановите база данни за съответствие състояние в рамките на минути и с база данни на администратор на пряка.

  • Използване на VPN    Достъп и виртуални частни мрежи (VPN) не се разбираме. Но с SQL сървър, отдалечен потребителите могат да използват все още използването на достъп до клиентската база данни на работен плот и SQL Server сървърна намира зад защитната стена на VPN.

Първи стъпки

Има няколко проблеми може да адресирате отпред, които могат да помогнат за опростяване на процеса на миграция, преди да изпълните SSMA:

  • Добавяне на таблица индекси и първични ключове    Уверете се, че всяка таблица на Access има индекс и първичен ключ. SQL Server изисква всички таблици, за да имат поне един индекс и изисква свързана таблица за първичен ключ, ако таблицата могат да бъдат актуализирани.

  • Проверка на зависимостите основен/външен ключ    Уверете се, че тези връзки се базират на полета с последователни данни типове и размери. SQL Server не поддържа Съединени колони с различни типове данни и размери във външен ключ ограничения.

  • Премахване на прикачен файл колона    SSMA не мигрирате таблиците, съдържащи колоната прикачен файл.

Преди да изпълните SSMA, изпълнете следните първи стъпки.

  1. Затворете базата данни на Access.

  2. Уверете се, че текущите потребители, свързани с базата данни също да затворите базата данни.

  3. Ако базата данни е в .mdb файлов формат, след това Премахване на защитата на ниво потребител.

  4. Архивиране на вашата база данни. За повече информация вижте защита на вашите данни чрез архивиране и възстановяване.

Съвет    Помислете за инсталиране на Microsoft SQL Server Express edition на вашия работен плот, който поддържа до 10 ГБ и е безплатно и по-лесен начин да преминават през и да проверите своята миграция.

Съвет    Ако е възможно Използвайте самостоятелна версия на Access. Ако можете да използвате само за Office 365, след което използвайте ядрото на базата данни на Access 2010 за мигриране на вашата база данни на Access, когато използвате SSMA. За повече информация вижте Microsoft Access Database Engine 2010 Redistributable.

Изпълнение на SSMA

Microsoft предоставя Microsoft SQL Server миграция помощник (SSMA), за да улесните миграция. SSMA главно мигрира таблици и заявки за избиране без параметри. Формуляри, отчети, макроси и VBA модули не се конвертират.

  1. За мигриране на база данни с помощта на SSMA, първия изтегляне и инсталиране на софтуер като щракнете двукратно върху изтегления файл на MSI. Не забравяйте да инсталирате подходящия 32 или 64-битова версия за вашия компютър.

  2. След като инсталирате SSMA, отворете го на вашия работен плот, предпочитания от компютъра с файла на база данни на Access.

    Можете също да го отворите на компютър, който има достъп до базата данни на Access от мрежата в споделена папка.

  3. Следвайте инструкциите за началото SSMA да предоставят основна информация, като например SQL Server местоположението, база данни на Access и обектите за мигриране, информацията за връзката, и дали искате да създадете свързани таблици.

  4. Ако мигрирате към SQL Server 2016 или по-нова версия и искате да актуализирате свързана таблица, добавите клеймо колона, като изберете Инструменти за преглед > Проект настройки > Общи. За повече информация вижте свързаната таблица на Access база данни на SQL Server връща #deleted.

  5. За да зададете точни данни от тип, изберете Инструменти за преглед > Проект настройки > Тип съпоставяне. Например ако само съхранявате английски текст, можете да използвате varchar , а не nvarchar типа на данните.

SQL Server метаданни Explorer ви показва обекти на база данни на Access и SQL Server обекти, което ви позволява да прегледате текущото съдържание на двете бази данни. Тези две връзки се записват във файла за мигрирането трябва да решите да прехвърлите допълнителни обекти в бъдеще.

Забележка    Процеса на миграция може да отнеме известно време, в зависимост от размера на обекти на бази данни и размера на данните, които трябва да бъдат прехвърлени.

Конвертиране на обекти

SSMA преобразува обекти за достъп до обекти и SQL Server, но не копира обектите веднага. SSMA предоставя списък на обектите по-долу за мигриране, така че да можете да решите дали искате да ги преместите в база данни на SQL Server:

  • Таблици и колони

  • Изберете заявки без параметри.

  • Първичен и външни ключове

  • Индекси и стойности по подразбиране

  • Проверка на ограниченията (позволяват нулева дължина на свойство на колона, колона правило за проверка, проверка на таблица)

Като най-добра практика, използвайте SSMA assessment отчет, който показва конвертирането, резултатите, включително грешки, предупреждения и информационни съобщения, време оценява за извършване на мигрирането, и отделни грешка корекция стъпки, преди да преместите обекти.

Конвертиране на обекти на бази данни отнема дефинициите на обект от Access метаданните, ги превръща в еквивалентната Transact-SQL (T-SQL) синтаксиси след това зарежда тази информация в проекта. След това можете да видите SQL Server или SQL Azure обектите и техните свойства, с помощта на SQL Server или SQL Azure метаданни Explorer.

За да конвертирате, зареждане и мигриране на обекти в SQL Server, следвайте това ръководство.

Съвет    Веднъж ви са успешно мигрирани вашата база данни на Access, записване на файла на проекта за последващо използване, така че да можете да мигрирате данните ви отново за тестване или окончателно миграция.

Свързване на таблици

Помислете за инсталиране на най-новата версия на SQL Server OLE DB и ODBC драйвери вместо да използвате местен драйвери на SQL Server, етикетчета с Windows. Не само са най-новите драйвери по-бързо, но те поддържат нови функции в SQL Azure, че предишния водач не. Можете да инсталирате драйверите на всеки компютър, който се използва конвертирана база данни. За повече информация вижте Microsoft OLE DB драйвер 18 за SQL Server и Microsoft ODBC драйвер 17 за SQL Server.

След мигрирането на таблиците от Access, можете да свържете към таблиците в SQL Server, който вече е домакин на вашите данни. Свързване директно от Access и ви предоставя по-прост начин за преглед на вашите данни, вместо да използвате по-сложни инструменти за управление на SQL Server.  Можете да заявка и редактиране на свързани данни в зависимост от разрешения за настройване на от вашия администратор на база данни на SQL Server.

Забележка    Ако създавате ODBC DSN, когато свързвате към вашата база данни на SQL Server по време на процеса на свързване, създайте една и съща DSN на всички машини, които използват новото приложение.

За повече информация вижте връзка към или импортиране на данни от база данни за сървъра на SQL Azure и Импортиране или свързване към данни в база данни на SQL Server.

Съвет Не забравяйте да използвате диспечера на свързани таблици в Access да удобно обновяване и повторно свързване на таблици. За повече информация вижте управление на свързани таблици.

Тест и проверка

Следващите раздели описват често срещаните проблеми, може да срещнете по време на мигриране и как да се справите с тях.

Заявки

Само изберете заявки се конвертират; други заявки не са, включително изберете заявки, които се параметри. Някои заявки не може да преобразувате напълно и SSMA отчет за грешки на заявката по време на процеса на конвертиране. Можете ръчно да редактирате обекти, които не преобразуване с помощта на T-SQL синтаксис. Синтактични грешки може да изисква ръчно конвертиране достъп специфични функции и типове данни на SQL Server от тях. Общи SQL синтаксис разлики включват:

  • Access използва Знакът звездичка (*) като заместващ символ, докато T-SQL използва процент (%).

  • Access използва кавички около имена на таблици и обекти. T-SQL да ги използвате за имена на таблици с интервали, но това не е стандартна практика за наименуване. В повечето случаи трябва да бъдат преименувани имена на обекти без интервали, но заявките също трябва да бъде напишат отново да отразяват новите имена на таблици. Използвайте скоби [] за таблици, които не могат да бъдат преименувани, но които не съответстват на стандартите за наименуване.

  • Access добавя допълнителни скоби около параметри в заявки, които могат да бъдат премахнати.

  • SQL Server обработва стойностите NULL и съединяване на низове по различен начин. Тествайте заявки, за да се гарантира, че правилното стойностите се връщат.

  • За условно отчети Access използва IIF докато T-SQL често използва случай, въпреки че SQL Server 2012 и по-късно поддържа IIF.

  • Няколко функции и типове данни се използват по различен начин в Access и T-SQL. SSMA трябва да конвертирате тези за вас, но може да се наложи да направите по-нататъшно ръчно промени.

Типове данни

Достъп и SQL Server имат сходни типове данни, но имайте предвид следните потенциални проблеми.

Голям брой типа на данните    Голям брой типа на данните съхранява-паричен, числова стойност и е съвместима с типа SQL bigint данни. Можете да използвате този тип данни за ефективно изчисляване на големи числа, но той изисква използване на Access 16 (16.0.7812 или по-нова версия) .accdb файлов формат на базата данни и изпълнява по-добре с 64-битова версия на Access. За повече информация вижте използване на голям брой типа данни и Изберете между 64-битова или 32-битова версия на Office.

Прикачен файл   Тип на този прикачен файл се съхранява в база данни на Access. В SQL Server имате няколко опции, за да имате предвид. Можете да извлечете файлове от базата данни на Access и след това помислете за съхраняване на връзки към файлове във вашата база данни на SQL Server. Като алтернатива можете да използвате FILESTREAM или FileTables да запазите прикачени файлове, съхранени в базата данни на SQL Server.

Хипервръзка    Достъп до таблиците имат хипервръзка колони, които не поддържа SQL Server. По подразбиране тези колони ще бъдат конвертирани в nvarchar(max) колони в SQL Server, но можете да персонализирате съпоставяне, за да изберете по-малък тип данни. Във вашето решение на Access все още можете да използвате хипервръзка поведението във формуляри и отчети, ако зададете свойството хипервръзка за контролата на "истина".

Многозначно поле    Access Многозначното поле се конвертира в SQL Server като ntext поле, което съдържа с разделители набор от стойности. Тъй като SQL Server не поддържа тип многозначно данни, който наподобява много към много релация, може да са необходими допълнителни проектиране и работа преобразуване на.

За повече информация за съпоставяне на типове данни на Access и SQL Server вижте сравнение на типове данни.

Забележка    Многозначни полета не се конвертират и са прекратени в Access 2010.

Visual Basic

Въпреки че VBA не се поддържа от SQL Server, имайте предвид следните възможни проблеми:

Функции на VBA в заявки    Заявки на Access поддържа функции на VBA данните в колона на заявка. Но заявки на Access, които използват функции на VBA не може да бъде изпълнена в SQL сървър, така че всички исканите данни се подават на Microsoft Access за обработка. В повечето случаи тези заявки трябва да бъдат конвертирани в отдалечен заявки ( транзитна заявки, съхранени процедури или изгледи), които се изпълняват в SQL Server за оптимална ефективност.

Дефинирани от потребителя функции в заявки    Заявки на Microsoft Access поддържа използване на функции, дефинирани във VBA модули за обработка на данни, подадени към тях. Заявките може да бъде самостоятелен заявки, SQL отчети в източници на записи за формуляр/отчет, източници на данни на Разгъващите се списъци и списъчни полета във формуляри, отчети и полета на таблица и по подразбиране или валидиращо правило за израза. SQL Server не може да се изпълняват тези дефинирани от потребителя функции. Може да се наложи ръчно да проектирате отново тези функции и да ги конвертирате в съхранени процедури на SQL Server.

Оптимизиране на производителността

До момента най-важните начин да оптимизирате производителността с вашия нов, сървърната SQL сървър е да решите кога да използвате локална или отдалечена заявки. Когато мигрирате вашите данни на SQL Server, можете също така се движат от на файлов сървър модел на клиент-сървър за база данни на компютри. Следвайте тези общи указания:

  • Изпълнение на заявки за малък "," само за четене на клиента за бърз достъп.

  • Изпълнение на дълга, четене/запис заявки на сървъра, за да се възползвате от по-голяма степен обработка.

  • Намаляване на мрежовия трафик с филтри и агрегиране да прехвърлите само данните, които трябва.

Оптимизиране на работата в модела на база данни на сървър на клиента

Вашето приложение също да използвате дефинирани от потребителя функции, съхранени процедури и превключватели за централизиране и споделяне на приложение на логика, бизнес правила и правила, сложни заявки, проверка на данни и код на целостта на връзките на сървъра, а не на клиент.

Избягвайте да изпълнявате заявка, която обединява локална таблица на Access и таблица на SQL Server, наричани често хибридни заявка. Този тип заявка се нуждае от достъп, за да изтеглите всички данни на SQL Server в локалния компютър и след това изпълнете заявката, тя не се изпълнява заявка в SQL Server.

Не се отварят формуляр набор записи въз основа на големи таблица и да изключите математически.

И накрая Тествайте всяка заявка, за да се гарантира оптимална ефективност.

За повече информация вижте Съветник за настройка на база данни на машина, Използвайте Performance Analyzer да оптимизирате база данни на Accessи Оптимизиране на Microsoft Office Access приложения свързани към SQL Server.

Вж. също

Справочник за преминаване към база данни на Azure

Блог за мигриране на данни на Microsoft

Microsoft Access SQL Server миграция, конвертиране и мигриране

Начини за споделяне на настолна база данни

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×