подключение к серверу sql 2008 - PullRequest
0 голосов
/ 26 декабря 2011

эй, может кто-нибудь сказать мне, в чем здесь проблема?

SqlConnection sqlConn = new SqlConnection();
sqlConn.ConnectionString = "server=zekyakad-7727\\sqlexpress.master.dbo;database=master;";
sqlConn.Open(); //error line

Ошибка msg: при установке соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр)

Ответы [ 3 ]

1 голос
/ 26 декабря 2011

Проверьте следующее:

  1. Убедитесь, что ядро ​​базы данных настроено на прием удаленных подключений • Пуск> Все программы> SQL Server 2005> Инструменты настройки> Конфигурация внешней поверхности SQL Server •Щелкните Конфигурация контактной зоны для служб и подключений. • Выберите экземпляр, в котором возникла проблема> Компонент Database Engine> Удаленные подключения. • Включите локальные и удаленные подключения. • Перезапустите экземпляр

  2. Проверьте службу SQL Server.учетная запись • Если вы не используете учетную запись домена в качестве учетной записи службы (например, если вы используете NETWORK SERVICE), вы можете сначала переключить ее, прежде чем продолжить

  3. Если вы используетеименованный экземпляр SQL Server, убедитесь, что вы используете это имя экземпляра в строках подключения в приложении ASweb P.NET. • Обычно для указания сервера базы данных используется формат имя_машины \ имя_экземпляра. • Проверьте также и строку подключения

  4. Возможно, вам потребуется создать исключение в брандмауэре для используемого экземпляра SQL Server и порта

• Пуск> Выполнить> Firewall.cpl • Перейдите на вкладку исключений • Добавитьsqlservr.exe (обычно находится в C: \ Program Files (x86) \ Microsoft SQL Server \ MSSQL.x \ MSSQL \ Binn) и порт (по умолчанию 1433) • Проверьте также строку подключения

<connectionStrings>
<add name=”SampleConnectionString” connectionString=”Data Source=machinename\in
stancename;Initial Catalog=AdventureWorks;Integrated Security=SSPI;Min  Pool Size=5;Max     Pool Size=60;Connect Timeout=30″ providerName=”System.Data.SqlClient”/>

</connectionStrings>

5.Если вы используете именованный экземпляр SQL Server, убедитесь, что вы используете это имя экземпляра в строках соединения

6. Проверьте SQLBrowser;проверьте, что он работает.Вам также может понадобиться создать исключение в своем брандмауэре для SQLBrowser.

7. Проверьте, что у вас есть подключение к SQL Server.Обратите внимание, что вы используете для подключения: имя компьютера, имя домена или IP-адрес?Используйте это при проверке подключения.Например, если вы используете myserver • Пуск> Выполнить> cmd • netstat -ano |findstr 1433 • telnet myserver 1433 • ping -a myserver

Проверьте, какие порты возвращаются IP-адреса.

Альтернатива: если вы все еще не можете подключиться, возможно, вы захотите создатьучетная запись SQL на сервере, соответствующий пользователь SQL в рассматриваемой базе данных, и просто используйте эту комбинацию имени пользователя и пароля в своем веб-приложении.

1 голос
/ 26 декабря 2011

Может быть любое количество вещей:

  • Неверная строка подключения
  • Нет доступа к сети между компьютером, на котором запущен этот сервер, и SQL Server
  • Существует брандмауэр, блокирующий определенные необходимые порты
  • SQL Server не работает
  • SQL Server не настроен для разрешения удаленных подключений
  • Вы не предоставили учетные данные или настройкиподключение к Windows Auth
  • У пользователя нет прав входа в систему для SQL Server

Итак:

  • Убедитесь, что вы используете правильные строки подключения
  • Убедитесь, что SQL Server работает
  • Проверьте сеть и возможность подключения к SQL Server
  • Настройте SQL Server для удаленных подключений
  • Убедитесь, что выпредоставление действительных учетных данных

Чтобы быть более конкретным:

Вы установили Server в строке подключения следующим образом:

zekyakad-7727\\sqlexpress.master.dbo

Это делаетне похоже на намe сервер .Вероятно, это должно быть zekyakad-7727.

Взгляните на connectionstrings.com , чтобы увидеть, как должны выглядеть действительные строки подключения.

0 голосов
/ 26 декабря 2011

Вместо того, чтобы вводить строку подключения таким образом, я бы предложил вам использовать SqlConnectionStringBuilder следующим образом. Это менее подвержено ошибкам.

SqlConnection dataConnection = new SqlConnection();
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = ".\\SQLExpress"; // Your Datasource
builder.InitialCatalog = "Northwind"; // Database Name
builder.IntegratedSecurity = true;
dataConnection.ConnectionString = builder.ConnectionString;
dataConnection.Open();
...