Pertimbangan Utama Saat Pindah Dari Pemrograman MS Access ke SQL Server


8

Saya seorang programmer MS Access yang 100% otodidak (bagian utama dari pekerjaan saya adalah pemrograman), saya sekarang membangun basis data yang lebih besar; masih menggunakan MS Access sebagai UI tetapi SQL Server untuk menyimpan semua data dan melakukan lebih banyak dari 'pekerjaan'.

Intinya pertanyaan saya adalah; masalah apa yang perlu saya ketahui untuk SQL Server yang mungkin tidak saya pelajari atau butuhkan saat menggunakan Access?

Tidak mencari Anda untuk memberi tahu saya cara melakukan apa pun, lebih dari apa yang Anda pikirkan adalah hal paling penting yang harus saya lakukan penelitian - ada banyak mata pelajaran dan banyak detail, tidak ingin menemukan diri saya lama menuruni jalan yang kurang berharga ...

Dump otak:

  • Pemeliharaan: apa yang paling penting (periksa database, kurangi database, perbarui statistik, rekondisi dll)
  • Indeks - saya tidak tahu sebanyak yang seharusnya, apakah ada buku / blog yang bagus dll yang dapat mengajarkan saya dasar-dasar ke atas?
  • Ada lagi yang saya lewatkan (mungkin ada banyak, seperti yang saya katakan saya baru mengenal SQL Server ...)

Jika itu membantu saya bekerja untuk pengecer berukuran sedang dan database saya sebagian besar bekerja pada hal-hal seperti

  • Platform pelaporan (merangkum penjualan / penerimaan / inventaris dll dari sistem utama dan menyediakan pelaporan cepat)
  • Alat rekonsiliasi antara bagian ketiga dan apa yang dimasukkan toko kami melalui register (mengimpor data dari pihak ketiga dan referensi silang log transaksi)
  • Simpan semua data untuk dilakukan dengan promosi kami; produk, harga, proyeksi, hasil aktual, dll

Mengapa SQl Server 2005? Agak lama, dengan 3 versi utama di belakang.
Marian

Ini adalah apa yang saat ini kami instal di tempat kerja saya dan karena saya satu-satunya yang benar-benar menggunakannya, saya harus menunjukkan nilai apa yang dapat saya tambahkan dengannya sebelum mereka meng-upgrade.
Simon1979

@ Simon1979 salah satu nilainya adalah memiliki jalur peningkatan yang sederhana. Di SQL Server 2012 Anda dapat mengembalikan cadangan DB dari SQL Server 2005, tetapi tidak dari versi sebelumnya (SQL Server 2000). Mungkin versi SQL Server berikutnya tidak akan memungkinkan Anda untuk memulihkan cadangan DB dari SQL Server 2005. Dan memulihkan cadangan adalah salah satu cara termudah untuk mentransfer data dari server yang berbeda
Max

Jawaban:


4

Ketika Anda mempelajari lebih lanjut tentang SQL Server, Anda akan menemukan (untuk kesenangan Anda) sejumlah hal yang dapat Anda lakukan di SQL Server di tingkat database yang sebelumnya harus Anda lakukan di Access di tingkat aplikasi. Beberapa contoh termasuk:

Pemicu: Prosedur yang ditentukan pada tingkat tabel untuk membuat hal-hal secara otomatis terjadi setiap kali ada INSERT / UPDATE / DELETE di atas meja.

Stored Procedures: Agak mirip dengan macro Access dan prosedur VBA kecil yang SubAnda buat di Access untuk melakukan "hal-hal yang berguna", kecuali bahwa dalam SQL Server mereka adalah bagian dari database itu sendiri. Jadi, Anda dapat menulis Prosedur Tersimpan (SP) satu kali dan menggunakannya (hampir) di mana saja, bahkan di seluruh aplikasi yang memiliki basis data yang sama.

Fungsi: Ini agak analog dengan VBA kecil yang FunctionAnda tulis di Access untuk digabungkan ke dalam kueri, kecuali bahwa Fungsi SQL Server, seperti SP, lebih terikat erat ke database. Fungsi SQL Server juga bisa bernilai skalar (mengembalikan nilai skalar tunggal) atau nilai tabel (mengembalikan rowset).

Trik SQL Menyenangkan: Ada banyak fitur SQL yang tersedia di SQL Server yang tidak didukung dalam Access (Jet / ACE) SQL. "Common Table Expressions" (CTEs) dan " RANKand PARTITION" adalah yang memberi saya "aha 'saat" ketika saya memulai.

Saya bisa melanjutkan, tetapi ini adalah hal-hal yang saya ingat sejak awal yang membuat saya "berpikir dalam SQL Server".

Jangan salah, saya masih berpikir Access adalah alat yang sangat baik ketika digunakan dengan tepat, dan harus diberi pertimbangan serius sebagai cara untuk

  • membangun (atau hanya mengejek) aplikasi front-end terhadap SQL Server back-end, dan

  • lakukan pembersihan data, buat kueri dan laporan ad-hoc, dan lakukan tugas serupa pada data SQL Server Anda.

Akhirnya, meskipun Anda akan bekerja dengan SQL Server 2005, saya sangat menyarankan Anda mendapatkan salinan SQL Server 2008 (atau 2012) Express untuk belajar , terutama karena peningkatan IDE di SQL Server Management Studio (yaitu, penyelesaian otomatis dan debugging interaktif). Perlu diketahui setiap fitur yang lebih baru (2008+) yang mungkin Anda temui dan tidak bergantung pada mereka untuk kode produksi Anda. (Atau, gunakan itu sebagai poin-poin untuk pitch Anda untuk memutakhirkan dari SQL Server 2005 ....)


4

Ada banyak yang harus dipelajari ... baik online maupun melalui buku. Berikut adalah beberapa tautan pertama untuk memulai (daftar sangat tidak lengkap, tetapi akan membuat Anda sibuk untuk sementara waktu):

Forum

Blog

Buku


3

Setelah menggunakan SQL server selama beberapa tahun sekarang (dan sebelum Access itu), saya akan menyarankan yang berikut ini.

  1. Cadangkan dan pulihkan - Anda tidak lagi mengambil salinan file untuk mencadangkan basis data, tergantung pada kebutuhan Anda (ukuran, apakah Anda perlu hingga menit memulihkan, dll.) Mencoba mencadangkan dan memulihkan basis data. Anda bukan apa-apa tanpa data Anda!
  2. Tonton video Brent Ozar: http://www.youtube.com/brentozar - lelaki itu adalah legenda SQL Server. Ini lebih ditujukan pada sisi teknis, tetapi ada beberapa video pemula yang bagus di sana juga. Saya telah belajar banyak dari mereka (meskipun materi pelajarannya cukup kering!)
  3. Pemeliharaan - Saya menduga kebutuhannya minimal jika Access telah baik-baik saja sampai sekarang: Kecuali Anda memiliki banyak pemrosesan, banyak data (10GB +) atau pertanyaan kompleks, Anda bisa menjalankan SQL Server dengan senang hati tanpa melakukan pemeliharaan selama berbulan-bulan tanpa masalah. Index reindex / rebuilds (ada perbedaan) mungkin adalah hal pertama yang Anda ingin gunakan meskipun jika Anda memiliki banyak catatan.
  4. Saya benar-benar merekomendasikan Stairways di SQL Server Central http://www.sqlservercentral.com/stairway/ - mereka adalah perkenalan yang bagus untuk jenis indeks, tipe data (ini berbeda dari Access sedikit!)
  5. Jika Anda pernah khawatir bahwa database Anda tidak dalam kondisi prima, cobalah prosedur tersimpan sp_blitz milik Brent Ozar (Google untuk itu - saya perlu lebih banyak reputasi untuk mengirim tautan tambahan!) - ia memeriksa banyak statistik / parameter basis data, menyediakan daftar prioritas tentang apa yang perlu dilakukan dengan tautan ke situs web untuk menawarkan diskusi yang lebih mendalam.

Saya sudah mulai bekerja dengan Pelaporan SQL Server baru-baru ini, tetapi bisa sulit untuk mengatur - untuk sebagian besar kasus bisnis, mendapatkan Excel untuk mengambil data dari Prosedur yang Disimpan SQL Server seringkali lebih fleksibel bagi manajer.

Semoga ini bisa membantu, selamat datang :)


2

Untuk siapa pun yang mulai dengan SQL Server, saya akan merekomendasikan untuk mulai dengan mempelajari blok bangunan dasar terlebih dahulu, sebelum Anda masuk ke hal-hal jenis DBA.

  1. Tipe dasar dan fungsi dari Objek SQL yang berbeda (tabel, kunci, tampilan, prosedur tersimpan, fungsi yang ditentukan pengguna, pemicu)
  2. Menulis Basic T-SQL, DML & DDL

Setelah Anda memiliki pegangan ini, dan Anda dapat bekerja pada SQL Server tanpa harus menggunakan MS Access, terutama menggunakan tipe T-SQL, maka Anda bisa beralih ke mempelajari lebih lanjut tentang tugas-tugas tipe DBA dasar, seperti:

  1. Cadangkan & Kembalikan

  2. Pemeliharaan

  3. Administrasi

Situs MSDN & Pembelajaran Microsoft akan memiliki pelajaran dan tutorial yang sangat berguna untuk Anda. Saya mengerti bahwa tidak selalu jelas dari mana harus memulai, tetapi jika Anda secara kasar mengikuti daftar di atas, Anda harus SQL-ing dalam waktu singkat.

Catatan : Meskipun sebagian besar kursus Sertifikasi Microsoft SQL 2005 mungkin telah dihentikan, Anda masih dapat menggunakan sumber daya yang tersedia untuk SQL 2008 R2. Saya mungkin tertembak untuk mengatakan ini, tetapi SQL 2008 R2 cukup mirip dengan SQL 2005 (dalam konteks apa yang ingin Anda pelajari) sehingga Anda bisa belajar 2008 R2 dan masih OK.

Terakhir: Selamat datang di dba.stackexchange.com dan SQL Server


2

Saya saat ini berada dalam situasi yang persis sama dengan Anda, teman saya dan saya dapat sepenuhnya mengerti. Jadi saya akan merekomendasikan buku yang telah memecahkan banyak pertanyaan yang saya miliki sehubungan dengan pindah ke SQL server.

Buku: Panduan Pengembang Microsoft Access ke SQL Server oleh Mary Chipman dan Any Baron

Buku ini menjelaskan semua yang perlu Anda ketahui mulai dari manfaat keamanan hingga izin pengguna, dll, dan yang terbaik, dijelaskan dengan cara yang sangat mudah dibaca dan langsung.

Mungkin ada versi yang lebih mutakhir dari buku ini, tetapi ini adalah yang sekarang saya gunakan dan penuh memenuhi semua kebutuhan saya!

Semoga ini membantu Anda sebanyak itu membantu saya.

Semoga berhasil!


2

Untuk menjawab pertanyaan Anda -

Pemeliharaan: apa yang paling penting (periksa database, kurangi database, perbarui statistik, rekondisi dll)

Salah satu solusi terbaik untuk Pemeliharaan adalah Cadangan Server SQL, Pemeriksaan Integritas, dan Pemeliharaan Indeks dan Statistik. Baca saja dan terapkan. Diuji dan digunakan secara luas oleh komunitas SQLServer.

Indeks - saya tidak tahu sebanyak yang seharusnya, apakah ada buku / blog yang bagus dll yang dapat mengajarkan saya dasar-dasar ke atas?

Stairway to SQL Server Indexes - Seri luar biasa dari tingkat dasar hingga lanjutan.

Ada lagi yang saya lewatkan (mungkin ada banyak, seperti yang saya katakan saya baru mengenal SQL Server ...)

Ada lebih dari sekedar pemeliharaan dan Pengindeksan di SQL Server. Saran saya adalah untuk membaca konten apa pun yang diposting oleh situs di bawah ini ... (Mereka adalah yang terbaik !!)

SQLSkills.com

brentozar.com

SQLServerCentral.com

Dengan bekerja dengan SQLServer secara teratur, Anda akan merasa perlu untuk mendapatkan lebih banyak pengetahuan di berbagai bidang seperti Pemulihan Bencana, Penyesuaian Kinerja, Ketersediaan Tinggi, Korupsi Basis Data, dll.

Catatan: Ada banyak informasi di luar sana di web dengan saran buruk yang bagus juga. Jadi saran saya adalah untuk mendapatkan pendidikan dari orang-orang yang telah bekerja dan bekerja dengan SQLServer setiap hari.

Terakhir, periksa pelatihan ini dari SQLSkills - salah satu yang terbaik yang ditawarkan. Saya pribadi telah mengambil IE1 dan IE2 dan percayalah .. Anda akan merasakan perbedaannya!


0

Satu hal yang sangat menarik yang dapat Anda pelajari di SQL Server adalah Rencana Eksekusi Kueri , dan Petunjuk Kueri SQL yang dapat Anda gunakan ketika rencana eksekusi kueri tidak seperti yang Anda harapkan.

Rencana Eksekusi Kueri, adalah topik lanjutan, tetapi dapat membantu Anda memahami kinerja SQL Server.

Secara alami Anda tidak boleh menyalahgunakan Petunjuk Kueri , dalam pengalaman saya mereka adalah pilihan terakhir ketika kueri tidak berfungsi dengan kinerja yang diharapkan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.