vijay_bale Ответов: 4

Сделайте мою систему сервером для ms-SQL


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

Что я уже пробовал:

Я поискал в google, получил некоторую информацию, которая, возможно, не подходит для меня.

4 Ответов

Рейтинг:
2

Afzaal Ahmad Zeeshan

Пожалуйста, прочтите Решение 1 и решение 2 перед этим, так как они упоминают о некоторых хороших моментах, а затем позже прочтите это решение, как только вы захотите начать развертывание базы данных.

Цитата:
можно подключить это через интернет
Это единственная проблема в вашем плане. Вы, конечно, можете разместить свои базы данных на принадлежащих вам машинах, но проблема возникает, когда вы предоставляете клиентам доступ на запись. И предоставить это кому-либо в "интернете" - это огромный шаг.

Кроме того, серьезной проблемой будет высокая доступность базы данных. Если ваша система выходит из строя, из-за обновлений, из-за отключения электроэнергии, из-за ошибок и сбоев, все, кто зависит от вашей системы, столкнутся с простоем в службах. Таким образом, это всегда плохой подход к управлению базами данных в ваших собственных системах. Не говоря уже о том, что существуют затраты, связанные с каждой задачей; электричество, обновление системы, перезагрузка системы, резервное копирование данных и т. д.
Цитата:
можете получить доступ к этому
Один из лучших способов предоставления этой услуги-написать API, который предоставляет базу данных как веб-API. Таким образом, вы можете разместить свое веб—приложение и базу данных на одной машине, но ваши клиенты могут получить доступ только к веб—приложению-через HTTPS-и ваше веб-приложение затем идет вперед и взаимодействует с базой данных, чтобы предоставить результаты.

Это, безусловно, потребует некоторого опыта разработки веб-приложений, но я уверен, что это будет лучшая инвестиция.

И последнее, но не менее важное: для высоких требований я настоятельно рекомендую приобрести подписку у облачного поставщика, такого как Microsoft Azure, Alibaba Cloud, AWS или Google Cloud Platform. Они предоставят вам решение для баз данных всего за ~30 долларов, и вы будете масштабироваться по мере роста. Но они управляют всем: хранением, вычислениями, репликацией, доступностью, а иногда и безопасностью.

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

Домашняя Страница SQLite[^]


Рейтинг:
1

Richard MacCutchan

Совершенно очевидно, что вам нужно будет установить SQL Server 2019 | Microsoft[^Но вы также должны убедиться, что ваша система обладает достаточной мощностью и ресурсами для управления объемом данных, которые вы ожидаете загрузить в систему. Ваша система также должна быть видна в интернете, а не только в локальной сети, поэтому вам нужна надежная защита для ее управления. Лучшим решением был бы веб-сервер с SQL в качестве внутренней базы данных, чтобы весь доступ к базе данных контролировался локально и не был виден миру.


vijay_bale

Только 20 МБ данных или больше от клиентов. Я уже установил windows 10 и Ms-SQL server 2015. Windows 10 имеет встроенный брандмауэр, поэтому не устанавливала никакого программного обеспечения для обеспечения безопасности интернета. Оперативная память составляет 8 ГБ и 150 ГБ SSD только для диска C и 500 ГБ sata HDD для других дисков,таких как D, E и F. достаточно ли этого для этого ?

Richard MacCutchan

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

BillWoodruff

+5

Рейтинг:
1

RickZeeland

В дополнение к другим предложениям, и особенно к тому, что касается использования API, вас могут заинтересовать:
лучший веб-фреймворки для создания веб-рест-АПИ[^]
лучшие-в SQL-базе-как сервис-провайдеров[^]
А также: nosql-database-as-a-service-providers[^]


Рейтинг:
0

OriginalGriff

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

Здесь есть две проблемы, которые вам необходимо решить:
1) безопасность: если вы напрямую предоставляете свою БД своим клиентам через интернет, она доступна любому, у кого есть действительное имя пользователя и пароль - и Ваше клиентское программное обеспечение, которое обращается к БД, будет нуждаться в обоих, так что это уже проблема. Если сотрудник какого - либо клиента уходит под облако, вы не будете знать-и если у них есть данные пользователя, они могут очень легко скопировать, украсть, удалить или повредить ваши базы данных. В зависимости от того, что они содержат, это может стоить вам значительных сумм денег: штрафы GDPR за неадекватную защиту конфиденциальных данных очень серьезны!
2) больше безопасности: вы оставили значение по умолчанию sa учетная запись администратора включена в MsSql? Если вы это сделали, то любой человек с IP-адресом может делать все, что ему нравится, с вашей установкой и содержащимися в ней базами данных.
3) адресация: платите ли вы своему интернет-провайдеру дополнительно каждый месяц за статический IP-адрес? Если вы этого не сделаете, то у вас почти наверняка есть динамический адрес - что означает, что он может измениться в любое время, и это будет означать, что ваши клиенты больше не смогут получить доступ к БД вообще.

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

Или перейдите к облачному решению для БД и узнайте, какие существуют риски, прежде чем делать что-либо еще!


BillWoodruff

+5

vijay_bale

@OriginalGriff. Я уже взял одну веб-службу БД для SQL server, которая не работает уже 2 дня, и попытался связаться с ними, но потерпел неудачу. Я столкнулся с некоторыми проблемами со стороны клиентов. Я уже говорил со своим поставщиком услуг по статическому IP-адресу. Вот почему я решил преобразовать свою единственную систему в сервер. Я не использую идентификатор пользователя по умолчанию sa в SQL server для подключения базы данных.