Technology へようこそ
ここは技術者の「経験」と「ノウハウ」のブログです


--年--月--日

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


2008年07月14日

SQL Server 2005

まもなくSQL Server 2008 が発売され、ユーザー定義テーブル型が使えたりTime型が追加になったりするようですが、弊社の場合、開発の中心ははまだSQL Server 2000で、2005も一部使っているといったところです。そこで、今更ではありますが、SQL Server 2000から2005への移行の話です。

SQL Server 2000から2005への移行で問題となる点はそんなにはありません。
あるシステムで実際に移行の調査をして、プログラムの修正が必要なった個所を紹介します。

・インデックス名がテーブル内で一意でしたが、データベース内で一意に変更になりました。
 テーブル名を付けたインデックス名を使用していれば影響はないです。

・クエリヒントは "with" が省略可から必須になりました。
 ヒントを書かなければなららい場面はもともと多くないですが、ヒントを使用する必要があるようなSQL文は、"with"必須化などには関係なく2005のエンジンでの性能再評価は必須と思われます。

・ビューで指定した order by が保証されないことなりました。
 従来より、ビューでの order by句は top句を使用した場合のみ使用可能でその点は変更ありませんが、ビューの返す結果の順序を指定するには、外部からビューに対してOrderを指定する必要が生じました。
 select top 100 percent ... from ... order by ... のようにビュー定義を行い、ビューをselectしただけで済ませることができなくなってしまいました。
 ビューをBCP outの対象としている場合などは注意が必要ですね。

・*= および =* を用いたテーブル連結の指定はできなくなりました。
 この問題は発生しませんでしたが、from句での join文によらずにこの指定でSQL文を組んでいる場合は改修が必要です。

他には isqlユーティリティが無くなった等の問題が生じましたが、特に大きな問題はありませんでした。尚、データベースの互換性レベルの設定を2000にすれば、プログラムの修正をせずに動作させることはできます(その場合では、テストは要りますが)。

[ posted by hori ]


この記事に対するコメント


この記事に対するコメントの投稿














管理者にだけ表示を許可する



この記事に対するトラックバック
トラックバックURL
http://comfair2.blog24.fc2.com/tb.php/378-7a3a8ae7
この記事にトラックバックする(FC2ブログユーザー)











上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。