Database Edition GDR と F# の CTP (Community Technology Preview)

マイクロソフトでは、新たな製品やサービスを開発していくにあたって、実際にそのテクノロジを使用されるユーザーの皆さんに開発中のビッツを公開して評価していただくようにしています。
評価いただき、皆さんから寄せられるコメントやフィードバックを開発チームで検討して、反映できるものについては取り組んでいけるように努力しています。製品ライフサイクルにおいても最もユーザーの声が製品に響きやすい段階でもあります。
だからこそ、Community Technology Preview (CTP) にはできる限り多くのユーザーさんに試していただきたいと思っています。


そこで…


先日、Visual Studio Team System 2008 Database Edition GDR の CTP がリリースされました。


GDR とは General Distribution Release の意味をしていて、Service Pack のような「修正」を統合したものではなく、「機能追加・機能強化」を既存のユーザーに無償で提供するリリースになります。
Visual Studio Team System 2008 Database Edition Service Pack 1 (正確には Visual Studio 2008 の Service Pack 1 ですが) からソースコード開発における SQL Server 2008 への対応が追加されましたが、GDR では更にデータベース開発者を支援するための機能に関しても SQL Server 2008 への対応を追加いたします。今回リリースした CTP では、SQL Server 2008 をプロバイダーとしてサポートするだけでなく、今まで個別に提供してきた Power Tools の統合も含め、データベース開発者を支援する新機能が追加されています。


VSTS 2008 DB Edition GDR CTP でお試し・確認ができる:


【其の一】 SQL Server Support



  1. 当然、SQL Server 2008 をサポートします

    • 新しいデータタイプにも対応します
      (例) Intrinsic (date, datetime2, datetimeoffset, time)
      (例) Built-in SQL CLR types (geography, geometry, hierarchyid)
    • 新しい DML 対応
      (例) テーブル パラメータのマージ

  2. SQL Server の構成オプション

    • サーバー オプションの設定を展開前や展開時に確認されます
      更なる 1st Class オブジェクト タイプのサポート
    • Rules, defaults, Asymmetric keys, symmetric keys, certificates, …

【其の二】 プロジェクト


  1. サーバー プロジェクト

    • サーバー オブジェクトおよびオプションの設定を、別のサーバー プロジェクトで実装することが可能になります
      これにより、チームが各 SQL Server の標準構成を定義し、それらをデータベース プロジェクトから参照することができます

  2. パーシャル (部分的) プロジェクト

    • プロジェクト間でのコード共有を可能に。データ元のコードは「まんま」の状態で提供されるが、ソースコードのコントロール所有権はデータ源先が保持する。
      これにより、コードの再利用や一元のソーシングを実現することが可能になります

  3. 複合プロジェクト

    • 同じ展開ユニットに貢献する、他のデータベース プロジェクトや .dbschema ファイルを参照可能に
      これにより、開発役割や責任を分担し、複数のプロジェクトでデータベースの構成をすることが可能になります。

【其の三】 シングル ソーシングと外部アーティファクト


  1. SQL-CLR 参照機能で、SQL-CLR プロジェクトや SQL-CLR アセンブリへの Reference を可能にします。そうすることにより、その Reference は自動的にデータベース プロジェクト内で ASSEMBLY 型として認識されます。

【其の四】 ビルドと展開


  1. ビルドのプロセスで、個別のポータブル スキーマ アウトプットを生成し、再頒布展開エンジンに追加されます
  2. 再頒布展開エンジン。(例) データベース プロジェクトを展開するセットアップ アプリケーションを実装する時など…

【其の五】 リファクタリング


  1. 意図 (Intent) の保全

    • ユーザーが意図しているリファクタリングによる変更・編集を実現 (例えば Rename はそのまま Rename として実行されるので、Drop/Add として実行されることはない)

【其の六】 新しいリファクタリングの操作


  1. Wildcard Expansion
  2. Move Schema
  3. Fully Qualify
  4. リファクタリングの種類やターゲットの開発や展開を実現する拡張ポイント

【其の七】 スキーマ比較


  1. プロジェクト、データベース、dbschema ファイルなどを、どのように連携して比較することが可能になります
  2. Object Type のフィルタリング
  3. フィルタを無視するオプション

【其の八】 T-SQL の静的コード分析


  1. カスタム ルールの開発も展開も

【其の九】依存関係 (ビューアー)


  1. スキーマ内のオブジェクトの依存関係を表示

【其の十】 単体テスト


  1. 他の ADO.NET プロバイダを利用したテスト実施が可能になります

【其の十一】 データ生成


  1. Design-time の拡張

    • より小さい .dgen ファイル
    • Undo/Redo のサポート
    • Foreign Key の交換
    • 新しい表示ウィンドウで Population ステータスを分離

  2. ランタイムの拡張機能

    • 既定で SqlBulkCopy を利用してターゲット テーブルを作成
    • 生成されるデータを異なる方法でアウトプットすることを登録可能に。(例)BCP を使用した読み込みを可能にするために、Excel やファイルに生成すると登録する
    • カスタム アウトプットを登録することにより、データ生成時に様々な段階でスクリプトを実行できるようになります

【其の十二】 拡張性


  1. データ ジェネレータ
  2. 統計データの配布
  3. テスト条件
  4. 静的コード分析ルール
  5. リファクタリングの種類
  6. リファクタリングのターゲット

Visual Studio Team System 2008 Database Edition GDR の August CTP (英語版) はこちらからダウンロード可能です!
機会があったら、是非お試しください!


 


同日に、マイクロソフトが開発している F# と言う言語の CTP もリリースされました。
F# については、後日 Don Syme のブログ内容を少し翻訳して皆さんに紹介できればと思います!


F# の September CTP (英語版) はこちらからダウンロード可能です!