Строка подключения на виртуальном выделенном сервере не работает

Я перехожу с общего хостинга на виртуальный выделенный сервер (оба на GoDaddy). Удивительно, но до сих пор все шло хорошо. Однако теперь мое веб-приложение не может подключиться к базе данных (которую я создал на сервере).

Я попробовал несколько вариантов, в том числе присвоение ему имени сервера и т. Д., Например:

<add name="dbname" connectionString="Data Source=servername\SQLEXPRESS2008;Initial Catalog=theDB;User Id=servername\usernameAcceptedByMangmentStudio;Password=mypwd; Trusted_Connection=False;"/>

также:

<add name="dbname" connectionString="Data Source=.\SQLEXPRESS2008;Initial Catalog=theDB;User Id=usernameAcceptedByMangmentStudio;Password=mypwd; Trusted_Connection=False;"/>

также:

<add name="dbname" connectionString="Data Source=servername\SQLEXPRESS2008;Initial Catalog=theDB; Integrated Security=True;>

(вот как это работает на моей локальной машине).

кажется, ничего не работает. есть идеи? заранее спасибо.

2 ответа

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

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

Вам нужно подключиться к вашему серверу (я полагаю, вы можете использовать удаленный рабочий стол или что-то подобное), затем открыть Панель управления> Администрирование> Службы. В этом списке должен быть элемент под названием SQL Server, и он будет выглядеть так:

SQL Server (MSSQLSERVER)

Или это:

SQL Server (некое имя)

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

"Data Source=localhost;..."

Последний является именованным экземпляром. Если это то, что вы видите, ваша строка подключения должна быть:

"Data Source=localhost\some_name;..."

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

Если это не поможет, вам нужно быть более конкретным, чем "не работает". Вы не можете подключиться к серверу или базе данных? Каково фактическое сообщение об ошибке? При создании базы данных использовали ли вы функции User Instances / AttachDbFileName? Можете ли вы показать снимок экрана с диалоговым окном подключения в Management Studio, которое прошло успешно? Ваше приложение на сервере или на вашем локальном компьютере? Возможно ли, что вы должны указывать IP-адрес вместо различных локальных ссылок? Обращались ли вы в службу поддержки GoDaddy по поводу вашей проблемы? Они гораздо лучше оснащены, чтобы помочь вам, чем программирующий сайт вопросов и ответов, поскольку они могут подключиться к вашему серверу за 10 секунд и точно сказать вам, как вам следует обращаться к экземпляру SQL Server.

Что касается различий, именованные экземпляры обычно используются, когда вам нужно установить несколько отдельных экземпляров SQL Server. Это обычно не требование к производственной машине; гораздо чаще встречается на машинах разработки, где необходимо тестировать несколько версий, моделировать различные среды или временно во время миграции или параллельного обновления. Экземпляр по умолчанию прослушивает "из коробки" порт 1433. Именованные экземпляры запускаются на других портах и ​​обычно используют службу браузера SQL для удаленных компьютеров, чтобы определить, как именно к ним подключаться.

Если ваша БД имеет имя пользователя и пароль (аутентификация SQL Server), просто используйте это:

<add name="dbname" connectionString="Data Source=yourServerName;Initial Catalog=YourDB;User ID=YouruserId;Password=YourPassWord" providerName="System.Data.SqlClient"/>

К вашему сведению: убедитесь, что ваша Аутентификация сервера базы данных работает в режиме SQL Server и WindowsAuthentication

Вы также можете проверить: Строки подключения для SQL Server 2008 для получения дополнительной информации.

С уважением

Другие вопросы по тегам