Microsoft база данных: Создание базы данных — Служба поддержки Майкрософт

Базы данных — SQL Server





Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья

  • Чтение занимает 2 мин

Применимо к: SQL Server (все поддерживаемые версии) Azure SQL базы данных Управляемый экземпляр SQL Azure

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

На компьютере может быть установлен один или несколько экземпляров SQL Server. Каждый экземпляр SQL Server может содержать одну или несколько баз данных. В базе данных может содержаться одна или несколько групп объектов владения, которые называются схемами. В каждой схеме присутствуют объекты базы данных, такие как таблицы, представления и хранимые процедуры. Некоторые объекты, например сертификаты и асимметричные ключи, могут содержаться в базе данных, но при этом не находиться внутри схемы. Дополнительные сведения о создании таблиц см. в разделе Tables.

SQL Server базы данных хранятся в файловой системе. Файлы могут быть объединены в группы файлов. Дополнительные сведения о файлах и файловых группах см. в разделе Database Files and Filegroups.

Когда пользователи получают доступ к экземпляру SQL Server они идентифицируются как имя входа. При получении доступа к базе данных пользователи идентифицируются как пользователи базы данных. Имя пользователя базы данных может быть основано на имени входа. Если автономные базы данных включены, то пользователь базы данных может быть создан не на основе имени входа. Дополнительные сведения о пользователях см. в разделе CREATE USER (Transact-SQL).

Пользователь, имеющий доступ к базе данных, может получить разрешения на доступ к объектам этой базы данных. Хотя разрешения и могут быть предоставлены отдельным пользователям, рекомендуется создавать роли базы данных, добавляя при этом пользователей базы данных к соответствующим ролям, а затем предоставлять разрешения ролям. Предоставление разрешений ролям, а не пользователям позволяет легко и понятно управлять процессом распределения разрешений, несмотря на постоянное изменение и рост числа пользователей. Дополнительные сведения о разрешениях ролей см. в разделе CREATE ROLE (Transact-SQL) и субъекты (ядро СУБД).

Работа с базами данных

Большинство пользователей, работающих с базами данных, используют средство SQL Server Management Studio. Средство Management Studio имеет графический пользовательский интерфейс для создания баз данных и объектов в базах данных. В Среде Management Studio также есть редактор запросов для взаимодействия с базами данных путем написания инструкций Transact-SQL. Management Studio можно установить с диска установки SQL Server или скачать с сайта MSDN. Дополнительные сведения о средстве SQL Server Management Studio см. в разделе SQL Server Management Studio (SSMS).

в этом разделе

Системные базы данных
Автономные базы данных
Файлы данных SQL Server в Microsoft Azure
Файлы и файловые группы базы данных
Состояния базы данных
Состояния файлов
Оценка размера базы данных
Копирование баз данных на другие серверы
Присоединение и отсоединение базы данных (SQL Server)
Добавление файлов данных или журналов в базу данных
Изменение настроек конфигурации базы данных
Создание базы данных
Удаление базы данных

Удаление файлов данных или журналов из базы данных
Отображение сведений о месте на диске, занимаемом данными и журналами базы данных
Увеличение размера базы данных
Переименование базы данных
Установка однопользовательского режима базы данных
Сжатие базы данных
Сжатие файла
Просмотр или изменение свойств базы данных
Просмотр списка баз данных в экземпляре SQL Server
Просмотр или изменение уровня совместимости базы данных
Использование мастера планов обслуживания
Создание псевдонима для пользовательского типа данных
Моментальные снимки базы данных (SQL Server)

См.

также

Индексы

Представления

Хранимые процедуры (компонент Database Engine)






Создание базы данных Microsoft SQL Server и подключение к ней с помощью Amazon RDS

Центр разработчика / Начало работы / Практическое пособие / …

с помощью Amazon RDS

Введение

Из этого учебного пособия вы узнаете, как создавать инстансы базы данных Microsoft SQL Server (они называются инстансы), подключаться к БД и удалять инстансы БД. Эти операции будут выполнены с помощью сервиса Amazon Relational Database Service (Amazon RDS). Все действия, описанные в данном учебном пособии, доступны на уровне бесплатного пользования.

 

Реализация

Была ли полезной информация, представленная в этом учебном пособии?

Да

Нет

 Обратная связь

Спасибо!

Укажите, что вам понравилось.

 Обратная связь

Приносим извинения за причиненные неудобства

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

 Обратная связь

Вход в Консоль

Подробнее об AWS

  • Что такое AWS?
  • Что такое облачные вычисления?
  • Многообразие, равенство и инклюзивность AWS
  • Что такое DevOps?
  • Что такое контейнер?
  • Что такое озеро данных?
  • Безопасность облака AWS
  • Новые возможности
  • Блоги
  • Пресс‑релизы

Ресурсы для работы с AWS

  • Начало работы
  • Обучение и сертификация
  • Портфолио решений AWS
  • Центр архитектурных решений
  • Вопросы и ответы по продуктам и техническим темам
  • Аналитические отчеты
  • Партнеры AWS

Разработчики на AWS

  • Центр разработчика
  • Пакеты SDK и инструментарий
  • . NET на AWS
  • Python на AWS
  • Java на AWS
  • PHP на AWS
  • JavaScript на AWS

Поддержка

  • Свяжитесь с нами
  • Обратиться в службу поддержки
  • Центр знаний
  • AWS re:Post
  • Обзор AWS Support
  • Юридическая информация
  • Работа в AWS

Amazon.com – работодатель равных возможностей. Мы предоставляем равные права
представителям меньшинств, женщинам, лицам с ограниченными возможностями, ветеранам боевых действий и представителям любых гендерных групп любой сексуальной ориентации независимо от их возраста.

Поддержка AWS для Internet Explorer заканчивается 07/31/2022. Поддерживаемые браузеры: Chrome, Firefox, Edge и Safari.
Подробнее »

Основы работы с базами данных — Служба поддержки Майкрософт

В этой статье представлен краткий обзор баз данных — что они собой представляют, почему вы можете захотеть их использовать и что делают различные части базы данных. Терминология предназначена для баз данных Microsoft Access, но концепции применимы ко всем продуктам баз данных.

В этой статье

  • Что такое база данных?

  • Части базы данных Access

Что такое база данных?

База данных — это инструмент для сбора и систематизации информации. Базы данных могут хранить информацию о людях, продуктах, заказах или чем-то еще. Многие базы данных начинаются со списка в текстовой программе или электронной таблице. По мере роста списка в данных начинают появляться избыточности и несоответствия. Данные становятся трудными для понимания в форме списка, и существуют ограниченные способы поиска или извлечения подмножеств данных для просмотра. Как только эти проблемы начинают появляться, рекомендуется перенести данные в базу данных, созданную системой управления базами данных (СУБД), такой как Access.

Компьютеризированная база данных представляет собой контейнер объектов. Одна база данных может содержать более одной таблицы. Например, система отслеживания запасов, использующая три таблицы, — это не три базы данных, а одна база данных, содержащая три таблицы. Если база данных Access не предназначена специально для использования данных или кода из другого источника, она хранит свои таблицы в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули. Базы данных, созданные в формате Access 2007 (который также используется в Access, 2016, Access 2013 и Access 2010), имеют расширение файла .accdb, а базы данных, созданные в более ранних форматах Access, имеют расширение файла .mdb. Вы можете использовать Access 2016, Access 2013, Access 2010 или Access 2007 для создания файлов в более ранних форматах файлов (например, Access 2000 и Access 2002–2003).

Используя Access, вы можете:

  • org/ListItem»>

    Добавить новые данные в базу данных, например новый элемент в инвентаре

  • Редактировать существующие данные в базе данных, например, изменить текущее местоположение элемента

  • Удалить информацию, возможно, если предмет продан или выброшен

  • Организация и просмотр данных различными способами

  • Делитесь данными с другими через отчеты, сообщения электронной почты, интрасеть или Интернет

Части базы данных Access

В следующих разделах приведены краткие описания частей типичной базы данных Access.

  • Столы

  • Формы

  • Отчеты

  • Запросы

  • Макросы

  • Модули

Столы

Таблица базы данных внешне похожа на электронную таблицу, в которой данные хранятся в строках и столбцах. В результате обычно довольно легко импортировать электронную таблицу в таблицу базы данных. Основное различие между хранением ваших данных в электронной таблице и их хранением в базе данных заключается в том, как эти данные организованы.

Чтобы получить максимальную гибкость от базы данных, данные должны быть организованы в таблицы, чтобы не возникало избыточности. Например, если вы храните информацию о сотрудниках, каждый сотрудник должен быть введен только один раз в таблицу, настроенную только для хранения данных о сотрудниках. Данные о продуктах будут храниться в своей таблице, а данные о филиалах — в другой таблице. Этот процесс называется нормализацией .

Каждая строка в таблице называется записью. Записи — это место, где хранятся отдельные фрагменты информации. Каждая запись состоит из одного или нескольких полей. Поля соответствуют столбцам в таблице. Например, у вас может быть таблица с именем «Сотрудники», где каждая запись (строка) содержит информацию о другом сотруднике, а каждое поле (столбец) содержит информацию другого типа, например имя, фамилию, адрес и т. д. на. Поля должны быть обозначены как определенный тип данных, будь то текст, дата или время, число или какой-либо другой тип.

Другой способ описания записей и полей — это визуализация библиотечного каталога карточек в старом стиле. Каждая карта в шкафу соответствует записи в базе данных. Каждая часть информации на отдельной карточке (автор, название и т. д.) соответствует полю в базе данных.

Дополнительные сведения о таблицах см. в статье Знакомство с таблицами.

Формы

Формы позволяют создавать пользовательский интерфейс, в котором вы можете вводить и редактировать свои данные. Формы часто содержат командные кнопки и другие элементы управления, выполняющие различные задачи. Вы можете создать базу данных без использования форм, просто отредактировав свои данные в таблицах данных. Однако большинство пользователей баз данных предпочитают использовать формы для просмотра, ввода и редактирования данных в таблицах.

Вы можете запрограммировать командные кнопки, чтобы определять, какие данные будут отображаться в форме, открывать другие формы или отчеты или выполнять множество других задач. Например, у вас может быть форма под названием «Форма клиента», в которой вы работаете с данными клиентов. Форма клиента может иметь кнопку, которая открывает форму заказа, где вы можете ввести новый заказ для этого клиента.

Формы также позволяют вам контролировать, как другие пользователи взаимодействуют с данными в базе данных. Например, вы можете создать форму, которая показывает только определенные поля и позволяет выполнять только определенные операции. Это помогает защитить данные и обеспечить правильный ввод данных.

Дополнительные сведения о формах см. в статье Знакомство с формами.

Отчеты

Отчеты — это то, что вы используете для форматирования, обобщения и представления данных. Отчет обычно отвечает на конкретный вопрос, например: «Сколько денег мы получили от каждого клиента в этом году?» или «В каких городах находятся наши клиенты?» Каждый отчет может быть отформатирован для представления информации в наиболее удобочитаемом виде.

Отчет можно запустить в любое время, и он всегда будет отражать текущие данные в базе данных. Отчеты обычно форматируются для распечатки, но их также можно просматривать на экране, экспортировать в другую программу или отправлять в виде вложения в сообщение электронной почты.

Дополнительные сведения об отчетах см. в статье Общие сведения об отчетах в Access.

Запросы

Запросы могут выполнять множество различных функций в базе данных. Их наиболее распространенная функция — извлечение определенных данных из таблиц. Данные, которые вы хотите просмотреть, обычно распределены по нескольким таблицам, а запросы позволяют просматривать их в одной таблице данных. Кроме того, поскольку вы обычно не хотите видеть все записи сразу, запросы позволяют добавлять критерии для «фильтрации» данных до тех записей, которые вам нужны.

Некоторые запросы являются «обновляемыми», что означает, что вы можете редактировать данные в базовых таблицах через таблицу данных запроса. Если вы работаете с обновляемым запросом, помните, что ваши изменения на самом деле вносятся в таблицы, а не только в таблицу данных запроса.

Запросы бывают двух основных разновидностей: запросы выбора и запросы действий. Запрос на выборку просто извлекает данные и делает их доступными для использования. Результаты запроса можно просмотреть на экране, распечатать или скопировать в буфер обмена. Или вы можете использовать выходные данные запроса в качестве источника записи для формы или отчета.

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

Дополнительные сведения о запросах см. в статье Введение в запросы.

Макросы

Макросы в Access можно рассматривать как упрощенный язык программирования, который можно использовать для добавления функциональности в базу данных. Например, вы можете прикрепить макрос к командной кнопке в форме, чтобы макрос запускался при каждом нажатии кнопки. Макросы содержат действия, которые выполняют задачи, такие как открытие отчета, выполнение запроса или закрытие базы данных. Большинство операций с базами данных, которые вы выполняете вручную, можно автоматизировать с помощью макросов, поэтому они могут значительно сэкономить время.

Дополнительные сведения о макросах см. в статье Введение в программирование Access.

Модули

Модули, как и макросы, — это объекты, которые вы можете использовать для расширения функциональности вашей базы данных. В то время как вы создаете макросы в Access, выбирая макросы из списка, вы пишете модули на языке программирования Visual Basic для приложений (VBA). Модуль — это набор объявлений, инструкций и процедур, которые хранятся вместе как единое целое. Модуль может быть либо модулем класса, либо стандартным модулем. Модули класса присоединяются к формам или отчетам и обычно содержат процедуры, характерные для форм или отчетов, к которым они присоединены. Стандартные модули содержат общие процедуры, не связанные ни с каким другим объектом. Стандартные модули перечислены под Модули в области навигации, а модули классов — нет.

Дополнительные сведения о модулях см. в статье Введение в программирование Access.

Верх страницы

Перенос базы данных Access на SQL Server

У всех нас есть ограничения, и база данных Access не является исключением. Например, размер базы данных Access ограничен 2 ГБ и не может поддерживать более 255 одновременных пользователей. Поэтому, когда придет время для вашей базы данных Access перейти на следующий уровень, вы можете перейти на SQL Server. SQL Server (будь то локально или в облаке Azure) поддерживает большие объемы данных, больше одновременных пользователей и обладает большей емкостью, чем ядро ​​базы данных JET/ACE. Это руководство обеспечит плавное начало вашего пути к SQL Server, поможет сохранить созданные вами интерфейсные решения Access и, надеюсь, побудит вас использовать Access для будущих решений для баз данных. Мастер увеличения был удален из Access в Access 2013, поэтому теперь вы можете использовать Помощник по миграции Microsoft SQL Server (SSMA). Для успешной миграции выполните следующие действия.

Прежде чем начать

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

О разделенных базах данных

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

В результате вы по-прежнему можете поддерживать интерфейсную базу данных Access со связанными таблицами с таблицами SQL Server. По сути, вы можете воспользоваться преимуществами быстрой разработки приложений, предоставляемой базой данных Access, наряду с масштабируемостью SQL Server.

Преимущества SQL Server

Все еще нужно убедить перейти на SQL Server? Вот некоторые дополнительные преимущества, о которых стоит подумать:

  • Больше одновременных пользователей     SQL Server может обрабатывать гораздо больше одновременных пользователей, чем Access, и сводит к минимуму требования к памяти при добавлении большего количества пользователей.

  • Повышенная доступность     SQL Server позволяет выполнять динамическое резервное копирование (добавочное или полное) базы данных во время ее использования. Следовательно, вам не нужно заставлять пользователей выходить из базы данных для резервного копирования данных.

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

  • Повышенная безопасность     Используя доверенное соединение, SQL Server интегрируется с системной безопасностью Windows, чтобы обеспечить единый интегрированный доступ к сети и базе данных, используя лучшее из обеих систем безопасности. Это значительно упрощает администрирование сложных схем безопасности. SQL Server — идеальное хранилище для конфиденциальной информации, такой как номера социального страхования, данные кредитных карт и адреса, которые являются конфиденциальными.

  • Немедленное восстановление     В случае сбоя операционной системы или отключения питания SQL Server может автоматически восстановить базу данных до согласованного состояния за считанные минуты и без вмешательства администратора базы данных.

  • Использование VPN     Доступ и виртуальные частные сети (VPN) несовместимы. Но с SQL Server удаленные пользователи могут по-прежнему использовать интерфейсную базу данных Access на рабочем столе и серверную часть SQL Server, расположенную за брандмауэром VPN.

  • Azure SQL Server     В дополнение к преимуществам SQL Server предлагает динамическую масштабируемость без простоев, интеллектуальную оптимизацию, глобальную масштабируемость и доступность, устранение затрат на оборудование и упрощение администрирования.

Выберите лучший вариант Azure SQL Server

При переходе на Azure SQL Server можно выбрать один из трех вариантов, каждый со своими преимуществами:

  • org/ListItem»>

    Отдельная база данных/эластичные пулы     Этот вариант имеет собственный набор ресурсов, управляемых через сервер базы данных SQL. Отдельная база данных похожа на автономную базу данных в SQL Server. Вы также можете добавить эластичный пул, который представляет собой набор баз данных с общим набором ресурсов, управляемых через сервер базы данных SQL. Доступны наиболее часто используемые функции SQL Server со встроенными функциями резервного копирования, исправления и восстановления. Но нет гарантированного точного времени обслуживания, и миграция с SQL Server может быть сложной.

  • Управляемый экземпляр     Этот вариант представляет собой набор системных и пользовательских баз данных с общим набором ресурсов. Управляемый экземпляр подобен экземпляру базы данных SQL Server, который хорошо совместим с локальным SQL Server. Управляемый экземпляр имеет встроенные средства резервного копирования, исправления, восстановления и легко мигрирует с SQL Server. Однако есть небольшое количество функций SQL Server, которые недоступны, и точное время обслуживания не гарантируется.

  • Виртуальная машина Azure     Этот параметр позволяет запускать SQL Server внутри виртуальной машины в облаке Azure. У вас есть полный контроль над ядром SQL Server и простой путь миграции. Но вам нужно управлять своими резервными копиями, исправлениями и восстановлением.

Дополнительные сведения см. в разделах Выбор пути миграции базы данных в Azure и Выбор правильного варианта SQL Server в Azure.

Первые шаги

Есть несколько проблем, которые вы можете решить заранее, чтобы упростить процесс миграции перед запуском SSMA:

  • org/ListItem»>

    Добавьте индексы таблиц и первичные ключи     Убедитесь, что каждая таблица Access имеет индекс и первичный ключ. SQL Server требует, чтобы все таблицы имели хотя бы один индекс, а связанная таблица должна иметь первичный ключ, если таблицу можно обновить.

  • Проверьте отношения между первичным и внешним ключом     Убедитесь, что эти отношения основаны на полях с согласованными типами и размерами данных. SQL Server не поддерживает объединенные столбцы с разными типами данных и размерами в ограничениях внешнего ключа.

  • Удалить столбец вложения     SSMA не переносит таблицы, содержащие столбец «Вложение».

Перед запуском SSMA выполните следующие первые шаги.

  1. Закройте базу данных Access.

  2. Убедитесь, что текущие пользователи, подключенные к базе данных, также закрывают базу данных.

  3. Если база данных имеет формат файла .mdb, удалите защиту на уровне пользователя.

  4. Сделайте резервную копию вашей базы данных. Дополнительные сведения см. в статье Защита данных с помощью процессов резервного копирования и восстановления.

Совет     Рассмотрите возможность установки на настольный компьютер версии Microsoft SQL Server Express, которая поддерживает до 10 ГБ и представляет собой бесплатный и простой способ запустить и проверить миграцию. При подключении используйте LocalDB в качестве экземпляра базы данных.

Совет     Если возможно, используйте автономную версию Access. Если вы можете использовать только Microsoft 365, используйте ядро ​​базы данных Access 2010 для переноса базы данных Access при использовании SSMA. Дополнительные сведения см. в разделе Распространяемый компонент Microsoft Access Database Engine 2010.

Запустить SSMA

Корпорация Майкрософт предоставляет Microsoft SQL Server Migration Assistant (SSMA), чтобы упростить миграцию. SSMA в основном переносит таблицы и выбирает запросы без параметров. Формы, отчеты, макросы и модули VBA не конвертируются. В обозревателе метаданных SQL Server отображаются объекты базы данных Access и объекты SQL Server, что позволяет просматривать текущее содержимое обеих баз данных. Эти два соединения сохраняются в вашем файле миграции, если вы решите перенести дополнительные объекты в будущем.

Примечание     Процесс переноса может занять некоторое время в зависимости от размера объектов вашей базы данных и объема данных, которые необходимо перенести.

  1. Чтобы перенести базу данных с помощью SSMA, сначала загрузите и установите программное обеспечение, дважды щелкнув загруженный файл MSI. Убедитесь, что вы установили соответствующую 32- или 64-разрядную версию для вашего компьютера.

  2. После установки SSMA откройте его на рабочем столе, желательно с компьютера с файлом базы данных Access.

    Вы также можете открыть его на машине, которая имеет доступ к базе данных Access из сети в общей папке.

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

  4. Если вы переходите на SQL Server 2016 или более позднюю версию и хотите обновить связанную таблицу, добавьте столбец rowversion, выбрав Средства проверки > Настройки проекта > Общие .

    Поле rowversion помогает избежать конфликтов записей. Access использует это поле rowversion в связанной таблице SQL Server, чтобы определить, когда запись была обновлена ​​в последний раз. Кроме того, если добавить в запрос поле rowversion, Access использует его для повторного выбора строки после операции обновления. Это повышает эффективность, помогая избежать ошибок конфликта записи и сценариев удаления записи, которые могут произойти, когда Access обнаружит результаты, отличные от исходной отправки, например, может произойти с типами данных с числами с плавающей запятой и триггерами, которые изменяют столбцы. Однако избегайте использования поля rowversion в формах, отчетах или коде VBA. Дополнительные сведения см. в разделе rowversion.

    Примечание     Не путайте версию строки с отметками времени. Хотя отметка времени ключевого слова является синонимом для версии строки в SQL Server, вы не можете использовать версию строки как способ поставить отметку времени записи данных.

  5. Чтобы задать точные типы данных, выберите Инструменты просмотра > Настройки проекта > Сопоставление типов . Например, если вы храните только английский текст, вы можете использовать varchar вместо nvarchar тип данных.

Преобразование объектов

SSMA преобразует объекты Access в объекты SQL Server, но не копирует объекты сразу. SSMA предоставляет список следующих объектов для миграции, чтобы вы могли решить, хотите ли вы переместить их в базу данных SQL Server:

  • Таблицы и столбцы

  • Выберите Запросы без параметров.

  • Первичный и внешний ключи

  • org/ListItem»>

    Индексы и значения по умолчанию

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

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

Преобразование объектов базы данных берет определения объектов из метаданных Access, преобразует их в эквивалентный синтаксис Transact-SQL (T-SQL), а затем загружает эту информацию в проект. Затем вы можете просматривать объекты SQL Server или SQL Azure и их свойства с помощью SQL Server или обозревателя метаданных SQL Azure.

Чтобы преобразовать, загрузить и перенести объекты в SQL Server, следуйте этому руководству.

Совет     После успешного переноса базы данных Access сохраните файл проекта для последующего использования, чтобы можно было снова перенести данные для тестирования или окончательного переноса.

Таблицы ссылок

Рассмотрите возможность установки последней версии драйверов OLE DB и ODBC для SQL Server вместо использования собственных драйверов SQL Server, поставляемых с Windows. Новые драйверы не только быстрее, но и поддерживают новые функции Azure SQL, которых нет в предыдущих драйверах. Вы можете установить драйверы на каждый компьютер, где используется преобразованная база данных. Дополнительные сведения см. в разделах Драйвер Microsoft OLE DB 18 для SQL Server и Драйвер Microsoft ODBC 17 для SQL Server.

После переноса таблиц Access вы можете связать их с таблицами в SQL Server, где теперь хранятся ваши данные. Связывание напрямую из Access также предоставляет более простой способ просмотра данных, чем использование более сложных инструментов управления SQL Server. Вы можете запрашивать и редактировать связанные данные в зависимости от разрешений, установленных вашим администратором базы данных SQL Server.

Примечание     Если вы создаете DSN ODBC при связывании с базой данных SQL Server в процессе связывания, либо создайте один и тот же DSN на всех компьютерах, использующих новое приложение, либо программно используйте строку подключения, хранящуюся в файле DSN.

Дополнительные сведения см. в разделах Связывание или импорт данных из базы данных SQL Server Azure и Импорт или связывание с данными в базе данных SQL Server.

Совет    Не забудьте использовать Диспетчер связанных таблиц в Access для удобного обновления и повторного связывания таблиц. Дополнительные сведения см. в разделе Управление связанными таблицами.

Проверить и пересмотреть

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

Запросы

Преобразовываются только избранные запросы; другие запросы, в том числе выборочные запросы, которые принимают параметры, не поддерживаются. Некоторые запросы могут быть преобразованы не полностью, и SSMA сообщает об ошибках запросов в процессе преобразования. Вы можете вручную редактировать объекты, которые не преобразуются, используя синтаксис T-SQL. Синтаксические ошибки также могут потребовать ручного преобразования функций и типов данных, характерных для Access, в функции и типы данных SQL Server. Дополнительные сведения см. в разделе Сравнение Access SQL с SQL Server TSQL.

Типы данных

Access и SQL Server имеют схожие типы данных, но имейте в виду следующие потенциальные проблемы.

Большое число     Тип данных «большое число» хранит неденежное числовое значение и совместим с типом данных SQL bigint. Этот тип данных можно использовать для эффективного вычисления больших чисел, но он требует использования формата файла базы данных Access 16 (16.0.7812 или более поздней версии) .accdb и лучше работает с 64-разрядной версией Access. Дополнительные сведения см. в статьях Использование типа данных «Большие числа» и Выбор между 64-разрядной или 32-разрядной версией Office.

Да/Нет     По умолчанию столбец Access Yes/No преобразуется в битовое поле SQL Server. Чтобы избежать блокировки записи, убедитесь, что в битовом поле запрещено значение NULL. В SSMA вы можете выбрать битовый столбец, чтобы установить для свойства Allow Nulls значение NO. В TSQL используйте инструкции CREATE TABLE или ALTER TABLE.

Дата и время     Существует несколько соображений относительно даты и времени:

  • Если уровень совместимости базы данных 130 (SQL Server 2016) или выше, а связанная таблица содержит один или несколько столбцов datetime или datetime2, таблица может возвращать в результатах сообщение #deleted. Дополнительные сведения см. в разделе Доступ к связанной таблице с базой данных SQL-Server возвращает #deleted.

  • Используйте тип данных Access Date/Time для сопоставления с типом данных datetime. Используйте расширенный тип данных Access Date/Time для сопоставления с типом данных datetime2, который имеет более широкий диапазон дат и времени. Дополнительную информацию см. в разделе Использование расширенного типа данных Date/Time.

  • При запросе дат в SQL Server учитывайте не только дату, но и время. Например:

Вложение    Тип данных Вложение хранит файл в базе данных Access. В SQL Server у вас есть несколько вариантов для рассмотрения. Вы можете извлечь файлы из базы данных Access, а затем рассмотреть возможность сохранения ссылок на файлы в базе данных SQL Server. Кроме того, вы можете использовать FILESTREAM, FileTables или удаленное хранилище больших двоичных объектов (RBS) для хранения вложений в базе данных SQL Server.

Гиперссылка     Таблицы доступа содержат столбцы гиперссылок, которые SQL Server не поддерживает. По умолчанию эти столбцы будут преобразованы в столбцы nvarchar(max) в SQL Server, но вы можете настроить сопоставление, чтобы выбрать меньший тип данных. В решении Access вы по-прежнему можете использовать поведение гиперссылки в формах и отчетах, если для свойства Гиперссылка элемента управления задано значение true.

Многозначное поле     Многозначное поле Access преобразуется в SQL Server как текстовое поле, содержащее набор значений с разделителями. Поскольку SQL Server не поддерживает многозначный тип данных, который моделирует отношение «многие ко многим», может потребоваться дополнительная работа по проектированию и преобразованию.

Дополнительные сведения о сопоставлении типов данных Access и SQL Server см. в разделе Сравнение типов данных.

Примечание     Многозначные поля не преобразуются и больше не поддерживаются в Access 2010.

Дополнительные сведения см. в разделах Типы даты и времени, Строковые и двоичные типы и Числовые типы.

Visual Basic

Хотя SQL Server не поддерживает VBA, обратите внимание на следующие возможные проблемы:

Функции VBA в запросах     Запросы доступа поддерживают функции VBA для данных в столбце запроса. Но запросы Access, использующие функции VBA, не могут выполняться на SQL Server, поэтому все запрошенные данные передаются в Microsoft Access для обработки. В большинстве случаев эти запросы следует преобразовать в сквозные запросы.

Пользовательские функции в запросах     Запросы Microsoft Access поддерживают использование функций, определенных в модулях VBA, для обработки переданных им данных. Запросы могут быть автономными запросами, операторами SQL в источниках записей форм/отчетов, источниками данных полей со списком и списков в формах, отчетах и ​​полях таблиц, а также выражениями правил по умолчанию или проверки. SQL Server не может выполнять эти определяемые пользователем функции. Возможно, вам придется вручную перепроектировать эти функции и преобразовать их в хранимые процедуры на SQL Server.

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

Безусловно, самый важный способ оптимизировать производительность вашего нового внутреннего SQL Server — это решить, когда использовать локальные или удаленные запросы. Когда вы переносите свои данные на SQL Server, вы также переходите от файлового сервера к модели вычислений базы данных клиент-сервер. Следуйте этим общим рекомендациям:

  • Выполнять небольшие запросы только для чтения на клиенте для быстрого доступа.

  • Выполняйте длинные запросы на чтение/запись на сервере, чтобы воспользоваться большей вычислительной мощностью.

  • Минимизируйте сетевой трафик с помощью фильтров и агрегации, чтобы передавать только те данные, которые вам нужны.

Дополнительные сведения см. в разделе Создание сквозного запроса.

Ниже приведены дополнительные рекомендации.

Поместите логику на сервер     Ваше приложение также может использовать представления, пользовательские функции, хранимые процедуры, вычисляемые поля и триггеры для централизации и совместного использования логики приложения, бизнес-правил и политик, сложных запросов, проверки данных и кода ссылочной целостности на на сервере, а не на клиенте. Спросите себя, можно ли этот запрос или задачу выполнить на сервере лучше и быстрее? Наконец, протестируйте каждый запрос, чтобы обеспечить оптимальную производительность.

Используйте представления в формах и отчетах     В Access выполните следующие действия:

  • Для форм используйте представление SQL для формы только для чтения и индексированное представление SQL для формы для чтения и записи в качестве источника записи.

  • Для отчетов используйте представление SQL в качестве источника записи. Однако создайте отдельное представление для каждого отчета, чтобы вам было проще обновлять конкретный отчет, не затрагивая другие отчеты.

Минимизировать загрузку данных в форме или отчете     Не отображать данные, пока пользователь не запросит их. Например, оставьте свойство источника записи пустым, попросите пользователей выбрать фильтр в вашей форме, а затем заполните свойство источника записи вашим фильтром. Или используйте предложение where DoCmd.OpenForm и DoCmd.OpenReport, чтобы отобразить точные записи, необходимые пользователю. Попробуйте отключить навигацию по записям.

Будьте осторожны с разнородными запросами    Избегайте выполнения запроса, сочетающего локальную таблицу Access и связанную таблицу SQL Server, иногда называемого гибридным запросом. Этот тип запроса по-прежнему требует, чтобы Access загрузил все данные SQL Server на локальный компьютер, а затем выполнил запрос, он не запускает запрос в SQL Server.

Когда использовать локальные таблицы     Рассмотрите возможность использования локальных таблиц для редко изменяющихся данных, таких как список штатов или провинций в стране или регионе. Статические таблицы часто используются для фильтрации и могут работать лучше на внешнем интерфейсе Access.

Читайте также: