SQL Server 2008 および SQL Server 2008 R2 の不具合修正情報の公開 – 照合順序のバージョンが 90 の場合、誤った実行結果が返ってくる事象について

山崎 実久  SQL Engine Support Engineer 下記の SQL Server のバージョンで修正済みですが、マイクロソフト サポート技術記事で公開されていない不具合情報を記載します。 ・SQL Server 2008 SP2 Cumulative Update 7 ・SQL Server 2008 R2 Cumulative Update 11 ・SQL Server 2008 R2 SP1 Cumulative Update 4 上記の環境より前のバージョンをご利用で、データベースの照合順序のバージョンが 90 の場合、LIKE 句を含み % のワイルドカード文字を利用するクエリを実行した際、誤った結果が返ってくる事象が報告されています。 もしくは、以下のように照合順序のバージョンを 90 を利用してクエリを実行した場合、誤った結果が返ってくる事象が報告されています。 Select * from table where c1 like ‘1%5’ collate Japanese_90_CI_AS 以下に、本不具合を再現可能なサンプルスクリプトの例を紹介します。 — データベース作成…

0

SQL Server 2005,2008,2008 R2 Analysis Services Standard エディションにおける使用可能な関数について

藤丸 陽子SQL Developer Support  Engineer Analysis Services ではエディションにより使用可能な集計関数が異なります。Enterprise エディションではすべての集計関数が使用可能ですが、Standard エディションでの対応は以下の通りです。 エディションを選定頂くにあたりご参考下さい。 集計関数 種類 加法性 SUM           加法   ○ COUNT         加法   ○ MIN           準加法 ○ MAX           準加法 ○ DISTINCTCOUNT    非加法 ○ NONE             非加法 × ByAccount        準加法 × AverageofChildren 準加法 × FirstChild       準加法 × LastChild        準加法 ○ FirstNonEmpty       準加法 × LastNonEmpty       準加法 × SQL Server 2005、SQL Server 2008、SQL…

0

Oracle 経験者のための SQL Server HowTo #1: 拡張イベントを使って On-Error Dump を取得する

早川 邦彦  SQL Engine Support Engineer   技術者としていくつかのデータベース製品を扱う機会があるかと思いますが、データベース製品には構文や機能の違いがあるので、一つのデータベース製品でできることが別の製品では実装方法が分からないケースが多々あると思います。そこで、 Oracle データベースでできることをいくつか例として挙げて、 SQL Server ではどのようにこれらを実装できるかを何回かのシリーズで紹介しようと思います。 まず一回目の今回は、SQL Server の拡張イベント機能を使って Oracle でいう On-Error Dump を取得する方法について紹介します。 1. On-Error Dump について Oracle データベースでは以下のようなコマンドを実行することで特定のエラーが発生した際にエラー発生時の情報をトレースファイルに出力させることができます。 下記のコマンドは ORA-942 エラーが発生した際に errorstack というタイプのダンプファイルを詳細レベル 3 で出力するというコマンド例です。     alter system set events ‘942 trace name errorstack level 3’ SQL Server 2008 以降では拡張イベントを使えば上記の Oracle データベースのコマンドのように特定のエラーが発生したタイミングで情報をトレースファイルに出力させることができます。なお、 Oracle のコマンドとは違い、SQL Server の拡張イベントを使用すればいつ、何を、どこに出力するかをより詳細に制御することが可能です。…

0

スクリプト アップグレード モード

  神谷 雅紀 Escalation Engineer   最近連続してスクリプト アップグレード モードに関する問合わせがあったため、今回は、スクリプト アップグレード モードについて、説明したいと思います。   スクリプト アップグレードモードとは サービスパックや Hotfix をインストールすると、sqlservr.exe などの実行可能ファイルだけでなく、master データベース内のシステム ストアドプロシージャやシステム テーブルの一部も更新される場合があります。スクリプト アップグレード モードとは、これらデータベース内の ストアドプロシージャや テーブルの更新を行なうためのスクリプトを実行するためのモードで、SQL Server 2008 から導入されています。SQL Server 2005 以前は、サービスパック等のインストール中にスクリプトが実行されていました。   いつスクリプト アップグレード モードになるのか SQL Server は、起動時に、master データベースに記録されているスクリプト バージョンとインストールされているスクリプトバージョンを比較します。このバージョン比較の結果、バージョンが一致していない場合に、スクリプト アップグレード モードになり、スクリプトの実行が始まります。一致していれば、スクリプト アップグレード モードにはならず、スクリプトも実行されません。 従って、次の場合にスクリプト アップグレード モードになります。 サービスパックや Hotfix のインストールが完了し、インストール済みスクリプトのバージョンが上がった場合、その後の最初の SQL Server 起動時 (アップグレード) サービスパックや…

0