Рассказ про грабли при переезде на Yandex Managed Service for SQL Server и DataLens.
Сразу скажу - смысл статьи не в критике. Я просто решил предупредить тех, кто решил проделать тот же путь, что и мы. Показать, какие вопросы пока не решены на текущий момент.
Немножко информации по сервису Managed Service for SQL Server:
Нам обещано, что почти всю головную боль на себя берет Yandex Managed Service for SQL Server
Мы знали про это решение до того, как оно появилось в декабре, решили, что после январских праздников будем перепрыгивать на Yandex Managed Service for SQL Server.
Нам надо было перенести несколько 1С баз и несколько баз других систем и подключить к одной из баз Yandex DataLens.
Задача простейшая, но…
Первым делом я решил перенести 1С базы.
1 Снял бекап средствами MSSQL
2 В Managed Service for SQL Server создал пустые базы и пользователя с правами владельца (DB_OWNER) на эти базы.
3 Попытался средствами MSSQL загрузить бекапы… Поковырялся пару часов и решил дедовским методом перенести через конфигуратор dt-ки.
Самое интересное, на видео выше показан именно этот метод, но почему-то я решил, что это просто совпадение.
Переезд состоялся без осложнений.
Осталось перенести не 1С базу и дело сделано…
Первым делом я решил-таки попробовать подсунуть бекап.
Я пытался подсунуть бекап через консоль:
Я пытался перенести бекап через Yandex Object Storage.
Не вышло...
В Яндекс мне порекомендовали следующее решение:
Здравствуйте. Пока единственный вариант развернуть бэкап — воспользоваться средствами экспорта-импорта в Management Studio или SSIS пакетом для загрузки данных.
Мои действия:
Я воспользовался мастером Импорт и экспорт данных в SQL Server. Данные перенеслись, но в процессе были ошибки, и система чью базу я переносил сообщила мне что база не ее. То есть при переносе что-то не перенеслось. Я повторил попытку, но и она закончилась фиаско.
Я опять обратился за советом.
В Яндекс мне порекомендовали следующее решение:
Концептуально сейчас есть такой порядок действий:
1. Экспорт структуры БД через SQLPackage.exe без пользователей https://docs.microsoft.com/ru-ru/sql/tools/sqlpackage/sqlpackage?view=sql-server-ver15 формат DACPAC. BACPAC не подойдёт, т.к. его импорт подразумевает право на создание БД и в существующую БД он импортироваться не умеет.
2. Создание в облаке пустой БД
3. Применение к этой БД структуры из шага 1 через тот же SQLPackage.exe
4. Загрузка данных в таблицы через средства экспорта-импорта или SSIS.
На каждом этапе мы сильно зависим от того, что есть в БД. Например, если окажется, что есть функции или процедуры, ссылающиеся на объекты, которых нет, то экспорт не удастся, придётся исключать отдельные объекты.
Initializing deployment (Start) *** A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
*** A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
*** A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
*** A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
*** A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
*** A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
Initializing deployment (Failed) *** Could not deploy package.
Unable to connect to target server 'МойСерверНаЯндексе'. Please verify the connection information such as the server name, login credentials, and firewall rules for the target server.
A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
Time elapsed 0:03:08.21
5 Запустил SqlPackage.exe так же как в 4 пункте, но добавил ключ расшифровки /Diagnostics:True
Получил больше представления по ошибкам, вырезка из лога:
Microsoft.Data.Tools.Diagnostics.Tracer Error: 19 : 2021-01-20T12:34:41 : Retry requested: Retry count = 1. Delay = 00:00:02.7500000, SQL Error Code = -2146232060, SQL Error Number = 0, Can retry error = True, Will retry = True Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at Microsoft.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean& marsCapable, Boolean& fedAuthRequired)
at Microsoft.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover, SqlAuthenticationMethod authType)
at Microsoft.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)
at Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)
at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
at Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken, DbConnectionPool pool)
at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at Microsoft.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
at Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at Microsoft.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides)
at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides)
at Microsoft.Data.SqlClient.SqlConnection.Open()
at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableSqlConnection.<OpenConnection>b__48_0() in F:\B\16909\6200\Sources\Product\Source\SchemaSql\Common\SqlClient\ReliableSqlConnection.cs:line 429
at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.<>c__DisplayClass25_0.<ExecuteAction>b__0(RetryState _) in F:\B\16909\6200\Sources\Product\Source\SchemaSql\Common\SqlClient\RetryPolicy.cs:line 128
at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.<>c__DisplayClass26_0.<ExecuteAction>b__0(RetryState retryState) in F:\B\16909\6200\Sources\Product\Source\SchemaSql\Common\SqlClient\RetryPolicy.cs:line 142
at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.ExecuteAction[R](Func`2 func, Nullable`1 token) in F:\B\16909\6200\Sources\Product\Source\SchemaSql\Common\SqlClient\RetryPolicy.cs:line 179
ClientConnectionId:6x2x3218-x8xx-4x51-x343-xx6660xx7514
Microsoft.Data.Tools.Diagnostics.Tracer Warning: 0 : 2021-01-20T12:34:41 : Retry occurred: session: 00000000-0000-0000-0000-000000000000; attempt - 1; delay - 00:00:02.7500000; exception - "Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at Microsoft.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean& marsCapable, Boolean& fedAuthRequired)
at Microsoft.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover, SqlAuthenticationMethod authType)
at Microsoft.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover)
at Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout)
at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance)
at Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken, DbConnectionPool pool)
at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at Microsoft.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
at Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at Microsoft.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides)
at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides)
at Microsoft.Data.SqlClient.SqlConnection.Open()
at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableSqlConnection.<OpenConnection>b__48_0() in F:\B\16909\6200\Sources\Product\Source\SchemaSql\Common\SqlClient\ReliableSqlConnection.cs:line 429
at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.<>c__DisplayClass25_0.<ExecuteAction>b__0(RetryState _) in F:\B\16909\6200\Sources\Product\Source\SchemaSql\Common\SqlClient\RetryPolicy.cs:line 128
at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.<>c__DisplayClass26_0.<ExecuteAction>b__0(RetryState retryState) in F:\B\16909\6200\Sources\Product\Source\SchemaSql\Common\SqlClient\RetryPolicy.cs:line 142
at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.ExecuteAction[R](Func`2 func, Nullable`1 token) in F:\B\16909\6200\Sources\Product\Source\SchemaSql\Common\SqlClient\RetryPolicy.cs:line 179
ClientConnectionId:6x2x3218-x8x-4x51-x343-xx6660xx7514"
*** A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: HTTP Provider, error: 0 - )
Дальше я все логи отдал в Яндекс и после нескольких дней ожеданий предложил такой вариант:
1 Я создам бекап и закину его в Object Storage.
2 Создам ссылку и дам специалистам Yandex.
3 Специалисты перенесут данный файл в место доступное для восстановления базы по средствам Microsoft SQL Server Management Studio
4 Я восстановлю базу из этого бекапа.
Возможен такой вариант?
В Яндекс мне ответили:
Такой вариант возможен. Только пункт 4 тоже сделают специалисты сервиса. Этот сценарий пока отрабатывается на тестовой базе. Если вы не против, можем попробовать импортировать сразу вашу базу. Для этого создадим чат в телеграме со специалистами сервиса и интерактивно все сделаем. Сообщите, пожалуйста, если такой вариант вас устроит.
Я естественно согласился и на следующий день мы со специалистами Яндекс довели дело до конца, но у меня было ощущение что я что-то не так делал, и я спросил:
Вопрос. Если нам еще нужно будет перенести базу через месяц, два. Мы сами сможем это сделать?
В Яндекс мне ответили:
пока вряд ли. я буду готов оперативно помочь до появления надлежащих средств.
Вопрос с Yandex Managed Service for SQL Server закрыли. Переехать можно но сложно.
Я уверен на 90% что если бекап сохранить в MS Azure, то оттуда можно его и поднять без помощи Яндекс, но это не точно…
Немножко информации по сервису DataLens:
Сервис DataLens позволяет визуализировать данные для анализа.
Мое обращение в Яндекс:
У нас куплены Managed Service for SQL Server и Managed Service for PostgreSQL. В Yandex DataLens подключение к PostgreSQL создается без проблем, а к MS SQL Server подконектится не получается.
В Managed Service for SQL Server создана база и пользователь с ролями на эту базу (DB_DATAREADER DB_DENYDATAWRITER) Использовал инструкцию https://cloud.yandex.ru/docs/datalens/operations/connection/create-mssql-server#ms-sql-server-connection
Подключение не проходит. Database error.
Есть ли такая возможность в принципе или мы зря пытаемся?
Ответы Яндекс:
UPD 15.02.2021
Ответ Яндекс:
Сегодня 18.02.2021 и УРА! Подключение DataLens заработало!
UPD 19.03.2021
Все это время мы никак не могли протестировать DataLens, так как из-за ожидании его починки фокус сместился на другие задачи.
Вчера я все таки добрался до тестирования и...
Мое обращение в Яндекс:
Ответ Яндекс:
Мое обращение в Яндекс:
Резюмирую:
В ManagedServiceforSQLServerпереехать можно, но сложно.
"В Yandex DataLens подключение к PostgreSQL" - и с MySQL не работает, на сколько понимаю,+ они его кешируют в свой промежуточный ClickHouse. Гружу данные через PostgREST, чтобы не заморачиваться с ADO.
Почему не используете PG для 1С? Где расположен сервер 1С, как развернут, как лицензируется?
Как организован бекап баз, какие планы восстановления при сбое доступны?
(1) PG используемпока не для 1с. Пока для срезов, в планах еще ClickHouse.
Я не буду говорить какую конфигурацию используем, но она не типовая и когда я ее прогнал через АПК мне выпало 150К ошибок и предупреждений. Поэтому пока решили с PG не экспериментировать. В планах на будущее будем тестить PG и если все ок перепрыгнем.
Бекапы организованы средствами Managed Service for SQL Server, все хранится в облаке.
Сейчас только начало проекта, поэтому особо рассказывать нечего ))
В Yandex DataLens подключение к PostgreSQL
По-моему работает. Покрайней мере к PostgreSQL и ClickHouse конект создается.
Мое впечатление от статьи - достаточно грустно с переездом со своих сиквел-серверов в Яндекс-облако (
фактически, своими силами мало что можно сделать.
Расскажи о результатах переезда, стало лучше/хуже, чем ожидалось, какие фишки появились и т.п.
(2)У нас новый проект, стартовал в декабре поэтому я не могу оценить стало лучше или хуже.
Вся инфраструктура у нас на Яндексе в облаках поэтому скорость работы хорошая.
У нас договоренность использовать по максимуму сервисы Яндекса чтобы инфраструктуру проще содержать.
Через 1-3 года смогу дать какую-то оценку. Ну и плюсом обещаю по ходу какие-то вещи публиковать))
(3) У меня PG так же для DataLens на VM в рамках Я-облака (чтобы тарификация была внутренняя). Думаю о переходе на сервис, потому что в типовой настройке проблемы с сессиями (склоняюсь к нагрузке со стороны DataLens.
"По-моему работает. Покрайней мере к PostgreSQL и ClickHouse конект создается." - пытался указать на архитектуру заточенную под ClickHouse c мастер таблицей и "справочниками" в SQL.
В публикации представлен необходимый минимум для настройки Xubuntu 20.04 в качестве рабочего места бухгалтера, ведущего учёт в программе 1С: Бухгалтерия 3.0 файловый вариант. Кроме этого, настроено подключение и других сотрудников через тонкий клиент 1С к опубликованной на веб-сервере базе бухгалтерии.
Приветствую, коллеги! В этой статье будет сделан обзор функции совместимости конфигурации 1С с другими версиями конфигураций 1С, а также рассмотрено, как выбрать и настроить режим совместимости конфигурации с версией 1С 8.3.
Во-первых, разберём главное понятие в этой статье: режим совместимости в конфигурации – это устройство, благодаря которому выводится номер версии системы, под которую станет открыто приложение 1С:Предприятие. Данный режим существует на платформе 1С начиная с версий 8.2 и 8.3 (платформа версии 1С:Предприятие 8.3 совместима с платформой версии 1С:Предприятие 8.2).
Организация единой CRM-системы для группы компаний требует особого подхода к построению интерфейсов, продуманной архитектуры обмена данными, оптимизации интеграционных форматов и т.д. О том, как построить CRM-систему, используя 1С только как back-end для получения данных по HTTP-протоколу, рассказал инженер-программист ООО «Протон» Сергей Плоткин.
Уже давно работаем с большим количеством ИБ и обновляем, естественно, в пакетном режиме, но с переходом на новую платформу 8.3.18.1208 этот пакетный режим поломался. Стало появляться окно конфигуратора и спрашивать вопросы, раньше такого не было. Решение найдено.
В статье рассказывается о нашем опыте по централизации НСИ на одном из проектов в этом году. Статья может быть полезна тем, кто сам занимался или планирует заниматься чем-то подобным, в особенности руководителям проектов и программистам.
Прекращена работа программы "1CV7 starter program". Никто не может зайти в 1C 7.7. Апкреш. Что делать? Проверьте, возможно журнал регистрации информационной базы 1С: Предприятия 7.7 поврежден.
Рассказываю о нюансах, на которые следует обратить внимание при выборе облачного провайдера для размещения баз 1С, заключения с ним договора и прочего взаимодействия, не нарушая 152-ФЗ "О персональных данных"
Без программирования, в несколько кликов - простой и быстрый способ трехногой авторизации по протоколу OAuth 2.0 в Google APIs. Получение refresh и первого access token для использования в HTTP-запросах из 1С к API Google. Для приложений типа "Компьютеры".
Однажды, в порыве повышения лицензионности используемого софта, мы решили поставить на наш старенький сервер опен сорс линукс. Был совсем небольшой опыт работы на локальных машинах под линуксом (успешный). Продвинутого опыта работы с линуксом не было. Но в сети довольно много позитивного опыта развертки такой архитектуры, и мы решились.
Данная статья точно НЕ является мануалом по установке линукс, но уверен, будет неплохим дополнением.
Обычно предметом оптимизации являются заранее определенные ключевые операции, т.е. действия, время выполнения которых значимо для пользователей. Причиной недостаточно быстрого выполнения ключевых операций может быть неоптимальный код, неоптимальные запросы либо же проблемы параллельности. Если выясняется, что основная доля времени выполнения ключевой операции приходится на запросы, то осуществляется оптимизация этих запросов.
При высоких нагрузках на сервер СУБД в оптимизации нуждаются и те запросы, которые потребляют наибольшие ресурсы. Такие запросы не обязательно связаны с ключевыми операциями и заранее неизвестны. Но их также легко выявить и определить контекст их выполнения, чтобы оптимизировать стандартными методами.
Первый вариант сравнения двух СУБД. Каждый может внести правку и получить SM. Приветствуются конструктивные комментарии, начинающиеся словами "Автор ничего не понимает".
Обеспечение быстрого непрерывного обмена данными между высоконагруженными системами 1С, покрывающими всю территорию России, требует ответственного подхода к архитектуре и инструментам, используемым для обмена. Как правильно построить такую инфраструктуру и научиться ее оперативно мониторить, в своем докладе на конференции Infostart Event 2019 Inception рассказал разработчик компании «ДНС Ритейл» Максим Старков.
Один из последних случаев на работе. Диск, на котором хранились файлы базы, "развалился", база потеряна. Начали искать копию базы. Копии базы делались на другой диск, но оказалось, что на том диске нет места и копии не делались несколько дней. Так было потеряно несколько дней работы фирмы, кому-то выговор, кого-то уволили((.
Эта памятка написана изначально самому себе, но будет полезна другим, т.к. в вопросах лицензирования 1С есть тонкие нюансы, которые нужно знать как покупателям, так и продавцам 1С.
Немного о тонкостях работы модуля online_analyze для PostgreSQL.
Опус для тех, у кого, как и у меня, не всегда хватает времени на то, чтобы разобраться, как это работает, и поэтому бывает так, что следуешь рекомендациям из сети и пользуешься методом "копипаста", пока не прижмет.
На сервере установлен и настроен VPN через программное обеспечение SoftEter VPN Server, настроены клиенты с доступом по сертификату, встала задача настроить доступ клиента из Linux и подключиться по RDP (VNC) в Windows к серверу VPN.
Друзья, сегодня я хочу рассказать вам об одной интересной технологии, которая точно поможет повысить качество ваших систем на базе 1С, да и не только 1С.
Утилита управления "Автономным сервером" может не только управлять. Какие возможности можно использовать уже сегодня? Разбираем с примерами и ищем отличия от привычных методов.
В Платформе версии 8.3.14 появился новый вариант серверной архитектуры - "Автономный сервер" (бета-версия). Выясняем, что это такое, какова сфера его применения, что он позволяет уже сейчас, чего можно ожидать.
При работе с данными нужно обращать внимание не только на объемы, скорость и удобство, но и на безопасность. Если организация не уделяет внимания безопасности, пользователь с урезанными правами может получить полный доступ к базе данных за 1-5 минут. Набором типичных ошибок и действенных рецептов по усилению безопасности клиент-серверной 1С на конференции Infostart Event 2019 Inception поделился руководитель ИТ в компании «ИнфоСофт» Антон Дорошкевич.
К сожалению и как бы нам того не хотелось, в новых платформах 1С стали появляться такие сообщения. Что делать в такой ситуации, вы поймете после прочтения моей статьи.
Предлагаю вашему вниманию продолжение перевода статьи Jonathan Corbet "PostgreSQL's fsync() surprise". Оригинал доступен по ссылке https://lwn.net/Articles/752063/
Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.