Среда выполнения локальной базы данных, как включить

Обновлено: 19.05.2024

Firebase Local Emulator Suite можно установить и настроить для различных прототипов и тестовых сред, от разовых сеансов прототипирования до рабочих процессов в максимальной степени в масштабе производства.

Установите пакет оперативного эмулятора

Перед установкой Emulator Suite вам обязательно:

  • Node.js версии 8.0 или выше.
  • Java версии 1.8 или выше.

Чтобы установить набор эмуляторов:

  1. Установите интерфейс командной строки Firebase . Если вы еще не установили интерфейс командной строки Firebase, установите его сейчас. Для использования Emulator Suite вам обязательно понадобится CLI версии 8.14.0 или выше. Вы можете проверить, какую версию вы установили, используя команду:
  2. Если вы еще не сделали этого, запустите запуск рабочего каталога в качестве проекта Firebase, отслеживая появление на экране, чтобы указать, какие продукты можно использовать:
  3. Настройте набор эмуляторов. Эта команда запускает мастер настроек, который позволяет выбирать интересные эмуляторы, загружать двоичные файлы эмулятора и устанавливать порты эмулятора, если значения по умолчанию не совпадают.

После установки эмулятора никакие проверки не обновляются, и никакие дополнительные автоматические загрузки не выполняются, пока вы не обновите свою версию Firebase CLI.

Настройка пакетов эмуляторов

При появлении вы можете настроить сетевые порты эмуляторов и пути определения правил безопасности в файле firebase.json:

  • Изменил порты эмулятора, запустив firebase init emulators или отредактировав firebase.json вручную.
  • Используя путь к определениям правил безопасности, отредактировав firebase.json вручную.

Если вы не настроите эти параметры, эмуляторы прослушивания портов по умолчанию, а эмуляторы Cloud Firestore, Realtime Database и Cloud Storage будут работать с открытой защитой данных.

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

Конфигурация порта

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

< td>9099 < td>5001 < td>8080
Эмулятор Порт по умолчанию
Аутентификация
Пользовательский интерфейс набор эмуляторов 4000
Облачные функции
База данных реального времени 9000
Облако Firestore
Облачное хранилище 9199
Хостинг Firebase 5000
Паб/Саб 8085

Конфигурация правил безопасности

Эмуляторы выбирают параметры безопасности из ключей, основанных на базе данных, firestore и хранилище в firebase.json.

Эмуляторы запуска

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

Метод firebase emulators:exec обычно больше подходит для рабочих процессов с высокой интенсивностью.

Эмулятор экспорта и импорта данных

Вы можете экспортировать данные из эмуляторов Authentication, Cloud Firestore, Realtime Database и Cloud Storage для использования в качестве общедоступного общего базового набора данных. Эти наборы данных можно импортировать с помощью флага --import , как допустимо выше.

Аутентификация, Cloud Firestore, база данных в защите времени или эмулятор облачного хранилища . Экспортируйте данные из запущенного экземпляра Cloud Firestore, данных реального времени или эмулятора Cloud Storage. Указанный каталог_экспорта будет создан, если он еще не существует. Если указанный каталог существует, вам будет предложено проверить перезапись предыдущих экспортных данных. Вы можете пропустить это приглашение, используя флаг --force . Каталог экспорта содержит файл манифеста данных, firebase-export-metadata.json .

Вы можете указать эмуляторам автоматически экспортировать данные по завершении работы, используя --export-on-exit, описанные выше.

Интеграция с вашей системой CI

Запуск контейнерных образов Emulator Suite

Установка и настройка Emulator Suite с контейнерами в определенных настройках CI не представляет сложности.

Есть несколько вопросов, на которые следует обратить внимание:

Файлы JAR загружаются и кэшируются в ~/.cache/firebase/emulators/ .

  • Вы можете добавить этот путь в случай обнаружения CI, чтобы избежать загрузок.

Если в следующем репозитории нет файла firebase.json , вы должны добавить аргумент командной строки к загрузке emulators:start или emulators:exec , чтобы указать, какие эмуляторы следует запускать. Например,
--only functions,firestore .

Создание токена аутентификации (только для эмулятора хостинга)

Если вы работаете в среде, основанной на хостинге Firebase, вам необходимо будет войти в систему с помощью токена, чтобы играть в firebase emulators:exec . Другие эмуляторы не требуют входа в систему.

Чтобы сгенерировать токен, запустив firebase login:ci в интересующей вас среде; это не должно выполняться из системы CI. Исследуйте алгоритм для аутентификации. Вам необходимо будет выполнить этот шаг только один раз для каждого проекта, поскольку токен будет действителен для всех сборок. Токен соответствует паролю; будьте уверены, что это держится в секрете.

Если ваша среда CI позволяет указать переменные среды, которые можно использовать в сценариях, просто создайте переменную среду с именем FIREBASE_TOKEN , значением которого будет строка маркера доступа. Интерфейс командной строки Firebase автоматически подбирает переменную среду FIREBASE_TOKEN и эмуляторы запустятся правильно.

В крайнем случае вы можете просто включить токен в свой скрипт сборки, но помните, что у недоверенных сторон нет доступа. Для этого жестко запрограммированного представления вы можете добавить --token "YOUR_TOKEN_STRING_HERE" в команду firebase emulators:exec .

Используйте REST API концентратора эмулятора

Список запущенных эмуляторов

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

Результатом объекта JSON со запуском всех запущенных эмуляторов и их конфигурацией хоста/порта, например:

Включить/триггеры общих фоновых функций

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

Чтобы временно вызвать триггеры функций, отправьте запрос PUT на конечную точку /functions/disableBackgroundTriggers концентратора эмулятора.

Результатом будет объект JSON с подробным описанием присутствия состояния.

Чтобы включить триггеры возникновения функций после их обнаружения, отправьте запрос PUT в конечную точку /functions/enableBackgroundTriggers концентратора эмулятора.

Результатом будет объект JSON с подробным описанием присутствия состояния.

Интеграция эмулятора SDK

В таблице в этом разделе указано, какие эмуляторы обнаружены как клиент и Admin SDK. Будущее означает, что поддержка эмулятора запланирована, но пока недоступна.

Доступность клиентского SDK

< td>Н/Д

Доступность администратора SDK

Android Платформы Apple Интернет Пользовательский интерфейс Firebase
Android
Пользовательский интерфейс Firebase
iOS
Пользовательский интерфейс Firebase
Интернет
База данных реального времени 19.4.0 7.2.0 8.0.0 6.4.0 Будущее
Облако Firestore 21.6.0 7.2.0 8.0. 0 6.4.0 Будущее Н/Д
Аутентификация 20.0.0 7.0.0 8.0.0 7.0.0 Будущее Будущее
Облачное хранилище 20.0.0 8.0.0 8.4.0 Н/Д Н/Д Н/Д
Облачные функции 19.1 .0 7.2.0 8.0.0 Н/Д Н/Д Н /Д
Хостинг Н/Д Н/Д Н/Д Н/Д Н/Д Н/Д
< tr>
Узел Ява Питон Идти
База данных реального времени 8.6.0 6.10.0 2.18.0 Будущее
Облако Firestore 8.0.0 6.10.0 3.0.0 1.0.0
Аутентификация 9.3.0 7.2.0 5.0.0 4.2.0
Облачное хранилище 9.8.0 Будущее Будущее Будущее
Облачные функции Н/Д Н/Д Н/Д Н/Д
Хостинг Н/Д Н/Д< /td> Н/Д Н/Д

Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0.Подробнее см. в Правилах сайта Google Developers. Java является зарегистрированным товарным знаком Oracle и/или ее дочерних компаний.

Марко Живкович

Microsoft SQL Server Express LocalDB — решение, в первую очередь предназначенное для разработчиков, — это облегченная версия SQL Server Express. Его очень легко установить и настроить. При установке копируется минимальный набор файлов, необходимых для запуска ядра СУБД SQL Server. LocalDB поддерживает тот же язык T-SQL и имеет те же ограничения, что и SQL Server Express.

Microsoft SQL Server Express LocalDB позволяет разработчикам писать и тестировать код Transact-SQL. Но без необходимости управлять полным серверным экземпляром SQL Server.

Существует два метода установки LocalDB, один из них — с помощью программы SqlLocalDB.msi. Второй метод можно использовать при установке SQL Server Express 2012 или более новой версии.

Расширение файла базы данных SQL Server Express LocalDB такое же, как у SQL Server Express, и это (.mdf).

Установка Microsoft SQL Server 2012 Express LocalDB с SqlLocaLDB.MSI

SqlLocaDB.MSI можно загрузить как отдельный элемент со страницы загрузки SQL Server:


Если для 32-разрядной версии Microsoft SQL Server Express LocalDB установлена ​​в 64-разрядной версии Windows, появится следующее предупреждающее сообщение:


Процесс установки SqlLocalDB.MSI очень быстрый и простой. Когда пользователь дважды щелкает установочный файл SqlLocaDB.MSI, появляется окно Microsoft SQL Server 2012 Express LocalDB; затем необходимо нажать кнопку «Далее», чтобы продолжить:


В окне лицензионного соглашения внимательно прочитайте условия использования лицензии и установите переключатель «Я принимаю условия лицензионного соглашения». И снова нажмите кнопку Далее:


Следующий шаг — нажать кнопку «Установка»:



Через несколько секунд процесс установки будет завершен:


Процесс установки одинаков как для Microsoft SQL Server 2014 Express LocalDB, так и для Microsoft SQL Server 2016 Express LocalDB. Только процесс загрузки Microsoft SQL Server 2016 Express LocalDB немного отличается. Объяснение загрузки/установки Microsoft SQL Server 2016 Express LocalDB более подробно рассматривается далее в этой статье.

По умолчанию Microsoft SQL Server 2012 Express LocalDB со всеми необходимыми библиотеками DLL находится в папке «[буква диска:]\Program Files\Microsoft SQL Server\110\LocalDB\Binn»:


После установки программы можно запустить экземпляр LocalDB по умолчанию (автоматический) или создать и использовать собственный экземпляр LocalDB с помощью утилиты SqlLocalDb.

Чтобы просмотреть все экземпляры LocalDB, в окне командной строки введите следующую команду: SqlLocalDB info.


Имя экземпляра LocalDB по умолчанию (автоматическое) начинается с одного символа v. После этого символа следует число в формате xx.x, представляющее номер версии LocalDB. Например, v11.0 представляет SQL Server 2012.

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


Чтобы создать автоматический экземпляр LocaDB, в окне командной строки необходимо ввести следующую команду: SqlLocalDB create v11.0.


Экземпляр LocalDB по умолчанию (автоматический) является общедоступным, в то время как экземпляры LocalDB, названные пользователем, являются частными.

LocalDB поддерживает совместное использование экземпляров, что означает, что пользователь, владелец экземпляра, может разрешить другим пользователям подключаться к его экземпляру. Способ совместного использования/отмены общего доступа к экземпляру LocalDB может быть достигнут с помощью команд общего/неразделенного доступа утилиты SqlLocalDB.

Разные пользователи компьютера могут создавать экземпляры с одинаковыми именами.

Экземпляр SQL Server Express LocalDB настроен на параметры сортировки SQL_Latin1_General_CP1_CI_AS и не может быть изменен. Коллекции баз данных, столбцов и выражений поддерживаются в обычном режиме.

Файлы системной базы данных для базы данных по умолчанию хранятся в следующем расположении: C:\Users\\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances


Как упоминалось выше, процесс установки Microsoft SQL Server 2014 Express LocalDB аналогичен процессу установки Microsoft SQL Server 2012 Express LocalDB. Имя «MSSQLLocalDB» теперь используется в качестве имени по умолчанию для автоматического экземпляра LocalDB. Имя автоматического экземпляра LocalDB больше не связано с номером версии SQL Server, как это было в версии SQL Server 2012 (v11. 0 = SQL Server 2012).

Теперь, после установки Microsoft SQL Server 2014 Express LocalDB или более новой версии и запуска команды SqlLocalDB info в окне командной строки, появится следующий результат:


SQL Server 2016 Express LocalDB доступен в процессе установки SQL Server 2016 Express и при выборе параметра «Загрузить носитель»:


Если выбран Загрузочный носитель, существует два способа загрузки и установки SQL Server 2016 Express LocalDB. Первый — выбрать переключатель LocalDB. Другой — с помощью Express Advanced:


Тихая установка Microsoft SQL Server Express LocalDB

Microsoft SQL Server Express LocalDB поддерживает автоматическую установку. Пользователь должен загрузить SqlLocalDB.msi и запустить окно командной строки от имени администратора. Затем они должны вставить следующую команду:

msiexec /i SqlLocalDB.msi /qn IACCEPTSQLLOCALDBLICENSETERMS=YES

Следующий шаг — нажать клавишу Enter на клавиатуре:


Пользователь должен убедиться, что путь, по которому находится SqlLocalDB.msi, указан правильно, иначе может появиться следующая ошибка:


Установка Microsoft SQL Server Express LocalDB в качестве опции во время установки версии SQL Server Express

Как упоминалось ранее в этой статье, одним из способов установки LocalDB является вариант, когда установлена ​​экспресс-версия SQL Server 2012 или более новая версия.

LocalDB следует выбрать на странице выбора компонентов во время установки экспресс-версии SQL Server:

Каждый экземпляр mongod имеет собственную локальную базу данных, в которой хранятся данные, используемые в процессе репликации, и другие данные, относящиеся к экземпляру. Локальная база данных невидима для репликации: коллекции в локальной базе данных не реплицируются.

Коллекции на всех экземплярах mongod

При запуске каждый экземпляр mongod вставляет документ в startup_log с диагностической информацией о самом экземпляре mongod и информации о хосте. startup_log — это закрытая коллекция. Эта информация в первую очередь полезна для диагностических целей.

Например, ниже приведен прототип документа из коллекции startup_log:

Документы в коллекции startup_log содержат следующие поля:

Включает имя хоста системы и значение эпохи в миллисекундах.

Имя хоста системы.

Значение UTC ISODate, отражающее время запуска сервера.

Строка, указывающая startTime в местном часовом поясе системы.

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

Идентификатор процесса для этого процесса.

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

Коллекции на членах набора реплик

local.system.replset содержит объект конфигурации набора реплик как отдельный документ. Чтобы просмотреть информацию о конфигурации объекта, выполните команду rs.conf() из mongosh. Вы также можете запросить эту коллекцию напрямую.

local.oplog.rs — это ограниченная коллекция, содержащая oplog. Вы устанавливаете его размер при создании с помощью параметра oplogSizeMB. Чтобы изменить размер оплога после инициации набора реплик, используйте процедуру «Изменить размер оплога». Дополнительную информацию см. в разделе Размер оплога.

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

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

Он содержит объект, используемый внутри наборов реплик для отслеживания статуса репликации.

Ограничения

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

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

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

Чтобы отключить повторную запись, укажите retryWrites=false в строке подключения для кластера MongoDB.

Однажды я пытался подключиться к MS SQL Server, но это не удалось, даже после того, как я сделал попытку еще раз и еще раз. Я столкнулся с поставщиком ошибок: поставщик именованных каналов, ошибка: 40 — не удалось открыть соединение с SQL Server на сервере. Я предоставляю вам все необходимые шаги для решения проблемы с ошибкой: 40 - Не удалось открыть соединение с SQL Server. Чтобы решить эту проблему, я бы порекомендовал испытать все шаги один за другим, пока ваша проблема не будет решена. Эта ошибка возникает по-разному, поэтому вам необходимо выполнить все шаги, описанные в этой статье, до тех пор, пока вы не решите свою проблему.

Подробное описание ошибки:


Шаг 1. Первый шаг: проверьте, нормально ли работают службы SQL.

Шаг 2. Нажмите «Пуск», разверните «Microsoft SQL Server 2008 R2» и нажмите «Диспетчер конфигурации SQL Server».

SQL-Server-Configuration-Manager

Шаг 3. Теперь щелкните на левой панели «Службы SQL Server» и проверьте, запущен ли «SQL Server (SQLEXPRESS)». Если он отображается зеленым цветом, значит, он работает нормально.

SQL Сервер (SQLEXPRESS)


Шаг 4. Теперь проверьте «SQL Server (MSSQLSERVER)». Если он отображается зеленым цветом, это означает, что он работает нормально.

SQL Сервер (MSSQLSERVER)

Шаг 5. Теперь проверьте, запущен ли «SQL Server Browser», вы должны убедиться, что он отмечен зеленым цветом.

SQL Браузер серверов

Шаг 6: Теперь нажмите «Псевдонимы» на левой панели, убедитесь, что на правой панели должны быть пустые псевдонимы, если требуется, их следует воссоздать заново.

Псевдонимы

Шаг 7. Теперь проверьте наличие портала SQL Server по умолчанию 1433. Если вы еще не добавили его, откройте «Ctrl + R», введите «Firewall.cpl», после чего откроется брандмауэр и нажмите «Дополнительные параметры».< /p>

Дополнительные настройки


Шаг 8. Нажмите «Правила для входящих подключений» на левой панели, а затем нажмите на правой панели «Новое правило».

Новое правило

Шаг 9. Затем нажмите «Протокол и порты», нажмите «Определенные локальные порты» и напишите номер порта SQL по умолчанию «1433».

Протокол Порты

Шаг 10. Теперь напишите имя в строке «Имя порта SQL» и нажмите кнопку «Готово».

«Добавить

Шаг 11. Теперь нажмите «Клиентские протоколы» на левой панели, затем нажмите на правой панели «TCP/IP» и нажмите «Свойства», затем убедитесь, что порт по умолчанию «1433» заполнен.

SQL Порт 1433

Шаг 12. Теперь откройте «SQL Server Management Studio» и щелкните правой кнопкой мыши, теперь откроется окно свойств и нажмите «Свойства».


SQL Server Management Studio

Шаг 13. Теперь нажмите «Подключения», установите флажок «Разрешить удаленные подключения к этому серверу» и нажмите «ОК».

Разрешить удаленные подключения к этому серверу

Шаг 14. Вы должны выполнить команду Ping для своего IP-адреса хоста в консоли командной строки «cmd».

Ping IP-хост

Шаг 15. Проверьте, не блокирует ли брандмауэр порт SQL Server 1433

Шаг 16. Если у вас уже есть доступ к машине для разработки, рабочему серверу, это будет очень полезно. Нажмите (Windows + R), чтобы открыть окно «Выполнить» для быстрого запуска программы. Теперь введите «EVENTVWR», и откроется новое окно, теперь разверните левую панель, вы сможете проверить здесь «Журнал Windows», чтобы очень внимательно и конкретно изучить проблему.

Шаг 17. Мы также можем использовать команду Netstat, чтобы показать, как осуществляется связь с другими компьютерами или сетями.

netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-t] [- x] [-y] [интервал_времени] [/?]


Команда Netstat

Аутентификация и настройка имени хоста (ошибки SQL Server 25 и 27)

  • Проверьте свою аутентификацию, будь то Windows или SQL Server.
  • Если вы используете локальную базу данных SQL, вы сможете использовать файлы . (точка) только вместо имени сервера.
  • Введите правильное имя хоста (hostname\SQLEXPRESS), myhostname\SQLEXPRESS (в случае SQL Server Express) или (myhostname\mssqlserver).
  • Вы также можете попробовать альтернативно (localhost\SQLEXPRESS) или (localhost\mssqlserver).

Заключение

Я сделал все возможное, чтобы включить все исправления, чтобы избавиться от этой довольно распространенной проблемы с ошибкой: 40 — Не удалось открыть соединение с SQL. Вы будете продолжать публиковать мне сообщения, если у вас все еще будут возникать какие-либо проблемы.

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