1 / 10

SQL Server バージョンアップ時の問題と解決方法について

SQL Server バージョンアップ時の問題と解決方法について. 稲垣 智浩 (CatTail). はじめ に. 弊社は生産管理パッケージを開発/販売してします。 元々はメインフレームやオフコンで開発していたシステムを Windows に移植し、その際、データベースとしては SQL Server を選択しました。 その当時のバージョンは SQL Server 6.0 / 6.5 で、以降、 SQL Server がバージョンアップする度に対応を行ってきました。 今回は、その経験を元に対策した方法を発表したいと思います。.

kiley
Télécharger la présentation

SQL Server バージョンアップ時の問題と解決方法について

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL Serverバージョンアップ時の問題と解決方法について 稲垣 智浩(CatTail)

  2. はじめに • 弊社は生産管理パッケージを開発/販売してします。 • 元々はメインフレームやオフコンで開発していたシステムをWindowsに移植し、その際、データベースとしてはSQL Serverを選択しました。 • その当時のバージョンはSQL Server 6.0/6.5で、以降、SQL Serverがバージョンアップする度に対応を行ってきました。 • 今回は、その経験を元に対策した方法を発表したいと思います。

  3. SQL Server 6.0/6.5から7.0以降へ • 項目名に記号類が使えなくなった。項目名の先頭が全角の数字でもエラーになる。(漢数字はOK) • 項目名を変更して対応。例)図# → 図番  • ソート順が不定になった。 • ORDER BYを必ず指定するようにプログラムを変更。 • インストール時のデフォルトの照合順序がバイナリ順からJAPANESE_CI_ASに変更された。 • インストール時に「バイナリ順」を指定して対応。

  4. SQL Server 2005 • DB-Libraryがサポート外になった。 • 一時的な対応として、NTWDBLIB.DLLを%WINDIR%\SYSTEM32フォルダにコピー。これにより、DB-LibraryでSQL Server2005にアクセスできるようになる。 • 根本的な対応としては、ADOやADO.NETを使ってSQL Serverにアクセスする。 • 外部結合で *= や =* がサポートされなくなった。 • プログラムをLEFT OUTER JOIN/RIGHT OUTER JOINに変更。 • プログラムが変更できない場合、データベース互換レベルをSQL Server 2000(80)に変更することで対応可能。※この場合、DMV等SQL Server 2005の機能が使えなくなるので注意。 • DTSがサポート外になった。 • MSのダウンロードセンターから、Microsoft SQL Server 2005 用 Feature Packの中にあるMicrosoft SQL Server 2000 DTS デザイナ コンポーネントをダウンロードしてインストールする。http://www.microsoft.com/downloads/details.aspx?FamilyID=50b97994-8453-4998-8226-fa42ec403d17&DisplayLang=ja

  5. SQL Server 2005Tips • Windows Vistaでコンピュータ名に小文字が含まれる場合。 • 照合順序がバイナリ順だとインストール時にエラーが発生する。対策としては、コンピュータ名を全て大文字に変更する。http://support.microsoft.com/kb/929105/ja • ミラーリングについて • ADOでも対応可能。その場合、OLE DBプロバイダとしてSQLOLEDBではなくSQLNCLIを使う。 • 障害時にフェイルオーバーしない。(タイムアウトが発生する)→ ConnectionTimeout、CommandTimeoutの値を増やす。

  6. その他Tips • SQL Serverの権限について。 • あくまでもSQL Serverのサービスアカウントの権限で動作します。 • 例えばサービスアカウントとしてローカルシステムアカウントを指定した場合、別コンピュータへのアクセスはできません。

  7. その他Tips • SQL Serverインストール後にコンピュータ名を変更した場合。 • select @@servername • @@servernameの内容が実際のコンピュータ名と違う場合、sp_dropserver @@servername を実行してサーバー情報を削除。その後、sp_addserver ‘実際のコンピュータ名’, local で実際のコンピュータ名を登録します。 • その後、SQL Serverのサービスを再起動してください。

  8. その他Tips • BCPでインポートするテキストファイルに項目の途中に改行コードが含まれている場合の対応。 • フォーマットファイルを作成することで正常にインポートできます。 改行コード

  9. その他Tips • フォーマットファイルを指定しない場合bcp データベース名.dbo.住所一覧 in 住所一覧.txt -S . -t , -c • 列の間に改行コードが含まれていると、その行はスキップされる。 • フォーマットファイルを指定した場合bcp データベース名.dbo.住所一覧 in 住所一覧.txt -S . -f 住所一覧.fmt • 列の間に改行コードが含まれていても、正常にインポートされる。 改行コード

  10. 最後に • PassJのメーリングリストやMSDNフォーラムで質問があった場合、(自分が回答できる内容であればですが)積極的に回答していますので、 PassJのメーリングリストやMSDNフォーラムを活用してください。(あと、某匿名掲示板のデータベース板でも回答してたりしますw) 以上、ご清聴ありがとうございました。

More Related