本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。


マイクロソフト西暦 2000 年対応情報開示リソース センター ホーム

よく寄せられる質問

製品ガイド
(日本語)


西暦 2000 年問題に対するマイクロソフトの考え方

技術文書(ホワイト ペーパー)

そのほかの情報
マイクロソフト西暦 2000 年対応情報開示リソース センター


SQL Server 6.5 (Japanese) - Win NT

製品の概要
製品名: SQL Server
バージョン: 6.5
カテゴリ: 対応*
オペレーティング システム: Win NT
言語: 日本語 発売日: 1996 年 6 月 1 日
対応期間: 1753 年 1 月 1 日~ 9999 年 12 月 31 日
必要なソフトウェア: SQL Server 6.5 Service Pack 5a
依存する製品: 分散トランザクション コーディネータ、MS English Query、ODBC ドライバ マネージャ、ODBC ソフトウェア開発キット、ODBC デスクトップ ドライバ、SQL Server の要件に記載されたクライアント/サーバー プラットフォーム
依存するクロック: システム クロック
最終更新日: 1999 年 2 月 16 日
製品の詳細

この Web ページでは、Enterprise Editionと Small Business Server の両バージョンを対象とします。

日付の処理

1) サーバー

SQL Server には、datetime と smalldatetime という 2 つの日付/時刻データ型があります。datetime データ型は 2 つの 4 バイトの整数 (8 バイト) で保存されます。最初の 4 バイトは基本日付である 1900 年 1 月 1 日までの日数またはそれ以降の日数、残りの 4 バイトは午前 0 時 0 分 0 秒以降のミリ秒数を表します。datetime の対応期間は 1753 年 1 月 1 日~ 9999 年 12 月 31 日です。精度は、300 分の 1 秒 (3.33 ミリ秒) です。

smalldatetime データ型は datetime よりも精度が低くなります。このデータ型は 4 バイトで保存されます。最初の 2 バイトの整数には 1900 年 1 月 1 日以降の日数、残りの 2 バイトの整数には午前 0 時 0 分 0 秒以降の分数が保存されます。smalldatetime の対応期間は、1900 年 1 月 1 日~ 2079 年 6 月 6 日です。精度は、分単位です。

どちらのデータ型でも、西暦の下 2 桁で指定できます。ただし、下 2 桁で指定された場合でも、4 桁の西暦として保存されます。下 2 桁として 50 以下が指定された場合は上 2 桁が 20、50 より大きい値が指定された場合は上 2 桁が 19 として解釈されます。たとえば、下 2 桁として "03" が指定された場合、西暦は 2003 年として保存されます。"82" が指定された場合、1982 年として保存されます。

2) SQL 管理ツール

SQL 管理ツールには、SQL Enterprise Manager、SQL トレース、ISQL/w、セキュリティ マネージャ、クライアント設定ユーティリティ、サービス マネージャ、SQL Server Executive、Web Assistant、および SQL 保守計画ウィザードがあります。これらの一部では、日付情報の表示と入力を行うことができます。

日付の表示

SQL Server エンジン の形式または Windows NT のコントロール パネルの設定を使用します。

日付の入力

日付の入力には、編集フィールドまたは日付コントロールが使用されます。サーバーに日付情報をトランスポートする手段としては、ストアド プロシージャ、SQLOLE、DB-Library、SQL Server ODBC ドライバ、Net-Libraryがあります。入力された日付の有効性は、datetime データ型に対して、SQL Server エンジン レベルで検証されます。SQL Server Executive と 、SQL Server のタスクと警告スケジュール エンジンは例外です。つまり、スケジュール タスクの日付情報は整数のデータ型で保存され、入力された日付の有効性はユーザー インターフェイスの日付コントロールで検証されます。また、データベースに保存する前に、ストアド プロシージャ内の SQL Server の ISDATE() 関数で検証されます。

下 2 桁の西暦の処理

SQL Server エンジンでは、datetime データ型の西暦を下 2 桁で入力できます。 西暦が下 2 桁で入力された場合も、4 桁の西暦として保存されます。その場合、下 2 桁として 50 より小さい値が指定された場合は上 2 桁が 20、50 以上の値が指定された場合は上 2 桁が 19 として解釈されます。たとえば、下 2 桁として "25" が指定された場合、西暦は 2025 年として保存されます。"50" が指定された場合、1950 年として保存されます。

未対応の日付処理

SQL Server 6.5 Service Pack 2 ~ 4 をテストした結果、次の問題が確認されました。これらの問題は、Service Pack 5a にて解決されます。

  • DUMP DATABASE の EXPIREDATE 句で、2000 年以降の日付が正しく処理されません。EXPIREDATE は、バックアップ メディアを再利用できるかどうかを示す場合に使用されます。この問題が発生しても、SQL Server の全般的な操作には影響ありません。起こりえる問題は、間違ってバックアップ メディアを上書きしてしまうことと、EXPIREDATE で提供されるほかの安全性のチェックが行われないことです。この問題は、SQL Server 6.5 Service Pack 5 以上で修正されます。
  • システム時刻が 99 年 12 月 31 日を過ぎると、DUMP DATABASE の RETAINDAYS 句が正しく機能しなくなります。その結果、既存のダンプを上書きできなくなります。この問題を回避するには、既存のダンプ イメージを手動で削除し、その後で DUMP を実行します。この問題は、SQL Server 6.5 Service Pack 5 以上で修正されます。SQL Server Executive では、2000 年はうるう年として認識されません。この問題は、SQL Server 6.5 Service Pack 2 以上で修正されます。
  • タスク マネージャのユーザー インターフェイスであるスピン ボックスでは、2000 年がうるう年として認識されません。この問題を回避するには、ユーザー インターフェイスを使用せずに、ストアド プロシージャを実行して直接タスクをスケジュールすることです。この問題は、SQL Server 6.5 Service Pack 5 以上で修正されます。
  • Web Assistant では、2000 年以降のタスクをスケジュールできません。この問題を回避するには、ユーザー インターフェイスを使用せずに、ストアド プロシージャ SP_MAKEWEBTASK を使用することです。この問題は、SQL Server 6.5 Service Pack 5 以上で修正されます。
  • ストアド プロシージャ SP_ADDTASK、SP_PURGEHISTORY、SP_UPDATEALERT では、入力パラメータとして無効な日付をいくつか受け付けます。これは、入力パラメータとして有効な日付が使用される限り、問題にはなりません。この問題は、SQL Server 6.5 Service Pack 5 以上で修正されます
  • MS Query クライアント ツールでは、ユーザーの ODBC クエリーに対して、下 2 桁の西暦を受け付けます。ただし、西暦の上 2 桁は "19" と解釈されます。この問題を回避するには、MS Query の日付データに基づくクエリーに、4 桁の西暦を使用します。または、ISQL/w または Enterprise Manager など、SQL Server のほかのクライアント ツールを使用します。この問題は、SQL Server 6.5 Service Pack 5 以上で修正されます。

推奨事項

2000 年問題に対応させるためには、SQL Server 6.5 Service Pack 5a に更新してください。

ガイドラインと推奨事項

    • データベース スキーマを調べ、smalldatetime データ型が使用されているかどうかを確認します。使用されている場合は、必要に応じて、datetime に変換して精度を上げます。
    • 西暦を 4 桁で入力し、アプリケーションで日付や処理できる期間があいまいにならないようにします。
    • SQL Server をバックエンドとして、フロントエンド アプリケーションの動作と、ほかのアプリケーションとのやり取りを調べます。

SQL Server テストの概要

サブシステム

コンポーネント

テストの概要

SQL Server

日付の関数

-convert

-datepart

-dateadd

-datediff

-datename

-datepart

-getdate

-style

dateformat

datefirst

ユーティリティ

-dbcc (データベース一貫性チェッカ)

-dump

dump database

dump transaction

dump table

-update statistics

Transact SQL

-delete

-insert

-select

order by

group by

having

-update

  • 西暦が 1900 年または 2000 年として解釈できるエントリに対して、datetime をテストします。1999 年から 2001 年までの西暦の切り替わりや、西暦何年まで処理できるのかについてもテストします。
  • DBCC の show_statistics オプションをテストし、指定されたテーブルのインデックスで、必要な統計情報がディストリビューション ページに保存されていることを確認します。統計を更新し、同じテストを行います。
  • Expiredate と Retaindays をテストし、ダンプ メディアの期限が終了する日付と、その結果上書きできるようになる日付が正しいことを確認します。1999 年から 2001 年までの西暦の切り替わりや、西暦何年まで処理できるのかについてもテストします。
  • サーバーで各コマンドをテストし、日付を正しく解釈することを確認します。これは、通常のユーザ入力、2000 年、1900 年、1753 年に対してテストします。日付関数に関係があるので、ソート メソッドもテストします。
  • SET dateformat オプションをテストし、各国の日付入力に対応していることを確認します。

SQL Server Executive

タスク/警告のスケジュール

  • 2000 年より前、2000 年の間、2000 年より後のタスクのスケジュールをテストします。また、2000 年より前にスケジュールされたタスクで、実際には 2000 年の間または 2000 年より後に起こるものに対してテストします。
  • ユーザー インターフェイスでは、西暦を下 2 桁で入力できます。ただし、その場合も西暦は 4 桁で保存されます。

レプリケーション

テーブルの定期更新

  • レプリケーションには、日付に関連した機能はありません。レプリケーションでは、データを定期更新できます。ただし、これは SQL Server Executive のスケジュール メカニズムに依存します。

インターフェイス

BCP、ISQL、DB-library、RPC、SQL Server ODBC ドライバ (Version 3.60 ~ 3.70)、SQL Server OLE DB プロバイダ (7.01)

  • API レベルで、2000 年に対するテストを行います。

Web Assistant

Web ページを生成するスケジュール オプション

  • レプリケーションと同様に、Web Assistant ではスケジュール メカニズムに SQL Server Executive が使用されます。通常のユーザー入力に対して、Web assistant 固有のユーザー インターフェイスをテストします。

SQL DMO

オブジェクト

Alert

Backup

Database

Default

HistoryFilter

Operator

StoredProcedure

Table

Task

TransactionLog

Trigger

View

  • DMO の日付関連のオブジェクトをテストし、2000 年より前、2000 年、2000 年より後の日付に対して、予測されたとおりに西暦を解釈して、正しく機能することを確認します。

 

 

製品ガイドに戻る

 

カテゴリの記号について:
* ユーザーが必要な操作を行うことで対応できる製品。
修正プログラムのロードや文書の参照など、指示された操作を行う必要があります。

# マイクロソフトの対応基準に対して許容範囲の差異がある製品。
製品の主要な機能 (データ保全性など) や安定性 (信頼性など) に影響を与えない程度に限られます。

+ 頒布予定の修正プログラムで対応できる製品。
修正プログラムが公開された時点で、できるだけ早期の対応が必要です。

注意:上記の対応状況分類では、必要な対応操作が行われることを前提としています。


  2000年対応状況の開示

マイクロソフトおよび西暦 2000 年問題に関する情報(本書記載の情報の他、西暦 2000 年テスト、評価、対応情況、対応スケジュール、目標、その他に関する、過去、現在および将来の全ての情報を含みますが、これらに限られません。 以下、これらを総称して「マイクロソフト西暦 2000 年ステートメント」といいます。)の送信または伝達は全て、ここに米国の「西暦 2000 年問題に関する情報および対応開示に関する法律」に定義されているところの「西暦 2000 年対応情報開示」として提供されます。 また、かかる情報は、http://www.microsoft.com/japan/year2k/ のマイクロソフトの西暦 2000 年Webサイト(以下「Y2K Webサイト」といいます。)にて参照可能です。 「マイクロソフト西暦 2000 年ステートメント」は、それぞれ、この使用条件、Y2K Webサイト記載の条件並びに「西暦 2000 年問題に関する情報および対応開示に関する法律」の条項に従い、お客様の西暦 2000 年問題に対応するための技術計画を支援させていただく目的でのみ提供されています。 各「マイクロソフト西暦 2000 年ステートメント」には、入手可能な最新情報が含まれますが、それらは逐次更新されます。 従って、マイクロソフトは、お客様が定期的に、Y2K Webサイトを確認して、「マイクロソフト西暦 2000 年ステートメント」の変更を確認されることをお勧めします。 「マイクロソフト西暦 2000 年ステートメント」は、全て、“現状ベース”で提供されるものであり、いかなる保証も伴うものではありません。 従って、マイクロソフトは、商品性の保証および特定目的への適合性を含めて、明示的にも黙示的にもいかなる保証もいたしません。 さらに、マイクロソフトは、いかなる「マイクロソフト西暦 2000 年ステートメント」の使用またはその使用結果についても、その正確性、真実性、信頼性等、いかなる保証もしくは表明も行いません。 マイクロソフトまたはその権限ある代理人による、口頭もしくは書面による一切の情報もしくはアドバイスは、何らの保証を意味するものでもなく、かつ上記の保証の拒絶の範囲を狭めるものではありません。 マイクロソフトおよびその供給者は、いかなる場合においても、「マイクロソフト西暦 2000 年ステートメント」に関連して生じた、直接損害、間接損害、偶発損害、派生損害、事業利益の逸失、懲罰的損害、または特別損害を含むすべての損害について、たとえかかる損害の発生の可能性を知らされていた場合であっても、一切責任を負いません。 派生損害または偶発損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。 各「マイクロソフト西暦 2000 年ステートメント」に含まれる情報は、Y2K Webサイトで参照可能であり、マイクロソフト西暦 2000 年対応状況(YEAR 2000 COMPLIANCE STATEMENT)、マイクロソフトが、その西暦 2000 年製品ガイドにおいて、製品の分類に使用している対応基準に関する説明(DESCRIPTION OF THE CATEGORIES OF COMPLIANCE)およびテスト基準(THE MICROSOFT YEAR 2000 TEST CRITERIA)等、と併せてお読みいただくことを意図して提供されているものです。

マイクロソフトが、西暦 2000 年問題関連の修正版、西暦 2000 年診断ツールまたは修正サービスの提供において、お客様に提供することのある、すべての「マイクロソフト西暦 2000 年ステートメント」は、米国の「西暦 2000 年問題に関する情報及び対応開示に関する法律(112 STAT.2386)」の適用を条件として提供されるものです。 何らかの争いが生じた場合には、かかるステートメントの使用に関するお客様の権利は、お客様との契約書または料金表において、別段の合意がなされていない限り、この法律により制限されます。


  最終更新日 1999 年 2 月 19 日
  ©1999 Microsoft Corporation. All rights reserved. Terms of Use.
本サイトは西暦 2000 年 対応開示 (Year2000 Readiness Disclosure) に該当するものであり、本サイトに含まれている情報は本サイトに記載されている条件および西暦 2000 年問題に関する情報及び対応開示に関する米国の法律 (Year2000 Informationand Readiness Disclosure Act) に基づき提供されるものです。
inserted by FC2 system