Ошибка подключения локальной базы данных к серверу SQL Server в Windows 7

Я запускаю SQL Server 2012 Management Studio Express в Windows 7, у меня возникают проблемы с подключением к локальному db. Я пробовал все вышеупомянутые решения, не работал. пожалуйста помоги. спасибо заранее.

Установочный адрес здесь.

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

Для получения справки нажмите ссылку MSDN.

Ответ 1

Предполагая, что вы установили SQL Server и использовали именованный экземпляр SQLEXPRESS, ваше имя сервера должно быть:

.\SQLEXPRESS

Или:

127.0.0.1\SQLEXPRESS

Вы можете проверить имя экземпляра (это может быть не SQLEXPRESS) и что сервер работает в меню "Пуск" по пути, очень похожему на него (но он будет меняться по версии):

Пуск > Программы > Microsoft SQL Server > Инструменты настройки >
      Менеджер конфигурации SQL Server

Если он в настоящий момент остановлен, вам нужно щелкнуть правой кнопкой мыши и выбрать "Пуск":

enter image description here

Вы также должны щелкнуть правой кнопкой мыши и убедиться, что для режима запуска задано автоматическое (это находится в разделе "Свойства" > "Сервис" ).

Сообщение об ошибке означает, что сервер пытается использовать именованные каналы. В то время как локально он должен иметь возможность использовать общую память, вы должны убедиться, что служба SQL Server Browser запущена. Вы можете сделать это в:

Панель управления > Администрирование > Службы

enter image description here

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

Если вы все еще ничего не получаете, возможно, вы установили SQL Server 2012, не добавляя вручную учетную запись Windows в группу администраторов. Если это так, надеюсь, вы установите его для использования в смешанном режиме, и вы можете подключиться как sa. В противном случае вам понадобится использовать инструмент PSExec.exe для запуска SSMS как NT AUTHORITY\SYSTEM:

PsExec -s -i "C:\...path to ssms...\Ssms.exe"

Если вы можете подключиться как sa или вам нужно подключиться с помощью PSExec, следующие шаги:

  • убедитесь, что ваша учетная запись Windows - это логин в разделе Сервеp > Безопасность > Логины. Если он отсутствует, добавьте его, щелкнув правой кнопкой мыши Logins > New Login.
  • убедитесь, что логин является членом фиксированной роли сервера sysadmin. Если это не так, убедитесь, что оно находится на вкладке "Роли сервера".

Ответ 2

Вы можете подключить SSMS к экземпляру LocalDB, используя именованные каналы.

1. Получите адрес экземпляра (localdb), выполнив следующую команду: "C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe" информация [имя_экземпляра] (если это интересующий вас экземпляр по умолчанию, укажите v11.0 как [имя_экземпляра] Вы можете записать его в CMD в текстовый файл с помощью команды:

"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe" info v11.0 > C:\db_details.txt

2 - Скопируйте значение имени "Имя экземпляра", например. нп:.\\ Труба \LocalDB # 1E0FF40B\TSQL\запрос

3 - Вставьте имя имени экземпляра "Имя экземпляра" в качестве имени сервера.

Ответ 4

Попробуйте этот код:

RegistryKey rKey;
string InstanceName;

//use this string for database connection
string ConString;
string regPath = @"Software\Microsoft\Microsoft SQL Server\UserInstances";
rKey = Registry.CurrentUser.OpenSubKey(regPath);

if (rKey.GetSubKeyNames().Length != 0)
{
    regPath += @"\" + rKey.GetSubKeyNames()[0];
    rKey = Registry.CurrentUser.OpenSubKey(regPath);
    InstanceName = rKey.GetValue("InstanceName").ToString();
    ConString = @"Server=np:\\.\pipe\" + InstanceName +
        @"\tsql\query;Initial Catalog=RahBord;Trusted_Connection=True";
}
else
{
    Process.Start(@"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe", "c amirLOCALDB -s");
    regPath += @"\" + rKey.GetSubKeyNames()[0];
    rKey = Registry.CurrentUser.OpenSubKey(regPath);
    InstanceName = rKey.GetValue("InstanceName").ToString();
    ConString = @"Server=np:\\.\pipe\" + InstanceName + @"\tsql\query;Initial Catalog=RahBord;Trusted_Connection=True";
}

Если ваш экземпляр остановлен, перейдите по этому адресу:

C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ 

и используйте эту команду

SqlLocalDB.exe s yourInstance

Ответ 5

Вы проверили, что протокол TCP включен для вашего конкретного сервера. Следуйте этим инструкциям, чтобы убедиться, что он включен.

http://msdn.microsoft.com/en-us/library/bb909712(v=vs.90).aspx

После их включения вы должны перезапустить службу. Если он не может запустить проверку журнала событий по той причине, почему он этого не сделал. Общими причинами являются то, что на этом порту уже существует другая служба (обычно другая версия SQL Server). Если это так, вам может потребоваться перенастроить серверные порты. Проверьте это сообщение в блоге (также есть изображения о том, как проверить наличие TCP/IP):

http://blogs.msdn.com/b/sqlblog/archive/2009/07/17/how-to-configure-sql-server-to-listen-on-different-ports-on-different-ip-addresses.aspx

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

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

Ответ 6

  • откройте диспетчер задач, затем найдите sqlservr.exe на вкладке процесса
  • убедитесь, что поле командной строки столбца отображается, если нет, затем нажмите "Просмотр" > "Выбрать столбец" > "Прокрутить вниз" и "Отметить командную строку" > "ОК"
  • вы увидите "C:\Program Files\Microsoft SQL\110\LocalDB\Binn\sqlservr.exe" -c SMSSQL11E.LOCALDB -s LOCALDB # C1E849D0 --etc
  • Обратите внимание на LOCALDB # C1E849D0
  • Откройте студию управления SQL (администратор runas), затем в поле Имя сервера введите \\.\pipe ** LOCALDB # C1E849D0 **\tsql\query Вы должны иметь возможность просматривать всю базу данных внутри LOCALDB