Я собираюсь развернуть веб-приложение ASP.NET для тестирования в рабочей среде. По сути, это просто таблица, связанная с таблицей/представлением SQL Server, которая, очевидно, является динамической при обновлении данных в таблицах. У меня есть план хостинга с сайтом, на который я буду отправлять файлы, который включает в себя базу данных SQL Server в плане хостинга. Я также размещаю экземпляр SQL Server в сети.
Мой вопрос: каков стандартный способ работы с SQL Server в этом развертывании? Я думаю, что у меня есть варианты ниже, но как человек, который когда-либо разрабатывал приложения только в автономном режиме, это новое для меня, поэтому, пожалуйста, извините мое невежество новичка.
Пусть приложение подключается через IP-адрес в строке подключения к моему экземпляру SQL Server, поскольку указание имени сервера (например, SQLDEVSRV01) не будет в «сети», когда оно находится на FTP-сайте. Должен ли я предположить, что моя строка подключения будет работать только в сети, а после развертывания на веб-сайте перестанет работать, если не будет подключено через TCP/IP?
Разместите сервер в Интернете в том же расположении хоста сайта. Поэтому загрузите файлы сайта на хост моего веб-сайта и настройте там SQL-сервер. Смогу ли я просто указать имя сервера (например, SQLDEVSRV01) в строке подключения, поскольку, хотя он не будет работать в разработке, поскольку он не будет в той же сети, он будет работать после развертывания в Интернете ?
Вставьте экземпляр SQL Server в приложение, используя localdB или что-то подобное для хранения фоновых данных. Если это так, можно ли получить доступ к данным из серверной части с помощью SSMS или другого метода?
По сути, моя цель здесь состоит в том, чтобы веб-приложение извлекало данные в режиме реального времени из представления/таблицы, размещенной на сервере SQL, где внутренние данные могут быть изменены, обработаны и обновлены независимо от приложения, поэтому приложение может просто извлекать данные, когда обновленный.
Стандартный способ сделать это — развернуть базу данных на экземпляре SQL Server хостинг-провайдера, а затем подключить к нему свое приложение, используя строку подключения с их данными. Поскольку обычно это общий экземпляр, вам обычно не нужно беспокоиться об исправлении машины экземпляра SQL и т. д.
Лично я бы не стал устанавливать SQL Server самостоятельно, если бы не решил, что наличие экземпляра, над которым я хотел бы иметь контроль, было бы выгодно, и я бы не стал менять структуру или реализацию своего приложения в соответствии с настройкой хостинг-провайдеров.
Как правило, да, иногда на хосте может быть отключен брандмауэр MSSQL, и вам нужно использовать VPN-клиент или что-то подобное для доступа к нему. Иногда, как в случае с GoDaddy, это дополнительная плата. ie.godaddy.com/help/connect-remotely-to-databases-4978
Спасибо за ваш ответ @betelgeuce - это имеет смысл. Можете ли вы подключиться к базе данных через SSMS и подключиться к ней для разработки приложения, или это случай отправки его на сервер для тестирования? Могу ли я просто указать имя сервера?