私が見ている問題の原因がわかったので、以前に尋ねた質問を再キャストします。
私が持っているもの:SQL Server2000上のDB内のテーブル。Access2007、SQL Server Management Studio 2005、および場合によってはSQL 2000EnterpriseManagerを使用してテーブルを表示/編集します。
私がしたこと:SQLServer2000からSQLServer2005のローカルインスタンスにDBをコピーしようとしました。コピーはエラーなしで発生しました。Access 2007でコピーしたDBのテーブルを表示しようとすると、例外がスローされました。
私が見つけたもの:例外をスローしていたテーブルには、それらに関連付けられた拡張プロパティがありました。これは、Accessでテーブルレイアウトへの変更を保存するために「はい」と言ったことにさかのぼります。
これを修正するために試したこと:SQL Server 2005 Management Studioを使用して拡張プロパティを削除し、DBを再コピーしようとしましたが、問題は修正されませんでした。テーブルのスクリプトを作成すると、拡張プロパティが実際にテーブルに表示されなくなっていないことがわかりました。
今私の質問に:
DBにあるsyspropertiesテーブルと呼ばれるEnterpriseManagerを使用してテーブルを追跡しました。 これは文書化されていないテーブル(ため息)かもしれませんが、それは私にすべての頭痛の種を引き起こしている拡張プロパティ情報を持っているようです。別のテーブルのレイアウトを変更して、 syspropertiesテーブルにレコードが追加されているかどうかを確認しようとしましたが、答えはノーのようでした。
誰かがこの問題の経験がありますか?このテーブルのエントリを削除するだけで安全ですか?私が行った「レイアウトの変更」のほとんどは、Accessの列のサイズを調整することだったと思います。そのため、そこに保存されているのがそれだけであれば、それで対応できます。
さらに、Enterprise Managerで拡張テーブルのプロパティを探しましたが、SSMS2005内からのように簡単にアクセスできませんでした。
前もって感謝します!