Pregunta

¿Alguien tiene una respuesta definitiva sobre si Objetos de administración del servidor SQL ¿Es compatible con Sql Server 7.0?Los documentos dicen:

Debido a que SMO es compatible con SQL Server versión 7.0, SQL Server 2000, SQL Server 2005 y SQL Server 2008, puede administrar fácilmente un entorno de múltiples versiones.

Pero al intentar conectarme a una instancia de Sql 7 obtengo:

"Esta versión de SQL Server (7.0) no es compatible".

¿Alguien ha logrado que estos 2 jueguen bien?

¿Fue útil?

Solución

puede utilizar SMO para conectarse a las versiones 7, 2000 y 2005 de SQL Server, pero SMO no admite bases de datos configuradas en los niveles de compatibilidad 60, 65 y 70.

para SQL Server 7.0 el nivel de compatibilidad es 70

Obviamente, esta es información contradictoria... Supongo que si el nivel de compatibilidad de su base de datos es 70, no podrá conectarse.

Para comprobar ejecutar:EXEC sp_dbcmptlevel 'nombre de la base de datos'

Mirando a través de este enlace, parece que podrías cambiar el nivel de compatibilidad ejecutando esto:

EXEC sp_dbcmptlevel 'nombre de la base de datos', 80

Obviamente haga una copia de seguridad antes de cambiar algo.

Otros consejos

Parece que los documentos están equivocados (¡y han seguido estando equivocados durante los últimos más de 3 años!).Encontré este fragmento con Reflector en Microsoft.SqlServer.Management.Common.ConnectionManager, Microsoft.SqlServer.ConnectionInfo

protected void CheckServerVersion(ServerVersion version) {
    if ((version.Major <= 7 || (version.Major > 9)) {
       throw new ConnectionFailureException(
          StringConnectionInfo.ConnectToInvalidVersion(version.ToString())
       );
    }
}

Entonces, parece que sólo se admiten SQL 2000 y SQL 2005.Presumiblemente, SQL 2008 (versión 10) ha actualizado los ensamblados SMO.

Qué fastidio, supongo que ha vuelto a SQL-DMO para este proyecto.

Solo para continuar con su comentario, SQL 2008 tiene su propio paquete SMO que admite SQL 2000, 2005 y 2008, que en realidad está definitivamente documentado en su página de descarga.Y tienes razón, no puedes conectar SQL 2005 SMO a SQL 2008.

Hay algunas actualizaciones interesantes en la Versión 10 de SMO en el sentido de que si accede a propiedades que no existen en la versión de SQL a la que se está conectando, obtendrá una excepción sensata "Esta propiedad no está disponible en esta versión de SQL" o palabras en ese sentido.

Microsoft SQL Server 2008 Objetos de administración Los objetos de administración de SQL Server (SMO) es un modelo de objetos de .NET Framework que permite a los desarrolladores de software crear aplicaciones del lado del cliente para administrar y administrar objetos y servicios de SQL Server.Este modelo de objetos funcionará con SQL Server 2000, SQL Server 2005 y SQL Server 2008.

Disculpa por la respuesta tardía...hay apoyo parcial para SQL 2000 y SQL 7

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top