Tampilkan postingan dengan label SQL SERVER. Tampilkan semua postingan
Tampilkan postingan dengan label SQL SERVER. Tampilkan semua postingan

Jumat, 04 Oktober 2024

Cara Menambah Local Disk di sql server

 Cara Menambah Local Disk di sql server yang disk tersebut di luar local disk server kita:

terkadang kita terbatas dalam penyimpanan backup jika data tersebut sudah cukup besar maka kita harus mempunyai penyipanan yang cukup besar, adapun cara menambah local disk di luar server tersebut sebagai berikut:


berikut adalah script yang kita butuhkan

buka new qwery
tambah qwery berikut

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO

EXEC sp_configure 'xp_cmdshell',1
GO
RECONFIGURE
GO

setelah itu

ketik

EXEC xp_cmdshell 'net use I: \\<IP komputer> /user:domain\<user> <pass>';

dak eksekusi

jika sudah ada dan tidak digunakan dapat di hapus terlebih dahulu

exec xp_cmdshell 'net use /delete I:'

Kamis, 18 April 2024

Pengertian Mode lock/kunci pada wait type sql server



Mode kunci yang dihasilkan setelah eskalasi:


0=NULL - Kompatibel dengan semua mode kunci lainnya (LCK_M_NL)

1=Kunci stabilitas skema (LCK_M_SCH_S)

2=Kunci Modifikasi Skema (LCK_M_SCH_M)

3=Kunci Bersama (LCK_M_S)

4=Perbarui Kunci (LCK_M_U)

5=Kunci Eksklusif (LCK_M_X)

6=Kunci Bersama Niat (LCK_M_IS)

7=Kunci Pembaruan Niat (LCK_M_IU)

8=Kunci Eksklusif Niat (LCK_M_IX)

9=Dibagikan dengan niat untuk Memperbarui (LCK_M_SIU)

10=Dibagikan dengan Intent Exclusive (LCK_M_SIX)

11=Perbarui dengan Intent Exclusive (LCK_M_UIX)

12=Kunci Pembaruan Massal (LCK_M_BU)

13=Rentang kunci Bersama/Bersama (LCK_M_RS_S)

14=Rentang kunci Bersama/Pembaruan (LCK_M_RS_U)

15=Rentang Kunci Sisipkan NULL (LCK_M_RI_NL)

16=Rentang Kunci Sisipkan Bersama (LCK_M_RI_S)

17=Pembaruan Sisipkan Rentang Kunci (LCK_M_RI_U)

18=Rentang Kunci Sisipkan Eksklusif (LCK_M_RI_X)

19=Rentang Kunci Bersama Eksklusif (LCK_M_RX_S)

20=Pembaruan Eksklusif Rentang Kunci (LCK_M_RX_U)

21=Key Range Eksklusif (LCK_M_RX_X)

Selasa, 06 Februari 2024

Cara Shrink log database SQL SERVER

Cara Shrink log database SQL SERVER

semakin sering data base kita digunakan maka akan semakin banyak log yang tambah pada souce database kita.

Kita ambil contoh disini, log di ldf kita cukup tinggi kita dapat menguranginya dengan men shring data tersebut agar lognya berkurang. 
langsung saja yuk.
kita buka sqlserver kita.
klik kanan pada database kita
klik taks-shrink-database


akan keluar tampilan seperti dibawah ini
kemudian kita klik ok dan tunggu beberapa saat



Cara Memonitoring skrip yang bikin masalah di SQL SERVER

Cara Memonitoring skrip yang bikin masalah di SQL SERVER

kita bertemu lagi pada hari ini, kali ini kita akan sharing tentang bagaimana cara kita memonitoring skrip yang konek dengan db sql server kita.

jadi biasanya sql server kita ada kendala ngelock atau lamban, kita bisa menganalisa dengan memonitoring apakah skrip kita ada yang tersuspend apa tidak,atau skrip-sekrip yang lain

langsung saja yuk....

pertama kita buka sql server kita.

klik kanan localhost/alamat server kita

pilih Activity Monitor


Setelah itu akan keluar tampilan seperti di bawah ini, kita pilih proses
disini akan tampak skrip apa saja yang mengakses database kita


sehingga kita akan adapat mengumpulkan data tersebut untuk kita analisa, tabel manakan yang bermasalah/skrip apa yang bikin bermasalah.

Jumat, 09 Oktober 2020

Cara Backup otomatis darabase SQL SERVER

Cara Backup otomatis darabase SQL SERVER
langsung saja ya.
1. Buka aplikasi SQL SERVER
2. Pilih Connect

3. Pilih Maintenance Plans


4. Klik kanan Maintenance Plan


5. Ketik Nama 



6. Akan tampil, tampilan seperti di bawah ini


7. Klik kotak kecil seperti kalender di ATAS,, akan tampil tampilan di bawah ini, pilih frequency, mau back up, hari/tanggal/bulan


8. Pilih Toolbox. juka tidak keluar "toolbox berada di bagian atas kanan icon palu kunci inggris"
    Akan keluar toolbox sesuai yang di bawah ini sebelah kiri.
    klik tahan Back Up database task geser ke bagian bawah kanan


9. akan tampilan gambar seperti di bawah ini


10. Double klik kotak tersebut
        Akan tampil tampilan di bawah ini
        Pilih database yang ingin di backup


11. Penempatan Backup


12. Setelah itu klik ok


Selamat Mencoba

 

Sabtu, 14 Januari 2017

Variasi perintah insert mysql

Variasi perintah insert mysql
Dalam perintah sql terdapat perintah pokok yang sering kita gunakan yaitu SELECT, INSERT, UPDATE dan DELETE. Banyak orang tidak akan meninggalkan perintah ini dalam bahasa pemprograman, akan tetapi perintah tersebut hanyalah dasar perintah  yang harus di ketahuiseorang programmer dan merasa cukup dengan perintah tersebut.

Sangat banyak orang yang bergelut di bidang programmer sering hanya menggunakan perintah insert hanya sebagai perintah input dan hanya beberapa perintah yang digunakan contohnya hanya menggunakan INSERT INTO (field 1,...)VALUES(......), akan tetapi masih ada beberapa perintah yang  dapat kita gunakan di script MySql. Di artikel ini kita akan membahas INSERT terlebih dahulu,
Berikut ini perintah INSERT.
1.            INSERT INTO (field1, field2, …) VALUES (…)
2.            INSERT … SELECT …
3.            INSERT IGNORE …
4.            INSERT DELAYED …
5.            INSERT LOW PRIORITY | HIGH PRIORITY …
6.            INSERT … ON DUPLICATE KEY UPDATE
7.            REPLACE INTO …

#1. INSERT INTO tabel (field1, field2) VALUES …
Pada bentuk dasar perintah INSERT di atas, kita harus menyebutkan nilai dari seluruh kolom. Jadi jumlah nilai yang akan ditambahkan harus sesuai dengan jumlah kolom dalam tabel. Namun ada kalanya kita hanya ingin menambahkan sebagian dari kolom tabel, jadi tidak semua kolom kita masukkan. Jika demikian, variasi perintah INSERT yang pertama ini tentu tepat untuk digunakan. Kita menyebutkan kolom-kolom yang akan di-insert-kan di belakang nama tabel. Urutannya juga tidak harus sesuai dengan urutan di dalam struktur tabel. Sebagai contoh, kita akan memasukkan data nim dan nama seorang mahasiswa, tanpa memasukkan alamatnya. Urutan fieldnya sengaja dibalik, nama terlebih dahulu baru nim. Berikut perintahnya:

INSERT INTO tblmhs (nama, nim) VALUES('Hadi', '1012501983');
Terlihat pada contoh di atas bahwa urutan yang harus disesuaikan adalah urutan field yang berada di belakang nama tabel ‘tblmhs’ dan urutan data (values) yang akan di-insert-kan.

#2. INSERT … SELECT …
Ada kalanya kita ingin memindahkan atau meng-copy sejumlah data yang berada pada suatu tabel ke tabel yang lainnya. Singkatnya copy data antar tabel. Untuk menyelesaikan permasalahan tersebut, tentunya sangat kurang efektif jika kita harus melakukan insert satu per satu. Untuk melakukan copy record antar tabel, akan lebih efektif jika kita menggunakan bentuk perintah “INSERT … SELECT …” yang menggabungkan proses insert (menambahkan data) dan select (mengambil data). Sebagai contoh, kita ingin memindahkan data nim dan nama mahasiswa yang berada di tabel tblpendaftaran ke tabel tblmhs, berikut ini perintahnya:

INSERT INTO tblmhs(nim, nama) SELECT nim, nama FROM tblpendaftaran;

#3. INSERT IGNORE
Saya pernah membuat suatu absensi pada suatu perusahaan dimana data absensi diimport dari suatu file teks hasil keluaran dari mesin finger. Setelah diimport, data absensi karyawan akan diperiksa dan dilengkapi oleh staf HRD. Proses import dari teks file dapat terjadi berulang-ulang sehingga diperlukan mekanisme agar pada saat proses import data yang mungkin sudah diedit oleh staf HRD tidak tertimpa. Jadi intinya, saat proses import, harus diperiksa apakah data absensi yang akan dimasukkan ke tabel sudah ada atau belum. Jika sudah ada, maka tidak perlu dilakukan insert, namun jika tidak ada maka lakukan proses import. Awalnya terpikir untuk melakukan pengecekan data ke database terlebih dahulu sebelum insert, namun dari isi efektivitas tentu hal ini tidak baik, apalagi jika datanya cukup banyak. Beruntung kemudian ketemu bentuk perintah INSERT IGNORE … di MySQL. Dengan perintah ini, permasalahan tersebut dapat terselesaikan hanya dengan satu perintah.
Dalam contoh berikut ini, akan melakukan insert data ke tabel tblmhs hanya jika data nim belum ada di tabel. Pemeriksaan data didasarkan pada field yang menjadi primary key. Jadi jika terjadi duplikasi primary key maka data akan diabaikan (ignored).

INSERT IGNORE INTO tblmhs VALUES('1012501983','BUNGA', 'GEMBONG');

#4. INSERT DELAYED
Bentuk perintah INSERT DELAYED … merupakan bentuk perintah yang mungkin akan kita perlukan saat membuat suatu aplikasi transaksional dengan beberapa pengguna dalam satu waktu. Dengan tambahan perintah “DELAYED” maka proses menambahkan data akan ditangguhkan hingga tidak ada user yang mengakses tabel. Contoh berikut ini menggambarkan bagaimana perintah tersebut:

INSERT DELAYED INTO tblmhs (nim, nama) VALUES ('1011500121', 'LINTANG', 'KUDUS');
Penjelasan lebih lanjut mengenai perintah ini dapat dilihat di manual MySQL.

#5. INSERT LOW PRIORITY | HIGH PRIORITY
Tambahan perintah LOW PRIORITY atau HIGH PRIORITY dibelakang perintah INSERT dapat digunakan untuk mengatur prioritas dari perintah INSERT yang akan dijalankan. Perintah dengan prioritas lebih tinggi tentu akan didahulukan untuk dijalankan. Sama seperti bentuk perintah INSERT DELAYED, perintah ini juga berguna saat kita “bermain” dengan proses transaksional. Berikut ini contoh sederhananya:

INSERT INTO tblmhs VALUES('1111500111', 'INDAH', 'JAKARTA');


#6. INSERT … ON DUPLICATE KEY UPDATE
Variasi perintah INSERT ini mungkin suatu saat akan kita perlukan. Misalnya pada kasus dimana pada proses insert sejumlah data, jika datanya sudah ada, dalam arti terjadi duplikasi primary key, maka lakukan perintah update untuk kolom tertentu. Sebagai contoh, kita akan melakukan penambahan data ke tblmhs, jika datanya sudah ada, maka update field alamat dengan alamat yang baru. Berikut ini perintahnya:

INSERT INTO tblmhs (nim, nama, alamat) VALUES('1111500111', 'SITI', 'RWMBANG') ON DUPLICATE KEY UPDATE alamat='LASEM';




#7. REPLACE INTO …
Saya sangat senang dengan adanya bentuk perintah REPLACE di MySQL ini. Perintah ini sangatlah membantu. Contohnya saat saya ingin melakukan penambahan data secara massal seperti pada kasus import absensi karyawan di atas. Jika pada proses import, kita menginginkan agar data selalu up to date, maka jika data sudah ada harus dilakukan proses update. Perintah REPLACE INTO berperan untuk melakukan dua tugas sekaligus, yaitu INSERT jika datanya belum ada dan UPDATE jika datanya sudah ada. Berikut ini contoh perintah ini:
REPLACE INTO tblmhs VALUES('1011500100', 'PUJI', 'PATI');

Demikian bentuk variasi perintah INSERT di dalam MySQL yang sering terlupakan namun seringkali kita butuhkan. Semoga postingan ini bermanfaat untuk kita semua. Mari terus semangat berbagi demi Indonesia!

Sumber: achmatim.net

Contoh Triger SQL SERVER

Contoh Triger SQL SERVER
.Trigger biasa digunakan untuk keperluan replikasi database di sql server maupun mysql. trigger sendiri merupakan sebuah prosedur yang dijalankan apabila sudah memenuhi persyaratan tertentu (after insert, after update, after delete). lansung saja kita masuk ke trigger yang pertama yaitu trigger statis.

1. Trigger statis adalah trigger yang sudah mempunyai values apabila persyaratan pada trigger terpenuhi maka trigger akan menjalankan prosedurnya dengan value yang tetap

Create trigger triggerinsert on transaksi after insert as insert into [10.10.10.2].[toko].[dbo].[replika_transaksi] values ('100087',' 2015-04-13 04:10:19','P-003', 'K-001') ;

dari trigger statis diatas apabila seseorang melakukan insert di tabel transaksi maka prosedur trigger menginputkan values ('100087','2015-04-13 04:10:19','P-003','K-001') ke tabel replika_transaksi

2. kemudian yang kedua adalah trigger insert dinamis

Create trigger namatrigger on namatabel after insert as insert into [ip_teman].[database].[dbo].[nama_tabel] (field1,field2,field3,field4) select field1,field2,field3,field4 from inserted;

dari trigger diatas maka apabila seseorang melakukan insert di tabel tertentu maka apa yang di inputkan ke tabel tersebut pula yang akan masuk ke tabel replikanya

3. trigger update dinamis

Create trigger namatrigger on nama_tabel after update as update [ip_teman].[database].[dbo].[nama_tabel] set field2 = (select field2 from inserted), field3 = (select field3 from inserted), field4 = (select field4 from inserted) where field1 = (select field1 from inserted);

trigger diatas melakukan prosedure update ke tabel replikanya setelah tabel master dilakukan update

4. trigger delete dinamis

Create trigger namatrigger on nama_tabel after delete as delete from [ip_teman].[database].[dbo].[nama_tabel] where field1 = (select field1 from deleted);

trigger diatas melakukan prosedure delete ke tabel replikanya setelah tabel master dilakukan delete
Dalam dunia sql server data triger juga sangat dibutuhkan untuk menjaga keutuhan database dari kesalahan peng editan langsung dari data base baik itu di sengaja atau tidak, karena pasti ketika data base berubah akan terjadi miss data pada data yang ada..
Semoga bermanfaat, terimakasih
 
Sumber:  arifweb.com
baca juga: Pengertian Triger


Pengertian Triger SQL SERVER

Trigger adalah blok PL/SQL atau prosedur yang berhubungan dengan table, view, skema atau database yang dijalankan secara implicit pada saat terjadi sebuah event. Trigger merupakan store procedure yang dijalankan secara automatis saat user melakukan modifikasi data pada tabel. Modifikasi data yang dilakukan pada tabel yaitu berupa perintah INSERT, UPDATE, dan DELETE. INSERT , UPDATE dan DELETE bisa digabung jadi satu trigger yang dinamakan Multiple Trigger.

Baca juga: Contoh Triger SQL Server
 
Tipe dari trigger adalah :
  • Application trigger : diaktifkan pada saat terjadi event yang berhubungan dengan sebuah aplikasi
  • Database trigger : diaktifkan pada saat terjadi event yang berhubungan dengan data (seperti operasi DML) atau event yang berhubungan dengan sistem (semisal logon atau shutdown) yang terjadi pada sebuah skema atau database.
Trigger perlu dibuat pada saat :
  • Membentuk sebuah aksi tertentu terhadap suatu event
  • Memusatkan operasi global
Trigger tidak perlu dibuat, jika :
  • Fungsionalitas yang diperlukan suatu ada pada Oracle server
  • Duplikat atau sama dengan fungsi trigger yang lain.
Sintak penulisan dari database trigger, berisi komponen berikut :
Trigger timing :
  1. Untuk tabel : BEFORE, AFTER
  2. Untuk view : INSTEAD OF
  3. Trigger event : INSERT, UPDATE atau DELETE
  4. Nama tabel : yaitu nama tabel atau view yang berhubungan dengan trigger
  5. Tipe trigger : Baris atau Pernyataan (statement)
  6. klausa WHEN : untuk kondisi pembatasan
  7. trigger body : bagian prosedur yang dituliskan pada trigger
Trigger timing adalah waktu kapan trigger diaktifkan. Ada tiga macam trigger timing, yaitu :
  1. BEFORE : trigger dijalankan sebelum DML event pada tabel
  2. AFTER : trigger dijalankan setelah DML event pada tabel
  3. INSTEAD OF : trigger dijalankan pada sebuah view.

Trigger event ada 3 kemungkinan : 
INSERT, UPDATE atau DELETE.
Pada saat trigger event UPDATE, kita dapat memasukkan daftar kolom untuk mengidentifikasi kolom mana yang berubah untuk mengaktifkan sebuah trigger (contoh : UPDATE OF salary ... ). Jika tidak ditentukan, maka perubahannya akan berlaku untuk semua kolom pada semua baris.

Tipe trigger ada 2 macam, yaitu :
Statement : trigger dijalankan sekali saja pada saat terjadi sebuah event. Statement trigger juga dijalankan sekali, meskipun tidak ada satupun baris yang dipengaruhi oleh event yang terjadi.

Row : trigger dijalankan pada setiap baris yang dipengaruhi oleh terjadinya sebuah event. Row trigger tidak dijalankan jika event dari trigger tidak berpengaruh pada satu baris pun.

Trigger body mendefinisikan tindakan yang perlu dikerjakan pada saat terjadinya event yang mengakibatkan sebuah trigger menjadi aktif.
Semoga bermanfaat

Sumber:  haritsthinkso.com