2012-08-28 28 views
12

Estoy ejecutando SQL Server 2012 Management Studio Express en Windows 7, tengo problemas para conectarme al db local. Probé todas las soluciones mencionadas anteriormente, no funcionó. por favor ayuda. gracias por adelantado.Error de conexión de la base de datos local del estudio de administración del servidor SQL en Windows 7

La url de instalación es here.

error- A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) (Microsoft SQL Server, Error: -1)

Para obtener ayuda, haz clic en MSDN link.

+0

¿Qué hay en la cadena de conexión? El error le indica que es muy probable que tenga un elemento de origen de datos no válido. –

Respuesta

21

Suponiendo que ha instalado SQL Server y utilizó el SQLEXPRESS instancia con nombre, el nombre del servidor debe ser:

.\SQLEXPRESS 

O:

127.0.0.1\SQLEXPRESS 

puede comprobar el nombre de la instancia (que puede no ser SQLEXPRESS) y que el servidor se ejecuta en el menú Inicio en una ruta muy similar a esto (pero variará según la versión):

Start > Programs > Microsoft SQL Server > Configuration Tools >
   SQL Server Configuration Manager

Si se detiene la actualidad, es necesario el botón derecho del ratón y seleccione Inicio:

enter image description here

También debe hacer clic derecho y asegurar que el modo de inicio está establecido en automático (esto es en Propiedades> Servicio) .

El mensaje de error parece implicar que el servidor está tratando de utilizar canalizaciones con nombre. Si bien a nivel local debería poder utilizar la memoria compartida, debe asegurarse de que el servicio del navegador SQL Server se esté ejecutando. Puede hacerlo en:

Control Panel > Administrative Tools > Services

enter image description here

Si no está iniciado, inicie, y establecer su modo de inicio automático. (Como anteriormente, puede hacer ambas cosas desde el menú contextual).

Si aún no está llegando a ninguna parte, es posible que instaló SQL Server 2012 sin agregar manualmente su cuenta de Windows al grupo de administradores . Si este es el caso, con suerte lo configura para usar el modo mixto y puede conectarse como sa. De lo contrario, tendrá que utilizar una herramienta como PSExec.exe para funcionar SSMS como NT AUTHORITY \ SYSTEM:

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

si puede conectarse como sa o si necesita conectarse a través de PSExec, son los siguientes pasos:

  1. asegúrate de que tu cuenta de Windows sea un inicio de sesión en Servidor> Seguridad> Inicios de sesión. Si no está allí, agréguela haciendo clic con el botón derecho en Ingresos> Nuevo inicio de sesión.
  2. asegúrese de que el inicio de sesión sea miembro de la función de servidor fijo sysadmin. Si no es así, asegúrese de que esté en la pestaña Roles del servidor.
+0

¡Genial! Gracias a Save a Day. :) –

+0

Y si desea conectar localDB, simplemente ponga '(LocalDb) \ v11.0' en el cuadro de texto del nombre del servidor. – Moshii

11

Puede conectar SSMS a una instancia de LocalDB utilizando conductos con nombre.

1 - Obtener la dirección de una instancia (LocalDB) ejecutando el siguiente comando: "C: \ Archivos de programa \ Microsoft SQL Server \ 110 \ Tools \ Binn \ SqlLocalDB.exe" info [nombreDeInstancia] (si es la instancia predeterminada que le interesa, especifique v11.0 como el [nombreDeInstancia] se puede escribir en CMD al archivo de texto con el comando:

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

2 - Copia de la "instancia nombre de la tubería "value, por ej. np: \. \ pipe \ LOCALDB # 1E0FF40B \ tsq l \ consulta

3 - Pegue el valor "Instance pipe name" como el nombre del servidor.

+0

No funciona. Todavía recibo el mismo mensaje de error cuando me conecto con la tubería nombrada. – ygoe

+0

Asegúrese de habilitar los conductos con nombre - https://www.blackbaud.com/files/support/infinityinstaller/content/installermaster/tkenablenamedpipesandtcpipconnections.htm –

+0

Oh genial. Ahora que he habilitado las canalizaciones con nombre (nadie dijo que tengo que hacer eso), 'sqllocaldb info' devuelve un valor vacío para la instancia de canalización con nombre. Parece que ya se fue, que debería hacer algo. Aún no funcional. Creo que me quedaré con SQL Express. O PostgreSQL/MySQL si debería ser realmente compacto. – ygoe

0

Prueba este código:

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"; 
} 

Si la instancia dejó de ir a la siguiente dirección:

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

y utilizar este comando

SqlLocalDB.exe s yourInstance 
0

¿Ha comprobado que el protocolo TCP es habilitado para su servidor particular. Siga estas instrucciones para ver que esté habilitado.

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

puedes activar debe reiniciar el servicio. Si no se puede iniciar, verifique el registro de eventos por el motivo por el cual no lo hizo. Las causas comunes son que hay otro servicio (generalmente otra versión del servidor SQL) que ya se está ejecutando en ese puerto. Si ese es el caso, es posible que deba reconfigurar los puertos de su servidor. Compruebe esta entrada del blog (también incluye imágenes sobre cómo comprobar para TCP/IP activado):

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

Después de que la siguiente barrera habitual es el software de seguridad de firewall o Internet bloqueando la conexión. Esto me ha pasado incluso en instancias locales. Resuelve eso y deberías ser bueno para ir.

Si después de todo esto aún no puede conectarse, busque en el registro de eventos por algún motivo.

0
  1. abrir administrador de tareas y luego encontrar sqlservr.exe en la pestaña proceso
  2. asegúrese de que la columna Línea de comando esté visible si no, haga clic en Ver> Seleccionar columna> Desplazarse hacia abajo y marcar Línea de comando> Hacer clic OK
  3. verá "C: \ Archivos de programa \ Microsoft SQL \ 110 \ LocalDB \ Binn \ sqlservr.exe "-c SMSSQL11E.LocalDB -s LocalDB # C1E849D0 --etc
  4. Tomar nota de la LocalDB # C1E849D0
  5. Abra SQL Management Studio (runas administrador) y luego en el nombre de servidor indique \\. \ Pipe ** LocalDB # C1E849D0 ** \ tsql \ query Debería poder buscar ahora toda la base de datos dentro de LOCALDB
Cuestiones relacionadas