2008-08-28 7 views
0

Quelqu'un at-il une réponse définitive à savoir si Sql Server Management Objects est compatible avec Sql Server 7.0? L'état docs:SMO et Sql Server 7.0

Parce que SMO est compatible avec la version SQL Server 7.0, SQL Server 2000, SQL Server 2005 et SQL Server 2008, vous gérez facilement un environnement multi-version.

Mais en essayant de se connecter à une instance Sql 7 me obtient:

"Cette version SQL Server (7.0) ne sont pas pris en charge."

Quelqu'un at-il réussi à obtenir ces 2 à jouer sympa?

Répondre

3

vous pouvez utiliser SMO pour se connecter à des versions SQL Server 7, 2000 et 2005, mais SMO ne prend pas en charge les bases de données établies à des niveaux de compatibilité 60, 65 et 70.

pour SQL Server 7.0 la compatibilité le niveau est 70

De toute évidence, il s'agit d'informations contradictoires ... Je suppose que si votre niveau de compatibilité de votre DB est de 70, vous ne pouvez pas vous connecter.

Pour vérifier l'exécution: EXEC sp_dbcmptlevel 'databasename'

Looking through this link, il semble que vous pourriez être en mesure de changer le niveau de compatibilité en exécutant ceci:

EXEC sp_dbcmptlevel 'databasename', 80

De toute évidence faire une sauvegarde avant de changer quoi que ce soit.

1

On dirait que les docs sont faux (et ont continué à se tromper au cours des 3 dernières années!). J'ai trouvé cet extrait avec Reflector dans 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()) 
     ); 
    } 
} 

, il semble donc que comme SQL 2000 et SQL 2005 sont pris en charge. SQL 2008 (version 10) a vraisemblablement mis à jour les assemblys SMO.

Bummer - devinez qu'il est de retour à SQL-DMO pour ce projet.

1

Juste pour le suivi de votre SQL 2008 ne obtenir des commentaires son propre package SMO qui prend en charge SQL 2000, 2005 et 2008, ce qui est effectivement définitivement documenté sur leur page de téléchargement! Et vous avez raison, vous ne pouvez pas connecter SQL 2005 SMO à SQL 2008.

Il existe de bonnes mises à jour de mises à jour dans la version 10 du SMO car si vous accédez à des propriétés qui n'existent pas sur la version de SQL que vous utilisez. Vous êtes connecté à vous obtenez une exception raisonnable "Cette propriété n'est pas disponible sur cette version de SQL" ou des mots à cet effet. Objets de gestion Microsoft SQL Server 2008 Objets de gestion SQL Server (SMO) est un.Modèle d'objet NET Framework qui permet aux développeurs de logiciels de créer des applications côté client pour gérer et administrer les objets et services SQL Server. Ce modèle d'objet fonctionnera avec SQL Server 2000, SQL Server 2005 et SQL Server 2008.