SQL Server 2008 の新機能 (ADO.NET)
更新 : November 2007
SQL Server 2008 には、開発者、設計者、および管理者の能力や生産性を向上させる新機能や機能強化が導入されています。強化された点としては、新しい Transact-SQL ステートメント、データ型、管理機能などがあります。新機能の完全なリストについては、SQL Server 2008 オンライン ブックの「新機能 (SQL Server 2008)」を参照してください。新しい Transact-SQL ステートメント、管理ツール、セキュリティ強化などのデータベース エンジン機能については、SQL Server 2008 オンライン ブックの「新機能 (データベース エンジン)」を参照してください。
SQL Server 2008 の SqlClient サポート
.NET Framework 3.5 Service Pack (SP) 1 以降では、.NET Framework Data Provider for SQL Server (System.Data.SqlClient) が SQL Server 2008 データベース エンジンの新機能すべてをサポートします。SqlClient でこれらの新機能を使用するには、.NET Framework 3.5 SP1 以降をインストールする必要があります。
次のトピックは ADO.NET ドキュメントに含まれています。
SQL Server 2008 における日付と時刻のデータ (ADO.NET)
SQL Server 2008 では、次の日付と時刻のデータ型が導入されています。date
time
datetime2
datetimeoffset
これらの新しいデータ型では、サポートされる日付と時刻の範囲が拡張され、タイム ゾーンの処理ができるようになりました。関連する SQL Server ドキュメントについては、SQL Server 2008 オンライン ブックの「日時データの使用」を参照してください。
SQL Server 2008 の FILESTREAM データ (ADO.NET)
SQL Server 2008 では、varbinary(max) 列に格納されるバイナリ データの FILESTREAM ストレージ属性が導入されました。これによって、データベース ファイルではなくローカル NTFS ファイル システムにデータを格納できるようになりました。関連する SQL Server ドキュメントについては、SQL Server 2008 オンライン ブックの「FILESTREAM の概要」を参照してください。SQL Server 2008 のテーブル値パラメータ (ADO.NET)
テーブル値パラメータは SQL Server 2008 の新しいパラメータ型です。これによって、クライアント アプリケーションのデータ行をカプセル化して、単一のパラメータ化コマンドでサーバーに送ることができます。受信データ行はテーブル変数に格納され、Transact-SQL によって操作できるようになります。関連する SQL Server ドキュメントについては、SQL Server 2008 オンライン ブックの「テーブル値パラメータ (データベース エンジン)」を参照してください。SQL Server 2008 における大きな UDT (ADO.NET)
SQL Server 2005 では、UDT の最大サイズが 8 KB に制限されていました。UserDefined 形式の UDT では、この制限が廃止されています。関連する SQL Server ドキュメントについては、SQL Server 2008 オンライン ブックの「CLR ユーザー定義型の使用」を参照してください。
Type System Version の変更
クライアント アプリケーションで利用可能な機能は、SQL Server のバージョンとデータベースの互換性レベルに依存します。SqlConnection.ConnectionString の Type System Version キーワードは、クライアント側での SQL Server 型の表現の指定に使用できます。使用されている SQL Server のバージョンが、クライアント アプリケーションで想定されているものと異なる場合、アプリケーションが正常に動作しない可能性がありますが、型システムのバージョンを明示的に設定することでその問題を防ぐことができます。たとえば、SQL Server 2000 を指定した場合、UDT 列は byte[] 配列で表されます。SQL Server 2005 を指定した場合はマネージ型として表されます。
次の表に、Type System Version で使用可能な値を示します。
値 |
説明 |
---|---|
Latest |
このクライアント/サーバーの組み合わせで扱うことのできる最新バージョンが使用されます。クライアントおよびサーバーのコンポーネントをアップグレードすると、使用されるバージョンも自動的に繰り上げられます。これは ADO.NET の既定の設定です。 |
SQL Server 2000 |
SQL Server 2000 の型システムが使用されます。 |
SQL Server 2005 |
SQL Server 2005 の型システムが使用されます。 |
SQL Server 2008 |
SQL Server 2008 の型システムが使用されます。Datetime 値は、型システムのバージョンおよびサーバーで指定された既定の言語に基づいて処理されます。 |
SQL Server 2008 で導入された機能との互換性を確保するには、次のいずれかの方法で、接続文字列内に Type System Version を明示的に指定します。
Type System Version= SQL Server 2008;
Type System Version=Latest;
![]() |
---|
SQL Server でインプロセスで実行される共通言語ランタイム (CLR) コードに対して型システムのバージョンを設定することはできません。詳細については、「SQL Server の共通言語ランタイム統合 (ADO.NET)」を参照してください。 |
接続文字列を実行時に作成する場合、SqlConnectionStringBuilder の TypeSystemVersion プロパティで設定することもできます。詳細については、「接続文字列ビルダ (ADO.NET)」を参照してください。