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


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

よく寄せられる質問

製品ガイド
(日本語)


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

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

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


SQL Server 7.0  (日本語)

製品の概要
製品名: SQL Server
バージョン: 7.0
カテゴリ: 対応
オペレーティング システム: Win NT
言語: 日本語版 発売日: 1998 年 11 月 1 日
対応期間: 1753 年 1 月 1 日〜 9999 年 12 月 31 日
必要なソフトウェア: なし
依存する製品: Microsoft Data Access コンポーネント (MDAC)、DCOM95、Internet Explorer 4.0、OLE オートメーション テクノロジー、SQL Server システム構成条件内に記されているサーバー クライアント プラットフォーム。
依存するクロック: システム クロック
最終更新日: 2000 年 3 月 9 日
製品の詳細

この情報は、SQL Server 7.0 Standard Edition、Enterprise Edition、Developer Edition、Small Business 版、および Evaluation 版に適用されます。

製品の保守 : マイクロソフトでは、ユーザーの皆様が西暦 2000 年問題に対応するためだけではなく、常に最新の Service Pack または Service Release のインストールを推奨してきましたが、さまざまな事情からインストールすることができない場合があることを認識しています。マイクロソフトは、ユーザーの皆様の 2000 年問題への取り組みの支援を目的として、SQL Server 7.0 の保守を 2001 1 1 日まで対応いたします。Service Pack の最新版の保守についても対応する予定ですが、こちらの方には西暦 2000 年問題以外の更新が含まれる場合もあります。西暦 2000 年問題をアップグレードの機会として位置付けることをできるだけ避けるための措置です。

 

推奨事項

上記の依存製品がすべて SQL Server ソフトウェアを実行するコンピュータに依存していることを確認してください。依存製品の西暦 2000 年問題対応ドキュメントを参照し、依存製品を西暦 2000 年に対応させるためにどのバージョンまたはサービス パックをインストールする必要があるのかを調べてください。

SQL Server 7.0 Microsoft Data Access コンポーネント (MDAC) 2.1 をインストールします。これで、MDAC 2.1 には Jet エンジンに関する問題のソフトウェア アップデートがインストールされます。SQL Server でこの問題が発見されていない場合でも、関心がおありでしたら MDAC 2.1 Service Pack 1 以上をインストールすることを推奨します。詳細については、Jet Database Engine の西暦 2000 年問題対応ドキュメントを参照してください。

日付の処理 :

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 桁の西暦表示で指定できますが、年号は 4 桁の場合と同じように保存されてしまいます。"2 桁の年数のカットオフ" 構成オプションでは、SQL Server 7.0 2 桁の年数を 4 桁に拡張する方法を定義します。オプションは 4 桁の西暦で指定し、デフォルトは 2049 です。ある年を西暦の下 2 桁で指定したときに、それが 2 桁の年数のカットオフ オプションで指定した西暦の下 2 桁の数字と同じかそれより小さい場合には、オプションで指定されている上 2 桁の西暦で日付が保存されます。指定した下 2 桁の数字が 2 桁の年数のカットオフ オプションの値よりも大きい場合には、オプションより前の西暦で日付が保存されます。たとえば、2 桁の年数のカットオフ オプションの値がデフォルトの 2049 の場合、下 2 桁が 49 の日付は 2049 年で保存され、50 1950 年で保存されます。また、2 桁の年数のカットオフ オプションの値が 2029 の場合には、下 2 桁が 29 の日付は、2029 年で保存され、30 1930 年で保存されます。SQL Server の以前のバージョンには、設定可能な 西暦2000年問題サポート オプションはありません。2049 を使用して処理します。

2) SQL 管理ツール :

SQL Server 管理ツールには、SQL Server Enterprise ManagerSQL Server プロファイラ、SQL Server クエリ アナライザ、SQL Server サービス マネージャ、クライアント ネットワーク ユーティリティ、サーバー ネットワーク ユーティリティ、SQL Server エージェント、さらに 25 以上のウィザードがあります。これらの一部では、日付情報の表示と入力を行うことができます。

日付の表示 :

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

日付の入力 :

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

3) SQL データ管理オブジェクト

SQL データ管理オブジェクトには日付を表すプロパティを持つものがあります。これらのプロパティは long 型の整数で処理され、日付は YYYYMMDD 形式の数値で表されます。たとえば、1998 4 19 日の日付は、19980419 という数値で表わされます。

4) データ変換サービス

データ変換サービス (DTS) は、文字列の列 (DBTYPE_STR または DBTYPE_WSTR) を日付の列 (DBTYPE_DATE) にマップさせて変換します。変換元の列となる文字列の日付部分は、YYYY-MM-DD OLE DB 形式でなければなりません。また、日付の列を文字列の列にマップさせて変換することもできます。この場合、日付部分は YYYY-MM-DD OLE DB 形式の文字列に変換されます。たとえば、1998 4 19 日の OLE DB 形式は 1998-04-19 です。Microsoft ActiveX* Microsoft Visual Basic* などのスクリプトを使用した変換では、入力日付に CDate() 関数を使用することもできます。

5) アプリケーション プログラミング

汎用目的の SQL Server アプリケーションでは、Transact-SQL 言語を使用して SQL Server データベースのデータを処理します。Transact-SQL 言語はサーバー上で処理され、Transact-SQL ステートメントの日付は上記の 1) サーバーで指定された規則を使用して処理されます。SQL Server アプリケーションでは、いくつかのアプリケーション プログラミング インターフェイス (API) 1 つを使用して Transact-SQL ステートメントをサーバーに送信し、結果を処理します。日付は、SQL Server に送信する Transact-SQL ステートメントの一部としても、API を通して Transact-SQL のパラメータまたは式に渡されるプログラム変数にも指定できます。日付が Transact-SQL ステートメントの一部として指定されている場合は、1) サーバー セクションで指定された規則を使用してサーバー上で処理されます。API を通してパラメータおよび式に渡される変数に指定された日付は、次の API の規則に従います。

OLE DB (SQL Server OLE DB Provider を使用) :

日付は、OLE DB API を使用して指定できます。 OLE DB Provider for SQL Server では、これらの日付について OLE DB に適用されるのと同じ日付強制規則に従います。詳細については、MS Data Access コンポーネント (MDAC) の西暦 2000 年問題対応ドキュメントを参照してください。Microsoft OLE DB Provider OLE オートメーション テクノロジーに適用される日付変換規則に従います。詳細については、OLE オートメーション テクノロジーの西暦 2000 年問題対応ドキュメントを参照してください。

2 桁の年数変換の OLE DB カットオフ日付は 29 がデフォルト値です。29 以下の年数は 20xx と解釈され、29 より大きい年数は 19xx と解釈されます。カットオフ日付の構成方法については、OLE オートメーション テクノロジーの西暦 2000 年問題対応ドキュメントを参照してください。SQL Server 7.0 が基準とするデフォルトのカットオフ日付は 49 で、これは SQL Server の以前のバージョンと互換性があります。以前のバージョンの SQL Server との互換性を考慮しない場合は、カットオフ日付に 29 を使用するように SQL Server を構成することができます。詳細については、SQL Server 7.0 Books Online を参照してください。

ODBC (SQL Server ODBC Driver を使用) :

ODBC API では、2 桁の年数の指定をサポートしておらず、4 桁の年数の指定のみサポートされます。ODBC では、アプリケーションが ODBC タイムスタンプ エスケープ シーケンスを使用して SQL ステートメントに日付を指定することを推奨しています (タイムスタンプ エスケープ シーケンスは 4 桁の年数のみサポートしています)。ただし、SQL Server ODBC Driver はユーザーが Transact-SQL 日付を入力するのを禁止しません。Transact-SQL 日付が使用されている場合、その日付は 1) サーバー セクションで指定されている規則を使用してサーバー上で処理されます。

DB-Library :

DB-Library では、Transact-SQL ステートメントの一部として日付を指定する以外の方法を提供していません。これらの日付は、1) サーバー セクションで指定されている規則を使用してサーバー上で処理されます。

SQL Server 7.0 で提供されるアプリケーションとコンポーネントの日付処理 :

 

Microsoft English Query :

日付の保存

Microsoft English Query では日付を保存しません。

SQL の生成

SQL 条件で生成される日付定数は、一般的な日付形式の YYYYMMDD を使用します。SQL 条件で生成される年定数は、開発者が管理する English Query の各年フィールドの設定により、YYYY または YY 形式を使用します。フィールドが YY 形式を使用するようにマークされている場合、SQL 条件で西暦の上 2 桁は省略されます。

形式

テスティング ツールの日付は、ODBC テキストの日付形式を使用して表示されます。デフォルトは、YYYY-MM-DD です。[地域] 設定の値を使用するように ODBC を設定することもできます。

日付エントリの解析

日付は、米国標準の日付形式を使用して該当個所に入力することができます。次のような形式がありますが、この形式に制限されているわけではありません。

    • 月、日、年をスラッシュで区切る形式 : (M)M/(D)D/(YY)YY
    • 月をアルファベットで表わし月、日、年を指定する形式 : Month (D)D, (YY)YY
    • 月をアルファベットで表わし月と年を指定する形式 : Month (YY)YY
    • 月と年をスラッシュで区切る形式 : (M)M/(YY)YY

2 桁の西暦の処理

Microsoft English Query は、下 2 桁で入力された西暦を次のように解釈します。

    • 00/1/1 29/12/31 2000 1 1 日〜 2029 12 31 日と解釈します。
    • 30/1/1 99/12/31 1930 1 1 日〜 1999 12 31 日と解釈します。

Microsoft OLAP Services :

 日付の保存

Microsoft OLAP Services は、OLE DB for OLAP 仕様に従って OLAP Services リポジトリ内に日付を保存します。

形式

OLAP Services ユーザー インターフェイスには、日付エントリのためのフィールドがありません。日付情報は、Decision Support Objects (DSO) および MDX で公開されます。これは、Microsoft Visual Basic* 環境の西暦 2000 年対応に依存します。

クエリーおよび集合の処理

2000 1 1 日への移行前、移行時、または移行後のクエリおよび 集計の対応期間のチェックと処理は検証されており、正常に完了しています。

Microsoft Repository :

 

日付の保存

リポジトリは、100 1 1 日〜 9999 12 31 日の範囲で日付を受け付けます。また、西暦を下 2 桁に変更しないため、取り出し時に再変換を行う必要はありません。リポジトリは、YYYY の形式 (DATE_STRUCT または TIMESTAMP_STRUCT、あるいは SQL Server datetime データ型の形式) で西暦を保存します。

形式

日付は、MM/DD/YY 形式で表示することができます。日付は 4 桁の西暦で SQL Server に保存されるため、2 桁で表示しても日付が特定できなくなることはありません。

2 桁の西暦の処理

アプリケーションでは 4 桁の西暦を使用して日付を入力してください。西暦を下 2 桁で入力するとエラーになります。データベース エンジンが生成した日付は、4 桁の西暦になります。

 

Microsoft Search Service :

SQL Server 7.0 に付属する Microsoft Search Service は、文字用の列のデータを扱い、日付データには依存しません。

テスト時のガイドラインと推奨事項 :

      • データベース スキーマを調べ、smalldatetime データ型が使用されているかどうかを確認します。使用されている場合は、datetime データ型に変換して精度を上げます。
      • 入力には 4 桁表示の西暦を使用し、アプリケーション間の変換条件を統一してください。
      • SQL Server を他のアプリケーションとのバックエンドおよび対話システムとして使用して、フロント エンドのアプリケーションの動作を調査します。
      • SQL Server 7.0 では、データベース エンジンによって行われる 2 桁から 4 桁への変換を記録するトレース フラグ 8816 をサポートしています。このトレース フラグを使用して、アプリケーションが SQL Server 2 桁の年数を送信しているかどうかを判断することができます。

 

製品ガイドに戻る

 

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

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

+ 頒布予定の修正プログラムで対応できる製品。
修正プログラムが公開された時点で、できるだけ早期の対応が必要です。詳細は、製品ガイドを参照してください。

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


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