MS AccessプログラミングからSQL Serverに移行する際の主な考慮事項


8

私は100%独学のMS Accessプログラマーです(私の仕事の主な部分はプログラミングです)、現在はより大きなデータベースを構築しています。UIとして引き続きMS Accessを使用しますが、SQL Serverはすべてのデータを格納し、「作業」の多くを実行します。

本質的には私の質問です。SQL Serverについて、Accessを使用するときにおそらく学んだことも、必要もないことについて、知っておく必要がある主題は何ですか?

何かをする方法を教えてくれるようにあなたを探しているのではなく、あなたが最も重要なことは研究に行くべきだとあなたが考えていること-たくさんの主題とたくさんの詳細の地獄があります、自分を長く見たくありませんあまり価値のない道を進む...

脳のダンプ:

  • メンテナンス:最も重要なこと(データベースの確認、データベースの削減、統計の更新、再構築など)
  • 索引-必要な分からないので、上から基礎を学べる良い本やブログなどはありますか?
  • 他に見逃したもの(SQL Serverを初めて使うと言ったように、おそらくたくさんあります...)

それが私が中規模の小売業者とデータベースで働くのに役立つなら、私は主に次のようなことをカバーすることに取り組んでいます

  • レポートプラットフォーム(メインシステムからの売上高/レシート/在庫などを要約し、迅速なレポートを提供します)
  • サードパートとストアがレジスタを介して行った調整ツール(サードパーティからデータをインポートし、トランザクションログを相互参照します)
  • プロモーションに関連するすべてのデータを保存します。製品、価格、予測、実績など

SQl Server 2005を選ぶ理由 少し古いですが、3つのメインバージョンが遅れています。
マリアン

それは私たちが私の仕事で現在インストールしているものであり、私だけが実際にそれを使用しているので、アップグレードする前に、どの値を追加できるかを示す必要があります。
Simon1979、2013

@ Simon1979の価値の1つは、単純なアップグレードパスを持つことです。SQL Server 2012では、DBバックアップをSQL Server 2005から復元できますが、以前のバージョン(SQL Server 2000)からは復元できません。たぶん、SQL Serverの次のバージョンでは、SQL Server 2005のDBからのバックアップを復元することを可能にし、バックアップを復元すると、異なるサーバーからの転送データへの最も簡単な方法の一つではないだろうということ
マックス

回答:


4

SQL Serverについてさらに学習すると、以前にAccessでアプリケーションレベルで実行しなければならなかったSQL Serverでデータベースレベルで実行できる多くのことが(喜んで)わかるようになります。いくつかの例は次のとおりです。

トリガー:テーブルにINSERT / UPDATE / DELETEが存在する場合は常に、自動的に発生するようにテーブルレベルで定義されたプロシージャ。

ストアドプロシージャ: AccessマクロやSubAccessで「便利なこと」を実行するために作成した小さなVBAプロシージャに多少似ていますが、SQL Serverではデータベース自体の一部です。したがって、ストアドプロシージャ(SP)を一度作成すれば、同じデータベースを共有するアプリケーション間でも、どこでも(ほぼ)使用できます。

関数:これらはFunctionAccessでクエリに組み込むために記述した小さなVBAにいくらか似ていますが、SPのようなSQL Server関数がデータベースにより緊密にバインドされている点が異なります。また、SQL Server関数は、スカラー値(単一のスカラー値を返す)またはテーブル値(行セットを返す)にすることができます。

楽しいSQLのトリック: Access(Jet / ACE)SQLではサポートされていないSQL ServerのSQL機能がたくさんあります。"Common Table Expressions"(CTE)と " RANKPARTITION"は、私が始めたときに私に "'aha'の瞬間"を与えたものです。

私は続けることができますが、これらは私が「SQL Serverで考える」ようになった初期の段階で発見したことを覚えているものです。

誤解しないでください。Accessは適切に使用された場合には優れたツールであり、そのための方法として真剣に検討する必要があります。

  • SQL Serverバックエンドに対してフロントエンドアプリケーションを構築(または単にモックアップ)し、

  • データのクリーンアップを行い、アドホッククエリとレポートを作成し、SQL Serverデータに対して同様のタスクを実行します。

最後に、あなたがされていても作業 SQL Server 2005ので、私は非常にあなたがSQL Server 2008の(または2012)のコピーを取得することをお勧めExpressの学習主な理由は、SQL Server Management Studioの(つまり、自動補完とでIDEの機能強化のため、対話型デバッグ)。発生する可能性のある新しい(2008+)機能に注意してください。本番用コードではそれらに依存しないでください。(または、SQL Server 2005からアップグレードするピッチの箇条書きとして使用します。...)


4

学ぶことはたくさんあります...オンラインでも本でも。ここにあなたが始めるためのいくつかの最初のリンクがあります(非常に不完全なリストですが、しばらくの間あなたを忙しくしておくはずです):

フォーラム

ブログ


3

ここ数年(およびそのアクセスの前)にSQLサーバーを使用してきたので、次のことをお勧めします。

  1. バックアップと復元-必要に応じて、データベースのバックアップにファイルのコピーを作成する必要がなくなります(サイズ、最大数の復元が必要かどうかなど)に応じて、データベースのバックアップと復元を実行します。あなたはあなたのデータなしでは何もありません!
  2. Brent Ozarのビデオをご覧くださいhttp : //www.youtube.com/brentozar-その男はSQL Serverの伝説です。それは技術的な側面を狙ったものですが、そこには優れた初心者向けビデオもいくつかあります。私はそれらから多くを学びました(主題がかなり乾燥している場合でも!)
  3. メンテナンス-今までのAccessで問題がなければ、ニーズは最小限であると思います。大量の処理、大量のデータ(10 GB以上)、または複雑なクエリがない限り、何ヶ月もメンテナンスせずに SQL Server を問題なく実行できます。多くのレコードがある場合でも、インデックスの再インデックス化/再構築(違いがあります)がおそらく最初に使用します。
  4. SQL Server Central http://www.sqlservercentral.com/stairway/の階段を本当にお勧めしますこれらは、インデックスのタイプ、データタイプ(これらはAccessとはかなり異なります)の優れた入門ガイドです。
  5. データベースが最高の状態になっていないことが心配な場合は、Brent Ozarのsp_blitzストアドプロシージャを試してください(Googleの場合-追加のリンクを投稿するにはさらに評判が必要です)。より詳細なディスカッションを提供するためにWebサイトへのリンクを使用して何をする必要があるかの優先順位付きリスト。

最近、SQL Serverレポートの作成を開始しましたが、セットアップが面倒な場合があります。ほとんどのビジネスケースでは、ExcelでSQL Serverストアドプロシージャからデータを取得すると、多くの場合、マネージャーにとってより柔軟になります。

これがお役に立てば幸いです。


2

SQL Serverを初めて使用する場合は、DBAタイプに入る前に、まず基本的なビルディングブロックについて学習することをお勧めします。

  1. さまざまなSQLオブジェクトの基本タイプと関数(テーブル、キー、ビュー、ストアドプロシージャ、ユーザー定義関数、トリガー)
  2. 基本的なT-SQL、DML、DDLの記述

これらのハンドルを取得し、MS Accessを使用せずに、主にT-SQL型を使用してSQL Serverで作業できるようになったら、次のような基本的なDBA型タスクについてさらに学習できます。

  1. 復元する

  2. メンテナンス

  3. 行政

MicrosoftのMSDN&Learningサイトには、非常に役立つレッスンとチュートリアルがあります。どこから始めればよいかが常に明確であるとは限らないことは理解していますが、上記のリストに大まかに従えば、すぐにSQLを実行できるはずです。

:ほとんどのSQL 2005 Microsoft認定コースはおそらく終了していますが、SQL 2008 R2の利用可能なリソースを引き続き使用できます。私はこれを言うために撃たれるかもしれませんが、SQL 2008 R2はSQL 2005に(あなたが学びたいものの文脈で)十分に似ているので、2008 R2を勉強してもまだ大丈夫です。

最後に:dba.stackexchange.comとSQL Serverへようこそ


2

私は現在、あなたの友人とまったく同じ状況にあり、完全に理解できます。したがって、SQLサーバーへの移行に関して私が抱えていた多くの質問を解決した本をお勧めします。

本:Mary ChipmanとAny BaronによるMicrosoft Access開発者用SQL Serverガイド

この本は、セキュリティ上の利点からユーザー権限など、知っておくべきことすべてを説明しており、何よりも、非常に読みやすく、わかりやすい方法で説明されています。

おそらくこの本の最新版がありますが、これは私が現在使用しているものであり、私のニーズをすべて満たしています。

それが私を助けてくれたのと同じくらいあなたが助けてくれることを願っています。

幸運を!


2

あなたの質問に答えるために-

メンテナンス:最も重要なこと(データベースの確認、データベースの削減、統計の更新、再構築など)

メンテナンスに最適なソリューションの1つは、SQL Serverバックアップ、整合性チェック、およびインデックスと統計のメンテナンス です。SQLServerコミュニティによって広くテストおよび使用されています。

索引-必要な分からないので、上から基礎を学べる良い本やブログなどはありますか?

SQL Serverインデックスへの階段 -基本レベルから上級レベルまでの優れたシリーズ。

他に見逃したもの(SQL Serverを初めて使うと言ったように、おそらくたくさんあります...)

SQL Serverには、メンテナンスとインデックス作成以外にも多くの機能があります。私の提案は、以下のサイトから投稿されたコンテンツを読むことです...(彼らは最高です!!)

SQLSkills.com

brentozar.com

SQLServerCentral.com

SQLServerを定期的に使用することにより、障害復旧、パフォーマンスチューニング、高可用性、データベース破損などのさまざまな領域でより多くの知識を得る必要性を感じるでしょう。

注:Webには、非常に多くの情報があり、Badのアドバイスも優れています。したがって、私のアドバイスは、SQLServerを日常的に使用して働いている人々から教育を受けることです。

最後に、SQLSkillsからこのトレーニングを確認してください。私は個人的にIE1とIE2を採用し、私を信頼しています。違いを感じるでしょう!


0

あなたは、SQL Server上で勉強することができます1つの非常に興味深いのは、あるクエリ実行プラン、およびSQLクエリヒントクエリ実行プランは、あなたが期待しているものではないときに使用することができます。

クエリ実行プランは高度なトピックですが、SQL Serverのパフォーマンスを理解するのに役立ちます。

当然ですが、クエリヒントを誤用しないでください。私の経験では、クエリが期待どおりのパフォーマンスで動作しない場合は、最後の手段です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.