Frage

Hat jemand eine definitive Antwort darauf, ob? SQL Server-Verwaltungsobjekte ist mit SQL Server 7.0 kompatibel?In den Dokumenten heißt es:

Da SMO mit SQL Server Version 7.0, SQL Server 2000, SQL Server 2005 und SQL Server 2008 kompatibel ist, können Sie problemlos eine Umgebung mit mehreren Versionen verwalten.

Aber wenn ich versuche, eine Verbindung zu einer SQL 7-Instanz herzustellen, bekomme ich Folgendes:

„Diese SQL Server-Version (7.0) wird nicht unterstützt.“

Ist es irgendjemandem gelungen, diese beiden zum Laufen zu bringen?

War es hilfreich?

Lösung

Sie können SMO verwenden, um eine Verbindung zu den SQL Server-Versionen 7, 2000 und 2005 herzustellen, aber SMO unterstützt keine Datenbanken, die auf die Kompatibilitätsstufen 60, 65 und 70 eingestellt sind.

Für SQL Server 7.0 beträgt der Kompatibilitätsgrad 70

Offensichtlich handelt es sich hier um widersprüchliche Informationen. Ich gehe davon aus, dass Sie keine Verbindung herstellen können, wenn Ihr DB-Kompatibilitätsgrad 70 beträgt.

Um den Lauf zu überprüfen:EXEC sp_dbcmptlevel 'Name der Datenbank'

Schauen Sie sich diesen Link an, es sieht so aus, als könnten Sie den Kompatibilitätsgrad ändern, indem Sie Folgendes ausführen:

EXEC sp_dbcmptlevel 'Name der Datenbank', 80

Erstellen Sie natürlich eine Sicherungskopie, bevor Sie etwas ändern.

Andere Tipps

Es sieht so aus, als ob die Dokumente falsch sind (und sie sind seit mehr als drei Jahren weiterhin falsch!).Ich habe diesen Ausschnitt mit gefunden Reflektor In 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())
       );
    }
}

Es sieht also so aus, als ob nur SQL 2000 und SQL 2005 unterstützt werden.Vermutlich verfügt SQL 2008 (Version 10) über aktualisierte SMO-Assemblys.

Mist – schätze, es ist wieder soweit SQL-DMO für dieses Projekt.

Nur um Ihrem Kommentar nachzugehen: SQL 2008 verfügt über ein eigenes SMO-Paket, das SQL 2000, 2005 und 2008 unterstützt, was tatsächlich definitiv auf der Download-Seite dokumentiert ist!Und Sie haben Recht, Sie können SQL 2005 SMO nicht mit SQL 2008 verbinden.

Es gibt einige nette Aktualisierungen in Version 10 des SMO. Wenn Sie auf Eigenschaften zugreifen, die in der SQL-Version, mit der Sie eine Verbindung herstellen, nicht vorhanden sind, erhalten Sie eine sinnvolle Ausnahme „Diese Eigenschaft ist in dieser SQL-Version nicht verfügbar“. Worte in diesem Sinne.

Microsoft SQL Server 2008-Verwaltungsobjekte Die SQL Server-Verwaltungsobjekte (SMO) sind ein .NET-Framework-Objektmodell, mit dem Softwareentwickler clientseitige Anwendungen erstellen können, um SQL-Serverobjekte und -dienste zu verwalten und zu verwalten.Dieses Objektmodell funktioniert mit SQL Server 2000, SQL Server 2005 und SQL Server 2008.

Entschuldigung für die späte Antwort...Es gibt teilweise Unterstützung für SQL 2000 und SQL 7

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top