質問

誰かが明確な答えを持っていますか? SQL Server管理オブジェクト SQL Server 7.0 と互換性がありますか?ドキュメントには次のように記載されています。

SMO は SQL Server バージョン 7.0、SQL Server 2000、SQL Server 2005、および SQL Server 2008 と互換性があるため、複数バージョン環境を簡単に管理できます。

しかし、SQL 7 インスタンスに接続しようとすると、次のエラーが発生します。

「この SQL Server バージョン (7.0) はサポートされていません。」

この2人をうまくプレイさせることに成功した人はいますか?

役に立ちましたか?

解決

SMO を使用して SQL Server バージョン 7、2000、および 2005 に接続できますが、SMO は互換性レベル 60、65、および 70 に設定されたデータベースをサポートしません。

SQL Server 7.0 の場合、互換性レベルは 70 です。

明らかにこれは矛盾した情報です...DB の互換性レベルが 70 の場合は接続できないと思います。

実行を確認するには:EXEC sp_dbcmptlevel 'データベース名'

このリンクを通して見ると, 、これを実行すると互換性レベルを変更できるようです。

EXEC sp_dbcmptlevel 'データベース名', 80

明らかに、何かを変更する前にバックアップを作成してください。

他のヒント

ドキュメントは間違っているようです (そして、過去 3 年以上も間違いが続いています!)。このスニペットを見つけたのは、 リフレクター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())
       );
    }
}

つまり、SQL 2000 と SQL 2005 のみがサポートされているようです。おそらく、SQL 2008 (バージョン 10) では SMO アセンブリが更新されています。

残念 - 元に戻ってしまったようですね SQL-DMO このプロジェクトのために。

コメントをフォローアップするために、SQL 2008 には SQL 2000、2005、2008 をサポートする独自の SMO パッケージがあり、実際にはダウンロード ページに明確に文書化されています。SQL 2005 SMO を SQL 2008 に接続できないのは正しいことです。

SMO のバージョン 10 にはいくつかの優れた更新があり、接続している SQL のバージョンに存在しないプロパティにアクセスすると、「このプロパティはこのバージョンの SQL では使用できません」という適切な例外が発生するか、そういう趣旨の言葉。

Microsoft SQL Server 2008管理オブジェクトSQL Server Management Objects(SMO)は、ソフトウェア開発者がSQL Serverオブジェクトとサービスを管理および管理するためのクライアント側アプリケーションを作成できるようにする.NETフレームワークオブジェクトモデルです。このオブジェクト モデルは、SQL Server 2000、SQL Server 2005、および SQL Server 2008 で動作します。

返事遅れてすみません...がある 部分的なサポート SQL 2000 および SQL 7 の場合

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top