SQL Server 2000 に対する SQL Server 2005 の利点
-
01-07-2019 - |
質問
誰かいくつか名前を挙げてください。時間を与えることはできますが、これは他の人のためのものであり、コミュニティからの意見も欲しいと思っています。
解決
いくつかの違い:
- CLR (.NET) ストアド プロシージャ
- DTS の代わりに SSIS
- Enterprise Manager の代わりに、より多くの機能を備えた Management Studio (2008 バージョンはさらに優れています)
- VS統合
- より優れたレプリケーション
- SMO および AMO (アプリケーションからサーバーを処理するための拡張機能)
- テーブルとインデックスのパーティショニング
- データ型としての XML
- XMLデータ型を処理するXQuery
- サービスブローカー
- 通知サービス
- 分析サービス
- レポートサービス
今、私はこれらのことを念頭に置いています。他にも小さな素敵なものがたくさんありますが、これ以上挙げることはできません。
他のヒント
また、TSQL での共通テーブル式と例外管理も含まれます。非常に便利。
次の 2 つの点で、私にとってはさらに良くなりました。
1 - 優れた XML サポート。
2 - パーティション化されたテーブル。複数のテーブルやビューを使用する必要はもうありません。パーティション スキーマを定義するだけで、大幅に向上したパフォーマンスで巨大なテーブルを簡単に管理できます。
スナップショットの分離リーダーがライターをブロックしないとしても知られています。
データ型 varchar(MAX)
SQL Server 2000およびSQL Server 7では、行のサイズが8000バイトを超えることはできません...この問題を解決するために、MicrosoftはSQL Server 2005にVarchar(Max)、Nvarchar(Max)、およびVarbinary(Max)データ型を導入しました。これらのデータ型は、同じ量のデータを保持することができますblobが保持できる(2 GB)、他のデータ型に使用される同じタイプのデータページに保存されます。最大データ型のデータが8 kbを超えると、オーバーフローページが使用されます。
CLR ストアド プロシージャのサポート
より優れたクラスタリング/レプリケーション機能
スキーマ - はい、2000 には所有者がいますが、権限を正しく取得するのは非常に困難です。
非常に重要なのは TRY CATCH ステートメントです。SQL2005 ではこのようなステートメントがサポートされていますが、SQL2000 ではサポートされていません。
サンプル:
BEGIN TRY
-- Generate divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
-- Execute custom error retrieval routine.
END CATCH;
DB エンジンのみについて話しているのか、それとも製品全体について話しているのかによって異なります。SQL Server 2000 には、分析サービスやレポート サービスのような機能はありませんでした。DB エンジンに関しては、単純なアプリケーションに使用する場合は、気にする必要はないと思います。また、2005 年に導入された SQL Express エディションは、個展を開催する企業や小規模プロジェクトの調査/テストにとって価値のあるものになったと思います。
SQL Express は、以前の MSDE 製品よりもデータベース容量が大きい (4Gb 対 2Gb) ため、Slavo 氏が述べたように、テストや小規模なアプリケーションに最適です。SQL Server 2005 は Microsoft Update 経由で更新されますが、それが良いか悪いかは視点によって異なります。
PIVOT/UNPIVOT オペレーターは私にとって大きなメリットでした。
PIVOT は、行ベースの出力を列にローテーションします。これは、レポートの多くのニーズに非常に役立ちます。SQL 2005 より前は、PIVOT 用に独自の関数をロールする必要がありました。