Showing posts with label sql server 2005. Show all posts
Showing posts with label sql server 2005. Show all posts

Tuesday, April 3, 2012

SQL Server Database Administrator, apakah hanya implement sebentar dan maintain selamanya?

Lagi baca-baca deskripsi kerja SQL Server Database Administrator di dice.com dan menemukan penjelasan tanggung jawab dari kandidat seorang sql server DBA "hanya" begini:

Responsibilities include:
- Implement and maintain Transactional Replication
- Implement and maintain Merge Replication
- Implement and maintain Partitioning schemes
- Maintaining database in a 7X24 VLDB environment
- Creating indexes and maintaining them
- Checking for and resolving DB integrity issues
- Monitoring SQL Server memory utilization
- Monitoring for locking and blocking
- Implementation and administration of SQL Server Failover Clusters
- Administer SQL Server Agent jobs, operators, and alerts
- Implement and maintain Database Mirroring
- Implement and maintain Database Compression

--

Kelihatannya sederhana. Kok Cuma begini saja?

Tapi kalau harus merawat database yang sudah bertera-tera, pekerjaan implement sebentar dan maintain selamanya perlu dan wajib dilakukan. Jadi, lowongan DBA yang berasal dari sebuah perusahaan di Austin, Texas, Amerika Serikat ini pasti berasal dari perusahaan besar. Mungkin saja perusahaan asuransi yang memiliki nasabah luarbiasa banyak atau apapun yang databasenya sudah kepenuhan.

Friday, March 2, 2012

Kenapa Database di Sql tidak bisa di Restore - Restart Server dulu


Saya punya pengalaman buruk dengan shrink database. Ketika melakukan shrink database yang berukuran 120 GB, proses shrink database-nya memakan waktu 1 jam lebih. Heran karena sebelumnya sudah mencoba didatabase lain dan hanya memakan waktu 10 menit, saya cek sana-sini dan buka google. Selama melakukan cek sana-sini dikonfigurasi server, telpon berdering dari user-user kapan sistem bisa digunakan. Panik. Belum menemukan jawaban dari google, saya langsung punya feeling, sebelumnya, saya baru melakukan remote ke server dan tidak di log off, tapi hanya disconnect. Kebetulan, saya menggunakan windows server 2003. Lalu, session Administrator yang masih disconnect tadi saya putus. Dan hanya dalam waktu 10 menit, database berhasil di shrink.

Moral yang saya dapat, sebelum Shrink Database, lakukan restart server dahulu.


Thursday, February 16, 2012

Arsip dan Delete Hasil Backup

:: ARSIP HASIL BACKUP ::

Setelah dilakukan backup otomatis menggunakan Job, lakukan arsip dengan software kompresi WinRAR. Untuk kompresinya, kita bisa menggunakan command line yang disimpan sebagai file batch.

Isi file batch:

--

@echo off

set path="C:\Program Files\WinRAR\";

rar a E:\Backup\ NAMA_DATABASE_GUE.rar -ri1 -ag[yyyy-mm-dd] -rv10 -v51200 -m5 E:\Backup\ NAMA_DATABASE_GUE.BAK

--

Setelah ini, buat schedule task yang dijalankan tiap hari dan set waktunya dimalam hari.


:: DELETE HASIL BACKUP ::

Terakhir, buat file batch untuk mendelete hasil backup. Sebetulnya, step ini antara perlu dan tidak perlu. Karena ketika dibackup lagi, filenya akan ditiban. Tapi untuk memastikan saja, ada baiknya hasil backup langsung dihapus. Untuk membuat file batch delete file backup, hanya seperti ini:

--

DEL E:\Backup\ NAMA_DATABASE_GUE.BAK

--

Setelah ini, buat schedule task yang dijalankan tiap hari dan set waktunya dipagi hari.



Wednesday, February 15, 2012

Backup Otomatis Dengan TSQL + Job

:: BACKUP OTOMATIS DENGAN TSQL + JOB ::

Langkah pertama, buat store procedure berikut:

--

CREATE PROC SP_BACKUP
AS

BEGIN
DECLARE @name VARCHAR(50) -- database name 
DECLARE @path VARCHAR(256) -- path for backup files 
DECLARE @fileName VARCHAR(256) -- filename for backup 
DECLARE @fileDate VARCHAR(20) -- used for file name

SET @path = 'E:\Backup\' 

SET @name = 'NAMA_DATABASE_GUE' 

SET @fileName = 'NAMA_BACKUP_GUE' 

SET @fileName = @path + @name + '.BAK' 
BACKUP DATABASE @name TO DISK = @fileName  with INIT

END

--

Kemudian, buat Job di sql server. Cara membuatnya, masuk ke SQL SERVER AGENT > Jobs > klik kanan, NEW JOB

setelah muncul, di page General, buat nama jobs:

Masuk ke page Steps. Klik tombol Edit. Masukan store procedure BACKUP.


Lalu masuk ke page Schedule, buat tipe schedule menjadi Recurring. Periodenya terserah, bisa 6 jam sekali, atau 1 hari sekali :

Tuesday, February 14, 2012

Maintenance database, die hard or life free

Salah satu tugas terpenting dari database administrator MICROSOFT SQL SERVER 2005 adalah membackup database. Untuk membackup database, bisa dilakukan sebagai rutinitas dan menjadi pekerjaan sehari-hari. Atau� Biar komputer yang bekerja lalu kita bisa hidup tenang, hehe�

2 tips untuk melakukan backup database secara otomatis adalah sebagai berikut:

1. backup otomatis menggunakan TSQL + JOBS.

2. arsip dan delete hasil backup.

untuk kedua tips diatas, akan saya tunjukan kedalam 2 posting blog di 2 hari kedepan.

Sunday, December 18, 2011

Keajaiban Restart 2 Kali


Beberapa waktu lalu, database production mengalami down. SQL SERVER 2005 Service tidak bisa ngangkat. Berikut error log dari event Viewer:

--

Event Type:    Error
Event Source:    Service Control Manager
Description:
The SQL Server Agent (SQL2005) service depends on the SQL Server (SQL2005) service which failed to start because of the following error:
The operation completed successfully.
--
Event Type:    Error
Event Source:    MSSQL$SQL2005
Description:
SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
--
Event Type:    Error
Event Source:    MSSQL$SQL2005
Description:
Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
--
Event Type:    Information
Event Source:    Service Control Manager
Description:
The SQL Server (SQL2005) service entered the stopped state.

--

1 jam database mati. Tidak bisa up. Walau panik namun tetap tenang. Saya lakukan pengecekan di Google (prosedur wajib). Lakukan restart server sekali, tidak pengaruh, cek lagi di Google, utak-atik Surface Area Configuration, masih tidak ngaruh. Saya telpon teman, tidak ada solusi. Saya restart server lagi, tiba-tiba keajaiban terjadi, database = UP...

Aneh.

Wednesday, November 2, 2011

SQL SERVER 2005 Bingung Menentukan Angka atau Huruf

Ada mekanisme di SQL SERVER 2005 untuk memparsing where condition yang 'aneh'. Saya punya data dan ada satu kolom dengan tipe data varchar(10), tapi ketika dibuat query dan filternya dibuat tanpa tanda kutip:

select * from kasir_detail where string1 = 2250

Keluar error seolah-olah filternya itu adalah integer:

Msg 245, Level 16, State 1, Line 1
Conversion failed when converting the varchar value 'CY' to data type int.

Error ini muncul karena di kolom string1 mengandung angka dan huruf. Tapi kalau filternya saya beri tanda kutip:

select * from kasir_detail where string1 = '2250'

Tidak muncul error.

Hmmm...

Friday, January 12, 2007

Trik ujian MCTS SQL Server 2005

Untuk melalui ujian MCP, ada kiat2 khusus supaya bisa lulus. Khususnya bagi yang sudah bekerja.
  1. Sering2 �nyetor�. Ketika di toilet, baca materi2 ujian. Cuma kalo ini, siap2 aja menahan napas menghindari menghirup partikel2 kentut dari bilik toil sebelah.
  2. Latihan soal2 pastinya, macam UMPTN aja.
  3. Pelajari materi-materi ujian berdasarkan http://www.microsoft.com/learning/exams/70-431.mspx . Ga usah belajar BI, Reporting service. Ga perlu.
  4. Praktekan tutorial2 yang ada di buku2 sql server 2005 karena 30% soal adalah simulasi.
  5. Tidak usah terlalu fokus pada sql broker dan Database Mirroring. Sedikit yang keluar.
  6. Buat 2 instance pada sql server di PC. Praktekan beberapa materi yang membutuhkan 2 server.
Selamat ujian.

Tuesday, November 21, 2006

SQL Server 2005 - Tips-tips (bag. 1)

1. Jika kita me-manage db yang memiliki table dengan banyak index, dan ternyata performance-nya semakin menurun, maka kita bisa mengira bahwa ada index yang tidak terpakai. Untuk menemukan index yang tidak terpakai, kita bisa menggunakan dynamic view : sys.dm_db_index_usage_stats

2. Jika kita punya proses import data tiap malam, kita ingin memastikan data yang sudah ada akan ter-update. Jika kebetulan record tidak ada, maka data akan di insert. Yang perlu kita lakukan adalah membuat sebuah CLR trigger.
Menurut BOL:
Triggers written in a CLR language differ from other CLR integration objects in several significant ways. CLR triggers can:
� Reference data in the INSERTED and DELETED tables
� Determine which columns have been modified as a result of an UPDATE operation
� Access information about database objects affected by the execution of DDL statements.
� These capabilities are provided inherently in the query language, or by the SqlTriggerContext class.

3. jika kita ingin membuat aplikasi yang dapat menyimpan dokumen asli sebagai dokumen xml dan bisa di ambil persis seperti aslinya, kita bisa melakukannya dengan membuat kolom bertipe xml.

4. Jika kita ingin memastikan view yang kita buat tidak terpengaruh oleh modifikasi table, maka saat create view pastikan menambah �WITH SCHEMABINDING�. Artinya, ketika kita mengubah table, sql server akan memunculkan eror karena ada view yang bergantung pada table tersebut.