特集:準備が整ったSQL Server 2005Visual Studio Magazine(4/5 ページ)

» 2004年10月21日 19時10分 公開
[Roger Jennings,FTPOnline]

 SQL Server 2005は、「localhost」ではなく、「サーバ名\インスタンス名」という名前付きインスタンスとしてインストールすることもできるため、もしそうした環境ならば、プロジェクトのプロパティのダイアログボックスのサーバ名や、データソースの設定ファイルとなるadventure_works.dsファイルの接続文字列(Connection String)の設定を環境に合うように変更してほしい。

 なお変更する場合には、adventure_works.dsをダブルクリックするか、右クリックし、[Open to display the Data Source Designer dialog]を選択すればよい。ベータ2では、[プロパティ]を選択することはできない。

 グラフィカルなDTSデザイナーでは、フラットなファイルのインポート機能が強化された「DTSインポート/エクスポート・ウィザード」を使うことで、作成されたパッケージをあとから拡張できる。

 列の長さやデータ型をカスタマイズするときには、事前にプレビューすることで、データが切り詰められてしまわないかを確認できる。

 ウィザードではさらに、新しいデータベースや新しいテーブルを加えたり、既存のテーブル内に新しい列を定義したりすることもできる。

SQLネイティブクライアントを使う

 SQLのネイティブクライアントドライバ(SQLNCL1.dll)は、SQL ServerのOLE DBプロバイダおよびODBCプロバイダを単一のDLLとしてまとめたものだ。

 このDLLは、Windows 2000 SP3にインストールされている「MDAC(Microsoft Data Access Component) 2.5 SP3」以降の環境で動作する。

 SQLネイティブクライアントを使うことで、ADOからアクセスするときに、ユーザー定義タイプ(UDT:User Defined Type)やXML機能、varchar(max)、nvarchar(max)、varbinary(max)のような、SQL Server 2005の新機能を使えるようになる。

 SQLネイティブクライアントでは、スナップショット分離レベル(snapshot transaction isolation)や複数のアクティブな結果セット(MARS:Multiple Active Result Sets)、非同期コマンド、そして、有効期限が切れたパスワードの変更といった機能も利用可能だ。

 SQLネイティブクライアントドライバは、Windows Installer形式の「SQLNCL1.msi」を使うことで、再配布できる。SQLネイティブクライアントドライバは、ネットライブラリにおいて非同期コマンドをサポートする(SQL Server 2000では非同期コマンドサポートしていない)。

 スナップショット分離レベル、MARS、そして非同期コマンドについては後述する。

 SQL Server 2005では、管理方法やレプリケーションの方法も変更された。

 SQL Server 2005では、従来の管理オブジェクトであった「SQL Distributed Management Objects(SQL-DMO)」が「SQL Management Objects(SMO)」と「Replication Management Objects(RMO)」の2つの管理オブジェクトに分離された。

 SMOとRMOは、それぞれ「Microsoft.SqlServer.Management」と「Microsoft.SqlServer.Replication」の名前空間に存在する.NET 2.0のアセンブリだ。これらは、SQL Server 7.0と2000もサポートするが、SQL Server 2005の場合に最も高いパフォーマンスを発揮する。

 SMOは従来SQL-DMOを使って管理していたアンマネージのコードをマネージドコードに置き換えるものだ。従来のSQL-DMOを使って作っていたものと同様なプログラムは、.NETコンポーネントの参照で、Visual Studio 2005による作成が可能だ。COMラッパーを使えば、アンマネージドコードであるVB、C++、VBScriptからも、SMOを使ってプログラミングすることが可能だ。

 XMLを使っているユーザーは、XMLデータ型とXQueryの機能を評価することだろう。

 SQL Server 2005では、XMLデータをBLOB型のデータとみなし、ドキュメントの構造、要素の順序、そして再帰的な構造が丸ごと保存される。そのため、XMLスキーマを定義して型定義したXML列として扱うか、それとも、型定義せずに扱うのかを選択できる。

 SQL Server 2005には、ひとつのトップレベルの要素を含んだウォルフォームドXMLドキュメントだけでなく、トップレベルの要素が欠けた要素の集合となるXMLドキュメントでも格納できる。SQL Server 2005では、エンコード方式として、一般的なUTF-8ではなくUTF-16を採用している。

 型定義したXML列では、スキーマを定義したXML名前空間を指定する。そうすることで、データエンジンは、挿入されたXMLデータや編集されたXMLデータの検証が可能となる(画面5)。

 型定義したXML列では、さらに、クエリのために最適化されたり、性能を向上するためにインデックス付けされたりする。XMLクエリのプランは、実行プランダイアグラムにも現れる。

画面5■XMLデータ型の列の構造を見る

 XMLデータ型の列は、クエリエディタのグリッドにおいて、データへのリンクとして示される。リンクをダブルクリックすると、書式化されたXMLコンテンツがXMLエディタページに現れる。xmlns:nsアトリビュートの値は、schemas.microsoft.comで定義されたスキーマ情報だ。Ctrlキーを押しながらクリックすれば、そのスキーマ情報を参照できる。インテリセンス機能も有効で、要素の始まりである「<」を入力すると、その位置に入力可能な要素一覧が表示される。XMLエディタ上で保存すれば、データベースのデータが更新される(訳注:ベータ2では、まだインテリセンス機能が提供されていない)。

© Copyright 2001-2005 Fawcette Technical Publications

注目のテーマ