Tips & Trik SQL Server :  Solusi Error Saat Attach Database Tanpa File Log (File LDF)

Tips & Trik SQL Server : Solusi Error Saat Attach Database Tanpa File Log (File LDF)

Tips & Trik SQL Server : Solusi Error Saat Attach Database Tanpa File Log (File LDF)

Setiap database di SQL Server memiliki minimal dua file utama yaitu file Data yang memiliki ekstensi file .MDF, dan file Log yang memiliki ekstensi file .LDF. Setiap melakukan transaksi data (insert, update, delete), file Log akan mencatat setiap perintah transaksi tersebut kedalam file LDF. Selanjutnya setelah ada perintah COMMIT, perubahan data akan disimpan ke dalam file MDF.

Untuk kebutuhan tertentu, kadang diperlukan untuk memindahkan lokasi file baik file MDF maupun LDF di SQL Server. Untuk hal tersebut dapat dilakukan dengan cara  mudah yaitu melakukan detach database, kemudian memindahkan file MDF dan file LDF tersebut ke drive atau lokasi lain, dan selanjutnya dilakukan proses attach kembali ke sistem SQL Server. Proses detach maupun attach database bisa dilakukan baik melalui SQL Server Management Studio, maupun melalui console Query.

Tips & Trik SQL Server : Solusi Error Saat Attach Database Tanpa File Log (File LDF) 1

Pernah mengalami Error pada saat Attach file MDF database SQL Server tanpa file LDF? Secara umum Attach File MDF tanpa file LDF tidak akan menjadi masalah, selama transaksi yang terjadi di database normal, atau sudah tercommit semua. Namun apabila karena suatu hal server rusak, dan yang bisa dilakukan hanya bisa mengcopy file MDF, bisa jadi ketika attach file MDFakan menemui pesan error.

Jangan khawatir, berikut solusi untuk memperbaiki database SQL Server yang hanya memiliki file MDF tanpa file LDF.

  • Siapkan file MDF dari database yang akan diperbaiki. Untuk selanjutnya file MDF tersebut dalam tutorial ini akan disebut file MDF original
  • Buat database baru dengan nama sama dengan file MDF original, baik MDF maupun LDF-nya
  • Stop SQL Server, masuk ke lokasi file MDF. Rename file MDF yang ada, dan copy-kan file MDF yang original yang ke lokasi tersebut. Delete File LDF yang ada
  • Start SQL Server
  • Sekarang database anda akan di mark menjadi Suspect
  • Update sysdatabases ke Emergency Mode. Perintah ini bermaksud agar tidak menggunakan file LOG pada saat start up
     Sp_configure "allow updates", 1
     go
     Reconfigure with override
     GO
     Update sysdatabases set status = 32768 where name = 'DbName Yg Rusak'
     go
     Sp_configure "allow updates", 0
     go
     Reconfigure with override
     GO
  • Restart sql server. dan sekarang database akan masuk ke Emergency Mode
  • Kemudian eksekusi perintah berikut, untuk membuat log baru.
     DBCC REBUILD_LOG(dbname,'c:\dbname.ldf')
     Execute sp_resetstatus <dbname>
  • Restart SQL server dan walaaaa…database Anda sudah online.

Selamat mencoba!

Mustofa

Manager Edukasi Inixindo Jogja

Akselerasi Android Emulator dengan Intel HAXM

Akselerasi Android Emulator dengan Intel HAXM

Akselerasi Android Emulator dengan Intel HAXM

Dalam pengembangan aplikasi mobile untuk Android, Android Studio dan Android SDK menyediakan tool AVD (Android Virtual Device) sehingga kita bisa menggunakan emulator Android untuk melakukan pengujian terhadap aplikasi mobile yang kita kembangkan. Agar emulator Android bisa berjalan dengan cepat dan lancar di PC atau laptop kita, maka Intel menyediakan Hardware Accelerated Execution Manager (Intel HAXM) yang mampu mempercepat kinerja dari emulator Android termasuk akselerasi 3D melalui OpenGL.

Intel HAXM versi terbaru bisa diunduh secara gratis dari situs Intel berikut: http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager

Bila ingin menggunakan Intel HAXM, maka ada beberapa syarat yang harus terpenuhi di PC atau laptop kita:

  1. Prosesor Intel dengan dukungan 64-bit (EM64T), virtualisasi (VT-x), dan Execute Disable (XD). Kadang-kadang fitur VT-x dan Execute Disable perlu diaktifkan dahulu melalui konfigurasi BIOS di motherboard.
  2. RAM 8GB sangat disarankan. Bila RAM di PC hanya 4GB, maka sebaiknya menggunakan HP Android aktual dan bukan emulator. Intel HAXM sendiri akan membutuhkan RAM sebesar 2GB untuk mendukung emulator Android.

Untuk versi Windows, Intel HAXM terbaru saat ini adalah versi 6.1.0 yang bisa jalan di Windows 7, 8, 8.1, maupun 10 baik versi 32-bit maupun 64-bit. Setelah berhasil mengunduh file dalam format zip, kita tinggal melakukan ekstraksi file zip tersebut dan menjalankan file installer “intelhaxm-android.exe” seperti gambar di bawah ini:

Akselerasi Android Emulator dengan Intel HAXM 2

Pada saat melakukan instalasi di Windows, kadang kala akan muncul pesan error seperti berikut:

Akselerasi Android Emulator dengan Intel HAXM 3

Bila muncul error seperti itu, jangan langsung klik pada tombol OK namun gunakan Windows Explorer untuk menyalin folder “C:\Program Files\Intel\HAXM” ke tempat lain yang aman seperti berikut:

Akselerasi Android Emulator dengan Intel HAXM 4

Setelah folder HAXM berhasil disalin ke folder lain yang aman, baru klik tombol OK yang akan menyebabkan folder pertama dihapus karena instalasi gagal. Barulah kita menyalin kembali folder HAXM yang diamankan tadi ke lokasi yang semula yaitu di “C:\Program Files\Intel\HAXM” agar bisa melakukan instalasi secara manual. Untuk melakukan instalasi secara manual, jalankan command prompt (cmd) di Windows dengan “Run as administrator” seperti berikut:

Akselerasi Android Emulator dengan Intel HAXM 5

Setelah berhasil menjalankan command prompt dengan tingkat Administrator, maka tinggal mengetik ketiga perintah berikut secara urut:

cd “\Program Files\Intel\HAXM”

HaxInst64.exe /i intelhaxm.inf 16

sc query intelhaxm

Perintah pertama digunakan supaya kita berpindah folder ke tempat instalasi Intel HAXM. Perintah kedua digunakan untuk melakukan instalasi driver dan service Intel HAXM secara manual. Perintah ketiga dan terakhir digunakan untuk melakukan verifikasi bahwa instalasi telah berhasil. Bila STATE sudah RUNNING maka instalasi berhasil. Berikut adalah tampilan hasil instalasi manual tersebut:

Akselerasi Android Emulator dengan Intel HAXM 6

Setelah melakukan instalasi secara manual, installer “intelhaxm-android.exe” masih tetap perlu dijalankan lagi agar terdaftar di Windows registry dan terdeteksi oleh Android Studio. Kali ini, seharusnya instalasi tidak lagi error dan bisa selesai seperti berikut:

Akselerasi Android Emulator dengan Intel HAXM 7

Agar emulator Android bisa memanfaatkan Intel HAXM yang baru saja kita install, pastikan di Android SDK Manager bahwa kita menggunakan file system image yang versi “Intel x86 Atom System Image” atau “Google APIs Intel x86 Atom System Image” untuk versi API yang ingin digunakan. Jangan menggunakan file system image versi “Atom_64”  karena Intel HAXM hanya mendukung system image yang 32-bit saja, bukan yang 64-bit.

Untuk memastikan bahwa Intel HAXM berfungsi saat menjalankan emulator Android melalui AVD Manager di Android Studio, periksalah pesan yang muncul di Android Studio ketika sedang menjalankan emulatornya sebagai berikut:

Akselerasi Android Emulator dengan Intel HAXM 8

Bila muncul pesan “HAX is working and emulator runs in fast virt mode” maka emulator Android sedang menggunakan akselerasi melalui Intel HAXM agar berjalan dengan lebih cepat dan lancar.

Selamat mencoba!

Andrian The

Instruktur Senior

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap

Oracle Database memiliki bahasa pemrograman PL/SQL yang digunakan untuk memperluas kemampuan dan fleksibilitas database melalui berbagai trigger, fungsi, dan stored procedure. Agar source code (kode sumber) PL/SQL tidak terlihat oleh orang lain, Oracle Database memiliki fitur wrap sehingga cara kerja trigger, fungsi, atau stored procedure yang dibuat dengan bahasa pemrograman PL/SQL tidak bisa diketahui atau dipelajari oleh orang lain.

Dengan bantuan tool Oracle SQL Developer, kita bisa membuat berbagai obyek database dengan lebih cepat, mudah, dan nyaman. Oracle SQL Developer versi terbaru saat ini yaitu 4.1.5 bisa diunduh secara gratis dari:

http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 9

Sebagai contoh, kita bisa membuat sebuah fungsi PL/SQL yang sederhana untuk menghitung pajak seperti berikut melalui Oracle SQL Developer:

CREATE OR REPLACE FUNCTION HITUNG_PAJAK (NILAI IN NUMBER)

RETURN NUMBER AS

HASIL NUMBER;

BEGIN

HASIL := NILAI * 0.1;

RETURN HASIL;

END HITUNG_PAJAK;

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 10

Untuk menyembunyikan kode sumber fungsi HITUNG_PAJAK dengan fitur wrap di Oracle Database, pertama script kode sumber perlu disimpan sebagai file agar kita memiliki master kode sumber asli dari fungsi tersebut sehingga masih bisa diedit lagi bila perlu. Cara membuat file scriptnya adalah dengan melakukan klik kanan pada nama fungsi tersebut dan memilih “Quick DDL” kemudian “Save to File…” seperti berikut:

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 11

Setelah menyimpan file script fungsi tersebut, misalnya ke “C:\script\hitung_pajak.sql”, bukalah Command Prompt (perintah “cmd”) di Windows. Melalui Command Prompt, gunakan perintah “cd” untuk berpindah ke folder dimana file “hitung_pajak.sql” berada dan kemudian jalankan perintah “wrap iname=hitung_pajak.sql” yang akan menghasilkan file baru bernama “hitung_pajak.plb”. File baru ini berisikan kode fungsi yang sudah di-wrap dan tidak bisa dibaca lagi kode sumbernya. Perintah “wrap” merupakan tool bawaan dari Oracle Database. Berikut adalah hasil eksekusinya:

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 12

Untuk mengganti fungsi HITUNG_PAJAK yang masih terlihat kode sumbernya dengan kode wrap yang ada di file “hitung_pajak.plb”, maka tool SQL*Plus bawaan Oracle Database bisa digunakan untuk menjalankan file script “hitung_pajak.plb”. Format perintah adalah “sqlplus username/password @scriptfile”. Berikut adalah contoh perintah untuk menjalankan file script “hitung_pajak.plb” sebagai user “scott” dengan password “tiger”:

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 13

Bila kita melihat kembali fungsi HITUNG_PAJAK melalui Oracle SQL Developer, hasilnya menjadi seperti berikut:

Proteksi Kode Oracle PL/SQL dengan Fitur Wrap 14

Perhatikan bahwa kode sumber fungsi tersebut sudah tidak bisa dibaca lagi, namun masih tetap bisa jalan seperti biasa di Oracle Database. Dengan demikian, kita mampu melakukan proteksi terhadap kode PL/SQL yang kita buat dengan memanfaatkan fitur wrap di Oracle Database sehingga kode sumbernya tidak bisa dibaca dan dipelajari oleh orang lain.

Selamat mencoba!

Andrian The

Instruktur Senior

Mengijinkan Akses Jaringan Hanya dari Client DHCP di Mikrotik

Mengijinkan Akses Jaringan Hanya dari Client DHCP di Mikrotik

Mengijinkan Akses Jaringan Hanya dari Client DHCP di Mikrotik

Artikel ini ditujukan untuk para admin jaringan yang dibuat pusing oleh para user yang sering mengganti IP komputer mereka dari obtain (DHCP Client) menjadi static. Perubahan ini dapat menyebabkan policy yang telah diatur jadi berantakan, bahkan juga sering menyebabkan terjadinya IP Conflict, yang akan sulit mendeteksi darimana datangnya IP Conflict tersebut.

Namun bagi admin jaringan yang menggunakan Mikrotik sebagai router sekaligus DHCP server, kini tidak usah khawatir, karena konfigurasi ini dapat memaksa agar client mengeset kembali IP komputer mereka menjadi Obtain IP (DHCP Client). Karena apabila user tersebut memaksa menggunakan IP Static, maka akibat yang terjadi adalah komputer tersebut tidak akan dapat koneksi ke internet atau ke jaringan lain yang melewati router Mikrotik tersebut.

Cara konfigurasinya sangat mudah :

  • Masuk ke winbox Mikrotik
  • Klik Interfacec, kemudian double klik interface LAN yang digunakan sebagai interface DHCP
  • Pilih di bagian ARP : Reply-Only

Mengijinkan Akses Jaringan Hanya dari Client DHCP di Mikrotik 15

  • Konfigurasi di DHCP Server untuk menambahkan ARP ketika terjadi DHCP-lease. Klik IP–>DHCP Server, edit DHCP, check Add ARP for leases

 

Mengijinkan Akses Jaringan Hanya dari Client DHCP di Mikrotik 16

  • Selesai, dan silahkan dicoba koneksi dari komputer yang diset Static IP dan dari komputer yang diset Obtain IP dan lihat hasilnya.

Kemudian ada pertanyaan, bagaimana untuk komputer server atau komputer lain yang memang ingin diset IP Static, namun ingin tetap dapat koneksi ke internet atau ke network lain melalui router Mikrotik tersebut?
Yup, jawabannya adalah dengan mengeset ARP static IP komputer yang diinginkan dan Mac-Addressnya di menu  IP –> ARP.

Jadi prinsip kerja konfigurasi ini adalah, router Mikrotik tidak akan pernah melakukan ARP Request untuk IP address-IP Address yang tidak ada di dalam tabel ARP-nya. Karena interface yang digunakan untuk DHCP yang sekaligus sebagai interface gateway hanya mampu melakukan ARP-Reply saja. Sehingga router Mikrotik hanya akan meneruskan packet ke tujuan yang sudah ada di ARP table-nya.

Selamat mencoba!

 

Mustofa

Manajer Edukasi Inixindo Jogja