SQL Server: ¿Qué son las instancias con nombre y predeterminadas?


35

¿Qué son las instancias con nombre y predeterminadas? ¿Cuál es / son la (s) diferencia (s) entre ellos? ¿Por qué se usan?

Respuestas:


30

De acuerdo con Microsoft con respecto al nombre vs predeterminado

Las aplicaciones cliente se conectan a una instancia de Microsoft SQL Server 2005 para trabajar con una base de datos SQL Server. Cada instancia de SQL Server está compuesta por un conjunto distinto de servicios que pueden tener configuraciones únicas. La estructura del directorio, la estructura del registro y el nombre del servicio reflejan el nombre de la instancia específica que identifica durante la instalación.

Una instancia es la instancia predeterminada, sin nombre, o es una instancia con nombre. Cuando SQL Server 2005 está instalado en la instancia predeterminada, no requiere que un cliente especifique el nombre de la instancia para realizar una conexión. El cliente solo tiene que saber el nombre del servidor.

Una instancia con nombre se identifica por el nombre de red de la computadora más el nombre de instancia que especifique durante la instalación. El cliente debe especificar tanto el nombre del servidor como el nombre de la instancia al conectarse.

De manera predeterminada, SQL Server se instala en la instancia predeterminada a menos que especifique un nombre de instancia. Sin embargo, SQL Server Express siempre se instala en una instancia con nombre a menos que fuerce una instalación predeterminada durante la instalación.


17

También puede instalar solo una instancia predeterminada (instancia sin nombre) pero puede instalar muchas instancias con nombre.

Muchos software de terceros generalmente usarán una instancia con nombre predeterminada, aunque es posible que no la mencionen. La razón está clara en las respuestas anteriores, las versiones estándar instalan una instancia sin nombre de forma predeterminada, mientras que la versión Express instala una instancia con nombre de forma predeterminada.

Es importante saber la diferencia desde esta perspectiva porque si tiene 2 o 3 servidores DB en ejecución, es posible que nunca se conecte a la versión correcta. Debido a que el software de terceros está buscando la instancia predeterminada mientras piensa que es la instancia de SQLEXPRESS a la que está intentando conectarse. Puede aumentar significativamente el tiempo de resolución de problemas si no sabe cómo conectarse a una instancia con nombre o sin nombre.

Entonces, si desea conectarse a la versión con nombre o sin nombre, use las siguientes pautas.

MY-MACHINE-NAME\SQLEXPRESS  /* named version - correct */
MY-MACHINE-NAME             /* unnamed version (default instance) - correct */
MY-MACHINE-NAME\MSSQLSERVER /* unnamed version (default instance) - Wrong */

Tenga en cuenta que aunque una instancia predeterminada tiene un nombre, ¡no se puede hacer referencia a ella por su nombre!


5

Además de la explicación que Brett G publicó, aquí hay algunas razones sobre por qué usarlas:

  • Puede tener diferentes instancias usando diferentes versiones de SQL (es decir, por defecto usando SQL 2008, instancia nombrada usando SQL 2005)
  • Separación de preocupaciones, ya sea algo con su aplicación o seguridad o lo que sea
  • Diferentes entornos de desarrollo.
  • Diferentes entornos de aplicación (es decir, de cosecha propia frente a terceros)

Todo tipo de razones para usarlos. Sin embargo, eso no significa que siempre sea una buena idea: P


5

Otra diferencia práctica: SQL2005 y superior le permiten instalar 16 o más instancias por sistema. Dado que las licencias son por CPU física , por instalación de servidor SQL (¡y no por instancia!), Esto significa que puede ejecutar hasta 16 instancias de SQL Server 2005 sin pagar un centavo más de lo que ya lo hizo.

Dado que las licencias de CPU pueden alcanzar los $ 15000 (!) Por socket, esto es imprescindible para grandes instalaciones con, por ejemplo, 16 núcleos y 256 GB de memoria.


1

También puede limitar la memoria y asignar un uso límite del procesador por instancia. También puede crear una instancia para aplicaciones escritas por el proveedor que 'necesitan' privilegios de administrador del sistema, para que no ponga en riesgo sus otras aplicaciones.


0

Una de las mejores razones es la separación de las bases de datos. Si está desarrollando su propia aplicación y está empaquetando SQL Express con ella, entonces tiene sentido instalarla en su propia instancia. Además, le da al usuario la opción de especificar una instalación SQL existente si así lo prefiere.

Si tiene una base de datos que es crítica y quiere asegurarse de que nadie más tenga acceso, puede entrar en su propia instancia con una autorización de seguridad muy limitada. Digamos que esa es su base de datos de producción, y luego se replica en la base de datos de informes en el mismo servidor **, que es de solo lectura para las personas. Es menos probable que, a pesar del error del usuario (administrador), los usuarios obtengan accidentalmente acceso a la base de datos de producción, al limitar quién puede realmente actualizar los grupos de seguridad en la instancia de producción a solo unas pocas personas.

** las buenas prácticas dicen que el servidor de informes sea una máquina separada, pero solo estoy haciendo esto como ejemplo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.