|
1.目次
2.目的
3.参考書
4.SQL2005の新しい機能とツール群
4.1_Management_Studio
4.2_SQL_Server_Profiler
4.3_データベースエンジンチューニングアドバイザ
4.4 Configuration_Manager
4.5_SQL_Server_セキュリティ構成
4.6 Visual Studio 2005
5.サンプルデータベース
6.データベースのメインテナンス
7.SQL_Server_2005_のデータ型
8.新しく追加された機能(T-SQL)
9.T−SQLとSQL.CLRの使い分け
10.新しいコマンド・T−SQL・ストアド
|
|
SQL Server 2005では、ツール群が一新されています。
|
|
(1) Microsoft SQL Server 2005 Books Online
(2) Microsoft
SQL Server 2005 Home Page
(3)
AdventureWorks サンプルデータベースのダウンロード
(4)
Microsoft TechNet : SQL Server 2005 自習書シリーズ
|
|
SQL Server 2005では、次のようにサービスやツール群が変更になっています。
また、ツール群も大幅に変わっています。
SQL 2000 |
SQL 2005 |
Enterprise Manager |
Management Studio |
クエリ アナライザ |
Management Studioに統合されている。 |
分析マネージャ |
Analysis ServiceManagement
Studio→オブジェクトマネージャ→接続からAnalysis Serviceを追加 |
SQL Serverプロファイラ |
SQL Server プロファイラ |
インデックスチューニングアドバイザ |
データベースエンジンチューニングアドバイザ |
クライアントネットワークユーティリティ
サーバーネットワークユーティリティ
SQLサービスマネージャ |
SQL Server Configuration Manager |
- |
SQL Server セキュリティ構成 |
|
|
SQL2000 のエンタープライズマネージャ+クエリアナライザ+分析マネージャという感じの統合管理ツール。
Management Studio
では、テンプレートエクスプローラがあり、DBCCやSQL文のテンプレートが用意されており、簡単にコマンドを発行することができるようになっている。(下図)
|
|
Management Studio→ツール→SQL Server プロファイラより起動する。
SQL文やストアドの実行、デッドロックの発生などのイベントの監視し、そのトレースデータをチューニングに利用する。
|
|
Management Studio→ツール→ データベース エンジン チューニング アドバイザより起動する。
データベースの構造や Microsoft SQL Server
の内部構造に関する専門的な知識がなくても、最適なデータベースのチューニングをアドバイスしてくれる。チューニングオプションで、インデックス、インデックス付きビュー、パーティション分割などを選択することができる。
|
|
サービスの起動または停止を行うツール。起動は、スタートメニューから行う。
|
|
外部からのアクセス制限および機能の有効化/無効化を行うツール。インストール直後の状態ではほとんどの機能が無効に設定されており、外部からの接続も禁止されています。起動は、スタートメニューから行う。
セキュリティ構成を実行すると、次のダイアログが表示され、「サービスと接続のセキュリティ構成」と「機能のセキュリティ構成」の2つから選択するようになっている。
サービスと接続のセキュリティ構成では、SQL Server, Integration Server, SQL Server
Browserの設定ができる。
機能のセキュリティ構成では、SQL Server, Analysis Services, Reporting
Servicesの設定ができる。
|
|
SQL Server 2005 をインストールすると、Visual Studio 2005が付いてくる。
Analysis Services, Integration Services, Reporting Services
のプロジェクトを開発することができるようになっている。
|
|
SQL2000では、Northwind, Pubsのサンプルデータベースがありましたが、SQL
2005ではAdventureWorksがサンプルデータベースとして提供されています。しかし、SQL2005を標準でインストールしただけでは、AdventureWorksはインストールされません。
インストールの方法
- インストーラで追加インストールする。インストールの方法は、Books Online のAdventure
Works→インストールを参照。
- 参考書(3)よりAdventureWorksをダウンロードできます。
すでにインストールされている場合の再設定方法
- スクリプトの再実行。
インストールスクリプトは、次の場所にあります。
%ProgramFiles%Microsoft SQL
Server\90\Tools\Samples\AdventureWorks OLTP\instawdb.sql
|
|
オブジェクトエクスプローラ→データベース→管理→メンテナンスプラン→メンテナンスプランウィザードで起動する。
SQL Server Agent
が起動されていないと、次のような「要求されたダイアログを表示できません」エラーが出ます。SQL Server Configuration
Managerから、SQL Server Agentを起動してください。
次へを押す。
名前を設定して、次へ。
メンテナンスタスクを選択して次へ。
実行順序を指定して次へ。
データベースを選択するドロップダウンリストを押すと、次のようなダイアログが表示される。
実行するデータベースを選択して、OKを押す。
すぐに実行する場合は、次へ。スケジュールを指定する場合は、変更ボタンを押す。
下図は、スケジュール設定画面。
レポートオプションを聞いてくるので、必要に応じて設定する。
最後に、実行内容を最終確認してくる。問題なければ、完了ボタンを押すと実行を開始する。
進行状況のダイアログが表示される。
|
|
C#などの.NET CLRで作成するストアドや関数を実行しようとしても、標準設定ではが無効となっているので、「.NET
Framework でのユーザー コードの実行は無効です。"clr enabled"
構成オプションを有効にしてください。」というエラーになります。この場合、SQL Server
セキュリティ構成→機能のセキュリティ構成→データベースエンジン→CLR統合→CLR統合を有効にする必要があります。
|
|
- 連番を振る
SELECT ROW_NUMBER () OVER (ORDER BY City) AS 'No',* FROM
Person.Address
構文
ROW_NUMBER ( ) OVER ( [ <partition_by_clause> ]
<order_by_clause> )
- XMLデータ型
CREATE TABLE XMLTable(ID INT Identity PRIMARY KEY, xdata XML)
INSERT INTO XMLTable(xdata)
SELECT * FROM OPENROWSET (BULK 'C:\rss.xml', SINGLE_BLOB) AS TEMP
- TRY CATCH
BEGIN TRY
RAISERROR (N'エラーレベルが10以下ではキャッチされません。',
10, -- Severity,
1);
RAISERROR (N'This is message %s %d.', -- Message text.
11, -- Severity,
1, -- State,
N'number', -- First argument.
5); -- Second argument.
END TRY
BEGIN CATCH
PRINT N'エラーレベルが10を超えるエラーが発生しました'
SELECT
ERROR_NUMBER() AS ErrorNumber,
ERROR_SEVERITY() AS ErrorSeverity,
ERROR_STATE() AS ErrorState,
ERROR_PROCEDURE() AS ErrorProcedure,
ERROR_LINE() AS ErrorLine,
ERROR_MESSAGE() AS ErrorMessage
END CATCH ただし、次の場合にはエラーがキャッチされないので注意が必要です。
-
重大度が 10 以下の警告または情報メッセージ。
-
重大度が 20 以上で、セッションに対する SQL Server データベース
エンジン のタスク処理を終了させるエラー。重大度が 20
以上のエラーが発生し、データベース接続が切断されない場合、TRY...CATCH によってエラーが処理されます。
-
クライアントの割り込み要求や中断されたクライアント接続などのアテンション。
-
システム管理者による KILL ステートメントを使用したセッションの終了。
CATCH ブロックのスコープ内では、次のシステム関数を使用してエラーに関する情報を取得できます。
システム関数名 |
戻り値 |
ERROR_NUMBER() |
エラーの番号 |
ERROR_SEVERITY() |
重大度 |
ERROR_STATE() |
エラー状態番号 |
ERROR_PROCEDURE() |
エラーが発生したストアド プロシージャまたはトリガの名前 |
ERROR_LINE() |
エラーを発生させたルーチン内の行番号 |
ERROR_MESSAGE() |
エラー メッセージ |
|
|
T-SQL |
SQL.CRL |
基本的なデータ処理
(SELECTなど) |
演算処理(文字列処理、ネットワークアクセス、レジストリ操作などなど) |
ユーザ定義型を利用する場合 |
高いセキュリティが要求される処理 |
|
|
SQL Server 2000 |
SQL Server 2005 |
DBCC SHOWCONTIG |
sys.dm_db_index_physical_stats |
DBCC INDEXDEFRAG |
ALTER INDEX |
DBCC DBREINDEX |
ALTER INDEX |
sp_lock |
sys.dm_tran_locks |
sp_dboptions |
ALTER DATABASE |
SQL Mail |
データベース メールストアド |
|
|
|
|
|
|
|
|
|
|
|