Author Archives: radityopw

Mendapatkan ip address windows host dari linux guest di WSL 2

saya punya case, mau menghubungkan PHP yang ada di ubuntu di WSL dengan SQLServer yang ada di Windows 10 sebagai host, kita memerlukan ip address windows nya .

berdasarkan artikel ini, ip windows dapat kita lihat di file /etc/resolv.conf , ip tersebut ada pada value dari key “nameserver”.
hal ini fine fine saja untuk keperluan sehari2 yang adhoc.

namun, kalau seperti ini, kita harus mengganti konfigurasi PHP terkait ip address dari SQLServer tadi. tentu hal ini bukan saya banget.

sebagai anak yang sangat malas akhirnya saya mencari cara agar mendapatkan ip tersebut secara otomatis.

cara saya adalah :

  1. membuat variabel pada environtment variabel di apache2
  2. lokasi point 1 ada di /etc/apache2/envvars
  3. isi dari point 2 adalah export win_ip_addr=$(cat /etc/resolv.conf | grep nameserver | tr -d “nameserver “)
  4. lalu di php nya bisa kita manfaatkan fungsi getenv dengan memanggil variabel win_ip_addr tadi

selesai deh 😀

Memberi akses “readonly” sebuah user ke semua database

Ceritanya saya memerlukan sebuah user yang boleh membaca semua database yang sudah ada.
cara nya cukup mudah :

  1. Membuat User di Database tersebut dengan menghungkan ke login tertentu
  2. Memasukkan user tersebut ke dalam group db_datareader

Hal ini tentu mudah jika dilakukan pada 1 database, bagaimana jika kita harus melakukan ke semua database yang ada ?
tentu kita memerlukan script untuk ini.
ya tanpa basa basi lagi
silakan

jangan lupa mengganti kata monitoring dengan nama user yang akan anda berikan akses

Copy atau Transfer Login di SQLServer

untuk pengguna sqlserver on premise, seringkali kita harus melakukan duplikasi user login dikarenakan tidak melakukan setup active directory. jika memang perlu melakukannya silakan ikuti langkah berikut

Transfer logins and passwords between instances – SQL Server | Microsoft Docs

dengan mengikuti langkah tersebut, kita dapat melakukan duplikat login sama persis dengan password nya.

SQLServer database dari no recovery / standby ke recovery mode

biasanya solusi High Avalilability (HA) dan Disaster Recovery (DR) untuk SQLServer saya menggunakan metode paling mudah dan murah yaitu log shipping.

seandainya harus terjadi failover ke salah satu server DR , kita harus membuat database nya menjadi dalam mode recovery. caranya adalah dengan :

RESTORE DATABASE [dbname] WITH RECOVERY

saya catat di blog ini agar saya sendiri tidak lupa 😀

Menghapus isi temporal table pada SQLServer

temporal table sangat membantu saya untuk mentracking data yang berubah. jika anda belum tahu bagaimana cara mudah mengubah sqlserver table menjadi temporal table , anda dapat melihat nya di sini.

sekarang, jika kita sudah menggunakan temporal table, ada kalanya kita ingin menghapus isi dari temporal table tersebut. sayangnya kita tidak dapat menghapus langsung data pada tabel history tersebut. saya sudah membuat script sederhana yang menggenerate query untuk menghapus data tersebut, dapat anda lihat di bawah.

selamat mencoba.

SQLCMD error TCP Provider: Error code 0x2746. Client unable to establish connection

yah dan terjadi lagi.

ceritanya ingin membuat koneksi dari Ubuntu 20.04 LTS ke SQLServer box di windows

kebetulan SQLServer nya versi cukup lama pada Os WIndows server yang cukup lama juga

jika menemukan error seperti itu, tandanya kemungkinan besar bermasalah dengan konfigurasi openssl yang ada di client (ubuntu).

versi nya terlalu tinggi. solusi nya yang sudah saya coba :

1. edit /etc/ssl/openssl.cnf
2. tambahkan di baris pertama sintaks 
    openssl_conf = default_conf
3. diakhir file tambahkan 

[default_conf]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
MinProtocol = TLSv1
CipherString = [email protected]=1

dengan ini akhirnya bisa konek lagi..

Git Credential Manager di Ubuntu

karena bitbucket sekarang mengharuskan kita menggunakan app password daripada password username seperti biasa pada project yang menggunakan https. Maka password tersebut sebaiknya tidak kita ketik berulang2, karena app password berupa string random yang tidak mungkin dihapalkan.

untuk itu seolusinya adalah dengan menginstall Git Credential Manager,
pada OS Ubuntu dapat dilakukan dengan menggunakan script berikut

wget "https://github.com/microsoft/Git-Credential-Manager-Core/releases/download/v2.0.498/gcmcore-linux_amd64.2.0.498.54650.deb" -O /tmp/gcmcore.deb
sudo dpkg -i /tmp/gcmcore.deb
git-credential-manager-core configure