Sambil mengingat ngingat jaman dulu ketika memulai pemrogram dengan mengkases database. ternyata hal yang paling penting dan sering dilupakan adalah ketika kita akan melakukan koneksi kesebuah data source (database server). Ada banyak connection provider yang harus kita hapalkan Dengan cara penulisan yang spesifik dalam satu parameter yang orang kenal dengan CONNECTION STRING.
Sekarang ini orang lebih mudah melakukan koneksi kepada sebuah data source karena hampir sebagian besar Development tools menyediakan fasilitas untuk koneksi ke database yang kita inginkan, namun pekerjaan ini akan menjadi susah ketika kita di paksa untuk melakukannya dengan scripting seperti di VB Script, atau Java Script. sehingga kita perlu mengingat cara penulisan connection providernya, security model yang di gunakan dan mekanisme koneksinya
Berikut saya coba tuliskan kumpulan connection string yang biasanya paling sering di cari berdasarkan connection providernya mudah-mudahan bisa membantu kita dalam mengakses data source dari berbagai jenis database
Connection String Untuk MS Excel 2007
Pada bagian pertama ini akan di jelaskan beberapa metoda penulisan connection string untuk mengakses data di Microsoft Excel 2007, dengan menggunakan ACE OLE DB Connection. metoda ini lebih cepat dari pada menggunakan office component library
A. XLSX File
XLSX file adalah nama extention file untuk MS Excel 2007, untuk mengkases MS Excel 2007 file bisa menggunakan connection string berikut ini :
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
dengan nilai HDR = Yes jika menghendaki kolom pertama sebagai nama field dari data yang kita akses di file excel tersebut
B. Mengakses data Excel File dalam format Text
Kita bisa memperlakukan semua data dalam XLSX file tadi sebagai data dalam format text dan mengabaikan format dari setiap cell yang ada, hal ini dilakukan jika dalam file excel yang kita miliki memiliki type data yang berbeda beda dalam setiap cell nya, berikut contoh connection stringnya
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";
Parameter IMEX = 1 menyatakan bahwa semua data yang diambil akan di anggap sebagai Text
C. Mengakses XLsb File
MS Excel 2007 memiliki file dengan format dan extention baru *.XLSB, yang menyimpan data dalam Office Open XML binary format. data disimpan dalam format binary sehingga berbeda dengan format XLSX, format XLSB ini bukan merupakan text sehingga tidak bisa diview dan dari sisi performace jauh lebih baik dari XLSX. berikut connection stringnya
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myBinaryExcel2007file.xlsb;Extended Properties="Excel 12.0;HDR=YES";
D. Mengakses XLSM File
Format extention XMSL merupakan office open XML format dengan Macro Enable, berbeda dengan connection string yang adalah pada statement Properties="Excel 12.0 Macro...
Berikut contoh penulisan connection string untuk mengakses XLSM file
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsm;Extended Properties="Excel 12.0 Macro;HDR=YES";
Demikian mudah mudahan tulisan contoh connection string ini bisa memerikan wawasan tambahan untuk teman teman yang memerlukan akses ke berbagai macam database. masih banyak lagi tentang contoh dan format penulisan connection string, yang insya alloh akan saya lanjutkan dan lengkapi lagi (KN-SQLG)
Kemarin buka buka lagi catatan waktu ikut TPrep Project Untuk SQL Server 2008 di Redmond Tahun yang lalu, ini saya lakukan karena memang Hari Kamis kemarin (22/10/2009) berkesempatan untuk membawakan session microsoft di Acara Metro Data Solution Day di Hotel Shangrila Jakarta. Kebetulan materi yang akan di bawakan berkaitan dengan fitur - fitur SQL yang berhubungan dengan pengolahan data dalam ukuran besan sehingga judul besar dari session yang saya adalah SQL Data Warehouse Penta Byte Data Solutions.
Saya coba share sedikit apa yang saya presentasikan di blog saya ini, khususnya fitur-fitur yang berhungan dengan pengelolaan data yang memiliki ukuran sangat besar dengan memanfaatkan fitur fitur terbaru dari MS SQL 2008.
Change data capture adalah topik pertama yang saya sampaikan disini, dimana fitur baru di SQL Server 2008 ini memudahkan kita untuk melakukan capturing terhadap perubahan yang terjadi bada sebuah table dalam sebuah database. Dengan CDC ini memungkin semua operasi yang dilakukan pada sebuah table bisa kita tracking historynya dari operasi yang dilakukan, dari mulai data pertama kali di masukkan, perubahan terhadap data di setiap kolom hingga data terakhir yang ada pada sebuah table
untuk membuat CDC ini, kita bisa lakukan di SQL Server 2008 dengan terlebih dahulu mengaktifkan fitur CDC pada sebuah database dengan perintah berikut ini
EXEC
sys.sp_cdc_enable_db;
GO
Perintah ini akan mengaktifkan fitur CDC di database yang kita akan buatkan Change Data Capture-nya, ini bisa dilihat dari adanya file tambahan pada database kita di bagian system table seperti
.captured_columns
cdc.change_tables
cdc.ddl_history
cdc.index_columns
cdc.lsn_time_mapping
Dengan CDC ini memungkinkan kita untuk dapat melakukan pencatatan terhadap perubahan data yang terjadi tanpa harus membuat table auditlog sendiri maupun membuat mekanisme trigger untuk mencatat sejarah perubahan data baik oleh aplikasi maupun oleh DBA secara back end
Berikut contoh scipt untuk fitur change data capture di SQL Server 2008, silahkan mencoba
--set current database context
USE [AdventureWorks]
GO
--append new user column to the HumanResources.Employee Table
ALTER TABLE humanresources.employee
ADD [User] NVARCHAR(50)
GO
--disable any triggers
DISABLE Trigger ALL ON HumanResources.employee
GO
--enable CDC for AW
EXEC Sp_cdc_enable_db
GO
--enable CDC for HumanResources.Employee
EXEC Sp_cdc_enable_table
humanresources ,
employee ,
NULL ,
1 ,
dbo
GO
--create sample UDF to return change data
CREATE FUNCTION [dbo].[Udf_employee]
(@start_time DATETIME,
@end_time DATETIME)
RETURNS @Employee TABLE(employeeid INT,
nationalidnumber NVARCHAR(15),
contactid INT,
managerid INT,
title NVARCHAR(50),
birthdate DATETIME,
maritalstatus NCHAR(1),
gender NCHAR(1),
hiredate DATETIME,
salariedflag [FLAG],
vacationhours SMALLINT,
sickleavehours SMALLINT,
currentflag [FLAG],
rowguid UNIQUEIDENTIFIER,
[user] NVARCHAR(50),
cdc_operation VARCHAR(1))
AS
BEGIN
--declare local variables to hold LSNs
DECLARE @from_lsn BINARY(10),
@to_lsn BINARY(10)
--Map the time interval to a change data capture query range.
IF (@start_time IS NULL)
BEGIN
SELECT @from_lsn = sys.Fn_cdc_get_min_lsn('HumanResources_Employee')
END
ELSE
BEGIN
SELECT @from_lsn = sys.Fn_cdc_map_time_to_lsn('smallest greater than or equal',@start_time)
END
IF (@end_time IS NULL)
BEGIN
SELECT @to_lsn = sys.Fn_cdc_get_max_lsn()
END
ELSE
BEGIN
SELECT @to_lsn = sys.Fn_cdc_map_time_to_lsn('largest less than or equal',@end_time)
END
--if same then exit
IF (@from_lsn = sys.Fn_cdc_increment_lsn(@to_lsn))
BEGIN
RETURN
END
-- Query for change data
INSERT INTO @Employee
SELECT employeeid,
nationalidnumber,
contactid,
managerid,
title,
birthdate,
maritalstatus,
gender,
hiredate,
salariedflag,
vacationhours,
sickleavehours,
currentflag,
rowguid,
[user],
CASE __$operation
WHEN 1
THEN 'D'
WHEN 2
THEN 'I'
WHEN 4
THEN 'U'
ELSE NULL
END AS cdc_operation
FROM cdc.Fn_cdc_get_net_changes_humanresources_employee(@from_lsn,@to_lsn,'all')
RETURN
END
GO
--sample DML statement
UPDATE humanresources.employee
SET title = 'Marketing Director',
[User] = system_user
WHERE employeeid = 13
--get the net change of the sample DML including the User
SELECT *
FROM [dbo].[Udf_employee](NULL,NULL)
Meski sepertinya sudah banyak yang tahu bahwa produk terbaru dari microsoft yaitu SQL Server 2008 memiliki kehandalan dalam menangani data dalam skala enterprise, namun tidak ada salahnya kita sedikit perhatikan perubahan mendasar dalam hal Syntax TSQL yang terbaru di SQL Server 2008 ini.
Beberapa fitur yang sangat membantu developer dalam hal kemudahan melakukan scripting di database diantaranya adalah adanya type data baru dan perintah SQL baru yang banyak membantu database developer khususnya bagi mereka yang memiliki latar belakang dari programming
Berikut beberapa Enhancement dari TSQL di SQL Server 2008
A. TSQL "Delighters"
terdapat kemampuan untuk melakukan perintah berikut dalam script TSQL di SQL 2008
DECLARE @t int = 5; -- ini tidak bisa dilakukan di versi sebelumnya
INSERT dbo.myT
VALUES (‘WA’, @t), (‘FL’, @t+1); --ini tidak bisa dilakukan di versi sebelumnya
UPDATE dbo.myT
SET instances+=1; --ini tidak bisa dilakukan di versi sebelumnya
B. Table Value Parameter
Memungkinkan kita untuk mengirimkan para meter data berupa table, yang bisa mengurangi rountrip dalam proses pengiriman data dari aplikasi ke server, karena bisa dilakukan dalam 1 kali pemanggilan SP
create proc ins_data (@t table (a int)) as … -- Declarasi SP seperti ini tidak bisa dilakukan pada versi sebelumnya
Berikut contoh implementasi Table value paramenter
USE AdventureWorks
GO
-- Declarasikan Table Value type EmployeeTable
CREATE TYPE EmployeeTableType AS TABLE
(EmpID INT, EmpName nvarchar(100), EmpEmail nvarchar(100))
USE AdventureWorks
GO
-- Buat Procedure yang menggunakan Parameter dengan type EmployeeTableType
CREATE PROCEDURE NewEmployee(@EmployeeDetails EmployeeTableType READONLY)
As
BEGIN
INSERT INTO dbo.Employee
SELECT * FROM @EmployeeDetails
END
-- Simpan data di table value type
use AdventureWorks
Go
DECLARE @NewEmployees EmployeeTableType
INSERT INTO @NewEmployees
VALUES(1,'John McLean','JohnMcLean@contoso.com')
INSERT INTO @NewEmployees
VALUES(2,'Bob Smith','BobSmith@contoso.com')
INSERT INTO @NewEmployees
VALUES(3,'Ted Connery','TedConnery@contoso.com')
--- Panggil SP
EXECUTE NewEmployee @NewEmployees
C. MERGE Statement
Merge di gunakan untuk menangani proses UPSERT (UPDATE or INSERT) terhadap suatu table, perintah ini menyederhanakan perintah IF Exist yang selama ini di gunakan untuk melakukan syncronisasi data. skenario umumnya jika data sudah ada maka akan di update diantaranya
berikut Syntax MERGE Statement
[ WITH <common_table_expression> [ ,…n ] ]
MERGE
[ TOP (expression) [ PERCENT ] ]
[ INTO ] <target_table> [ [ AS ] table_alias ] [ WITH( <merge_hint> ) ]
USING <table_source>
ON <search_condition>
<merge_clause> [ …n ]
[ OUTPUT <dml_select_list> ]
[ OPTION ( <query_hint> [ ,…n ] ) ]
;
<merge_clause>:=
{
WHEN MATCHED [ AND <search_condition> ]
THEN { UPDATE SET <set_clause> | DELETE }
| WHEN [ TARGET ] NOT MATCHED [ AND <search_condition> ]
THEN INSERT [ (column_list) ]
{ VALUES (values_list) | DEFAULT VALUES }
| WHEN SOURCE NOT MATCHED [ AND <search_condition> ]
THEN { UPDATE SET <set_clause> | DELETE }
}
Contoh penggunaan MERGE untuk sinkronisasi data
CREATE TABLE Original (o_pk INT PRIMARY KEY, o_name VARCHAR(10), o_number INT);
CREATE TABLE Replica (r_pk INT PRIMARY KEY, r_name VARCHAR(10), r_number INT);
CREATE PROCEDURE usp_SyncReplica AS
MERGE Replica
USING Original
ON o_pk = r_pk
WHEN MATCHED
AND (o_name != r_name OR o_number != r_number) THEN
-- Row exists but data differs
UPDATE SET r_name = o_name, r_number = o_number
WHEN SOURCE NOT MATCHED THEN
-- Row exists in Replica but not Original
DELETE
WHEN NOT MATCHED THEN
-- Row exists in Original but not Replica INSERT VALUES (o_pk, o_name, o_number)
OUTPUT $action, inserted.r_pk, deleted.r_pk;
Selamat Mencoba.
(KN-MvpSQL)
ukuran data khususnya untuk keperluan archive sangat utama, apalagi kalau ternyata data tersebut sudah tidak di gunakan sebagai data utama transaksi melainkan hanya untuk keperluan data history. SQL Server 2008 menyediakan kapasitas untuk keperluan compresi data dengan tujuan untuk
-
Kompresi data backup, tujuannya untuk memperkecil ukuran file backup
-
Kompresi data, untuk kompresi data ini terdapat 2 pilihan kompresi yaitu kompresi berdasarkan ROW Compression dan PAGE Compression
A. Backup Compression
Digunakan untuk mengkompresi ukuran file backup dari sebuah database yang biasa memili permasalahan dalam hal Storage Cost, Atau Manageability Cost Seperti backup & recovery, create/rebuild indexes, Bulk Import dan Consistency Checking dari data yang ada di dalam database.
Berikut contoh untuk melakukan Backup Kompression
USE master
GO
EXEC sp_configure ‘backup compression default’,’1’;
RECONFIGURE WITH OVERRIDE;
--Without Compression
BACKUP DATABASE AdventureWorks
TO DISK=‘C:\Backups\AdventureWorksDB_nocompression.bak’
GO
--With Compression
BACKUP DATABASE AdventureWorks
TO DISK=‘C:\Backups\AdventureWorksDB_compression.bak’
WITH COMPRESSION
B. Data Compression
Digunakan untuk memperkecil ukuran data, dengan memaksimalkan cost compresi dan decompresi dengan menggunakan algoritma column prefix compression, memungkinkan ukuran data akan lebih kecil dari data sebelumnya. Kompresi data ini di bagi menjadi ROW Compression dan PAGE Compression.
Berikut Contoh Penggunaan Page Compression:
-- Create new Table
CREATE
TABLE BigTable
(
FirstColumn Int,
SecondColumn
Int,
ThirdColumn
char(8000))GO
-- LOAD 6000 rows into table
DECLARE @i int
SELECT
@i=0
WHILE
(@i <6000)
BEGIN
INSERT INTO BigTable
VALUES(@i,@i+6000,REPLICATE('a',60))
SET @i=@i+1
END
-- Find the current size of uncompressed table
Exec
sp_spaceused N'BigTable'
-- Estimate ROW compression
EXEC
sp_estimate_data_compression_savings 'dbo','BigTable',NULL,NULL,'ROW'
-- Estimated due to PAGE compression
EXEC
sp_estimate_data_compression_savings 'dbo','BigTable',NULL,NULL,'PAGE'
-- Perintah Kompresi PAGE
ALTER TABLE [dbo].['BigTable'] REBUILD
WITH (DATA_COMPRESSION = PAGE)
Selamat mencoba
(KN-SQL Geeks)

Dear Kiki Noviandi,
Congratulations! We are pleased to present you with the 2008 Microsoft® MVP Award! The MVP Award is our way to say thank you for promoting the spirit of community and improving people’s lives and the industry’s success every day. We appreciate your extraordinary efforts in SQL technical communities during the past year. Microsoft will soon send your MVP Award gift package. It is our way to say “thank you for making a difference." You will receive an e-mail message in the next 10 business days that contains your MVP Award gift package shipping information and your tracking number
Potong email di atas mampir di inbox email saya pada hari rabu sore tanggal 1 april 2009, saya mendapatkan email dari support@mvpaward.com, yang mengabarkan bahwa saya kembali mendapatkan MVP award untuk ke 4 (empat) kalinya dari Microsoft corp sebagai penghargaan atas aktifitas yang telah di lakukan khususnya dalam partisipasinya berkontribusi untuk komunitas IT di indonesia.
Setelah pada tahun sebelumnya saya masuk kedalam MVP Hall of Fame, yaitu bagi MVP yang telah mendapatkan penghargaan lebih dari 3 tahun berturut-turut, di tahun ini saya mendapatkannya lagi untuk ke 4 kalinya. Ini sangat berarti bagi perkembang diri saya khususnya bagi kontribusi yang akan saya terus berikan bagi komunitas IT khususnya SQL di indonesia. saya ucapkan terimakasih atas bantuan dan dukungan semua pihak khususnya komunitas SQLServer-Indo yang sudah bersedia membantu dan mendukung semua aktifitas kontribusi saya bagi perkembangan dunia IT di tanah air.
Tak lupa saya ucapkan terimakasih kepada semua kolega saya di microsoft indonesia khususnya team DPE, Risman Adnan, Narendra, Norman sasono, Welly terutama My MVP lead Li lian yang sudah memberi support terhadap semua aktifitas dan kontribusi saya bagi komunitas.Kepada teman teman group leader SQL Server Indo seperti Chaerul Amri / MCA (MVP SQL), Hendra Eka (MVP-SQL), Rachmat Haryanto, Hendrik, Deni Kusdeni, Kasim Wirahma (MVP-SQL) dan David Pakpahan yang merupakan teman teman seperjuangan dalam komunitas SQL Server Indo ini. berkat dorongan dan semangat mereka, saya selalu terpacu untuk terus berkontribusi dan mensosialisasikan komunitas SQL server di indonesia.
Beberapa catatan penting dan evaluasi khususnya bagi perkembangan komunitas SQL server di indonesia menjadi concern saya pada tahun ini, berapa program dan rencana berdasarkan masukan dari kawan komunitas menjadi pemacu semangat saya untuk terus berbagi dan bersama sama mengembangkan dunia IT yang kita cintai.
kegiatan komunitas seperti SQL Server Monthly meeting akan terus di galakkan guna menjadi media komunikasi offline antara member komunitas SQLServer-indo. termasuk format acara monthly meeting yang mestinya bisa lebih memberikan kesempatan pada semua anggota untuk ikut berpartisipasi didalamnya. Kegiatan Hand on Lab bagi komuniti akan kita coba gagas kembali setelah sebelumnya kita berhasil mengadakan BI Code camp yang mendapatkan sambutan cukup baik dari komunitas SQL Server Indo pada tahun 2006.
Posisi Komunitas SQL Server Indonesia sebagai official chapter dari SQLPass (sqlpass.org) semakin strategis setelah kemarin berhasil mengadakan event dengan di sponsori oleh SQLPass sebagai institusi komunitas SQL server sedunia, peran serta kita di kancah komunitas SQL Server skala world wide semakin dimungkinkan apalagi jika kita bisa hadir di setiap event mereka seperti SQLPass Summit yang tahun ini diadakan di Seattle US bulan November nanti
Akhir kata semua dukukan dan kerjasama akan saya butuhkan untuk bisa mengembangkan komunitas IT di tanah air agar misi mencerdaskan kehidupan bangsa bisa menjadi kenyataan.
Jakarta, 4 april 2009
Kiki Rizki Noviandi, SQL Server
http://tinyurl.com/mvp-profile
Dear SQLServer-Indo Member,
Last monday (March, 16 2008), Our SQL Server community (SQLServer-indo) hosted Essential SQL Server 2008 Community event. this event was attending by 45 attendee from SQL Server member and IT pro that very interested on SQL Server 2008 new technology update.
Thank to our SQL community leader :
Hendra Eka (SQL Server MVP),
Rachmat Haryanto,
David Pakpahan,
Deni Kusdeni and
Hendrik
for spending their time to prepare and present their session for this event, hopefully we can endorse other member to more active in sqlserver-indo community event.
I want also to say thank to Indonesia DPE team (narendra and welly) and also for SQLPass for sponsoring this event and give good opportunity for our community to get more benefit from joining IT community.
and for the last, thank to all sqlserver indo member for supporting our SQL Indonesia Community. hopefully we can share and get more good benefit for joining SQLServer-indo community.
Here is some documentation from this event
http://cid-65cab324bf3c89cf.skydrive.live.com/browse.aspx/Public/sql%20community%20event?uc=12&isFromRichUpload=1
Kiki Rizki Noviandi, MVP SQL Server
SQLServer-Indo Community Leader
Official website : http://SQLServer-indo.org | mailing list : sqlserver-indo@yahoogroups.com | Facebook Group : SQLServer-Indo
Dear
Friends,
I am very excited to invite you to Essential SQL Server 2008 Community
Event. This time, this event is sponsored by SQLPass
(professional association for SQL Server) & Microsoft Indonesia. In this
community event, we will cover the latest SQL Server 2008
technologies.
What you will accomplish:
You will learn directly from
SQL Community Guru who will show you great demo with clear explanation about
behind the scene of SQL Server 2008 new feature.
What
: Essential SQL Server 2008 Community Event
Where :
Auditorium, Microsoft Indonesia
18th Floor, Tower
2, Jakarta Stock Exchange Building
Jln. Jenderal
Sudirman Kav. 52-53
Jakarta 12190
When :
Monday, March 16, 2009
09:00 am – 17:00
pm
Who should
attend?
This event is designed for all Database
Professional.
The
Agenda
Optimizing Report with Reporting
Service 2008
by Narenda Wicaksono - Microsoft
Indonesia
Making Query
Performance Rock-Solid Reliable Break
by Kiki
Rizki Noviandi - MVP SQL Server (Intimedia Web
Venture)
New Feature - Spatial
in SQL 2008
by Hendrik SQL- Community Leader (BI
Specialist, Ebiz) &
Rachmat
Haryanto - Community Leader (Asuransi Tugu
Pratama)
Analysis services 2008 Query &
Performance Improvements
by Hendra Eka, MVP SQL Server
(Ebiz)
Leveraging Report
Programmability in Your Application
by David Pakpahan -
Community Leader (Petrosea)
Improving Integration
with SQL Server 2008 Integration Services
by Deni
Kusdeni - Community Leader (Intimedia)
If you are interested in attending, please register soon. ONLY 50 seats
will be available.As benefit to join this
event, you can get free member of SQLPASS and also received SQLPASS newsletter
and free access to SQLPass.org web site For registration: send
email to technetday@hotmail.com. Please be sure to
register early.
See you soon,SQLServer-Indo ( SQL User Group
Indonesia)
Official
Website :http://sqlserver-indo.org
mailing list : sqlserver-indo@yahoogroups.com
Semua orang sekarang sudah punya facebook, beberapa bahkan setiap hari mengupdate statusnya untuk di ketahui dan di ikuti oleh teman temannya. Facebook menjadi fenomena semenjak kehadirannya di tahun 2007-an, dan berhasil menggeser frienster.com yang sempat menjadi tempat favorit untuk nongkrong melakukan social networking di dunia maya.
salah satu kelebihan facebook adalah user friendly dan banyaknya aplikasi yang bisa di pasang sebagai add on dari website ini, dari mulai aplikasi sederhana seperti pooling, atau permainan gigit gigitan teman (seperti ketuk ular) yang bisa menular sesama teman sampai membuat game yang cukup komplek. itu semua dibangun dengan konsep social networking atau jejaring sosial.
dampak dari demam facebook ini adalah terhubungnya tali tali pertemanan yang sudah lama putus, dari mulai teman kerja lama. teman kuliah bahkan sampai teman semasa kecil. belum lagi fasilitas untuk bisa membuat group yang menyebabkan orang yang memiliki kesamaan hobi dapat saling berinteraksi disini.
beberapa group yang saya ikuti di facebook.com yang berhubungan dengan dunia IT adalah :
MVP Sout east asia
, SQL Server Indo
, Geeks
, .net developer
, SQL Server 2005
, SQL Server 2008
, dan wss-id 
selain menambah pertemanan dengan facebook ini kita bisa menimba ilmu dan menghubungkan tali silaturhami yang lama telah hilang. terakhir saya juga sudah membuat profile badge sehingga teman teman bisa melihat status maupun informasi facebook saya dari profile badge ini.
Dengan telah beredarnya SQL Server 2008, maka microsoft segera merelease sertifikasi baru untuk para praktisi IT yang ingin mendalami dan mendapatkan pengakuan atas teknologi yang di kuasainya, adapun sertifikasi baru yang di keluarkan bersamaan dengan di luncurkannya SQL Server 2008 adalah :
Three SQL Server 2008 MCITP
- Database Administrator 2008
- Database Developer 2008
- Business Intelligence Developer 2008
Three SQL Server 2008 MCTS
- Implementation and Maintenance
- Database Development
- Business Intelligence Development and Maintenance
Ayo siap siap ikutan Training dan Exam lagi
Permasalahan date time menjadi masalah serius dalam pengelolaan database, sering kali kita mengalami masalah yang semestinya tidak terjadi karena adanya anomali data akibat proses operasi tipe data date time ini. permasalahan mulai timbul ketika kita memiliki kebutuhan seperti :
-
Memisahkan date dengan Time, mengingat secara standar tipe data selalu datetime
-
Range tanggal yang lebih luas
-
Bisa sesuai dengan kebutuhan Time Zone
-
Persisi sampai nano second
-
dsb
akhir nya di SQL 2008 dilakukan inprovement dengan menyediakan 4 tipe data datetime yang baru yaitu
1. Date
2. Time (n)
3. DateTimeOffset(n)
4. DateTime2
Berikut contoh dan perbedaan data datetime yang di tunjukkan dalam Script TSQL di SQL Server 2008
CREATE TABLE t1 (c1 DATE, c2 TIME(3),
c3 DATETIME2(7) NOT NULL DEFAULT GETDATE(),
c4 DATETIMEOFFSET CHECK
(c4<CAST(GETDATE() AS DATETIMEOFFSET(0)))
);
INSERT INTO t1 VALUES ('0001-01-01', '23:59:59',
'0001-12-21 23:59:59.1234567',
'0001-10-21 23:59:59.1234567 -07:00');
INSERT INTO t1 VALUES ('9999-12-31', '23:59:59',
'9999-12-31 23:59:59.1234567',
'1111-10-21 23:59:59.1234567 -07:00');
SELECT c4,
DATEPART(TZOFFSET, c4),
DATEPART(ISO_WEEK, c4),
DATEPART(MICROSECOND, c4) FROM t1;
copy paste TSQl Script di atas untuk bisa melihat perbedaannya, jangan lupa jalankan di SQL Server 2008
Pasti kita sering mengalami kebutuhan untuk dapat melakukan passing data dalam jumlah banyak kedalam database kita, untuk menangani masalah ini biasanya kita melakukan pengiriman data menggunakan tipe data XML atau menggunakan Cursor di sisi SQL Server.
nah di SQL server 2008 kini memungkinkan kita untuk bisa melakukan passing parameter data ke Store procedure dengan menggunakan Table Valued Parameter (TVP), TVP ini memudahkan kita untuk mengirimkan parameter data sesuai dengan struktur data yang kita inginkan dalam jumlah yang tidak terbatas. sehingga akan memungkinkan melakukan pembuatan dan pemanggilan store procedure dengan cara seperti di bawah ini
create proc ins_data (@t table (a int)) as
(
--- Create Logic Script di sini
)
TVP (table value parameter) memiliki kelebihan sebagai berikut :
-
Memungkinkan membuat tipe data untuk parameter SP berupa tipe data Tabel
-
Bisa menjadi parameter input pada SP dan Function di SQL Server
-
Scope dari TVP adalah di dalam SP/Function Body sehingga tidak dikenali di luar SP/Function lainnya di luar scope tersebut
-
Lebih cepat dalam pemrosesan data dalam ukuran besar
-
Memiliki karakteristik seperti Bulk Copy/ BCP dalam server
Berikut cara mengimplementasikan TVP di SQL Server 2008
1. Create TVP di dalam database yang kita inginkan
USE AdventureWorks
GO
CREATE TYPE EmployeeTableType AS TABLE
(EmpID INT, EmpName nvarchar(100), EmpEmail nvarchar(100))
2. Create Store procedure / Function yang menggunakan TVP sebagai parameter
USE AdventureWorks
GO
CREATE PROCEDURE NewEmployee(@EmployeeDetails EmployeeTableType READONLY)
As
BEGIN
INSERT INTO dbo.Employee
SELECT * FROM @EmployeeDetails
END
3.Untuk memanggil TVP dilakukan dengan cara mendeclarasikan variable bertipe TVP
use AdventureWorks
Go
DECLARE @NewEmployees EmployeeTableType
4. Isi data ke variabel TVP
INSERT INTO @NewEmployees
VALUES(1,'John McLean','JohnMcLean@contoso.com')
INSERT INTO @NewEmployees
VALUES(2,'Bob Smith','BobSmith@contoso.com')
INSERT INTO @NewEmployees
VALUES(3,'Ted Connery','TedConnery@contoso.com')
5. Panggil SP dan passing parameter TVP
EXECUTE NewEmployee @NewEmployees
Demikian sedikit pengenalan tentang new Enhancement di SQL 2008, selamat mencoba
Saya yakin kita semua pernah memerlukan syncronisasi antara 2 table di SQL, secara umum perintah yang dilakukankan adalah UPSERT (update or Insert), biasanya untuk melakukan ini di perlukan beberapa perintah dan kondisi yang menyebabkan perngaruh yang cukup signifikan dalam logika pemrograman dan tentu saja proses compilasi sintax di SQL server. seperti pada Script perintah di bawah ini
CREATE TABLE MyTable(pk INT PRIMARY KEY, name VARCHAR(10), number INT);
CREATE PROCEDURE Legacy_Upsert_1
@pk INT, @name VARCHAR(10), @number INT
AS
UPDATE MyTable SET name = @name, number = @number WHERE pk = @pk
-- Row is updated even if all the values are correct
IF (@@ROWCOUNT = 0)
INSERT MyTable VALUES(@pk, @name, @number)
-- If row did not exist, a second statement execution is required
CREATE PROCEDURE Legacy_Upsert_2
@pk INT, @name VARCHAR(10), @number INT
AS
-- Updating only if any column needs to be changed requires an extra statement
IF EXISTS (SELECT 1 FROM MyTable WHERE pk = @pk)
UPDATE MyTable
SET name = @name, number = @number
WHERE pk = @pk AND (name <> @name OR number <> @number)
ELSE
INSERT MyTable VALUES(@pk, @name, @number)
kita bisa lihat berapa perintah TSQL perlu kita tuliskan di SQL server untuk menghasilkan data yang jika data sudah ada di MyTable maka akan di update dan jika data belum ada maka akan di insert ke MyTable.
Pada SQL Server 2008 banyak sekali enhancement dan penambahan fungsi yang sangat membantu kita dalam melakukan operasi database, salah satunya adalah adanya penambahan perintah baru yaitu Merge Statement yang berfungsi untuk menggabungkan database dari 2 buah table.
Alasan utama kenapa kita akan sangat terbantu dengan intruksi merge ini diantaranya :
-
Pada proses OLTP sangat membantu dalam proses UP-SERT (Update or Insert), Biasanya di gunakan dalam proses merging (penggabungan data) jika row data ada di table target maka akan di update jika belum ada maka akan di insert
-
Pada proses melakukan syncronisasi data dari 2 table, Proses Insert/Update/Delete pada table target berdasarkan perbedaan data dari Table Source
-
Melakukan Tracking history dari SCD (slowly Changing Dimension pada Data Warehouse), Update Jika data di target berbeda dengan source, insert jika data adalah data baru
-
Tracking inventory, seperti pada proses inventory operasi Insert Stock baru, update existing stock, Delete jika Amount = 0
Dengan menggunakan Merge Statement ini kita bisa menggabungkan perintah DML (insert/update/delete) dengan hanya menggunakan 1 statement yaitu MERGE, operasinya sendiri merupakan hasil Join antara Table Source dengan table Target.
Berikut Syntax perintah Merge:
[ WITH <common_table_expression> [ ,…n ] ]
MERGE
[ TOP (expression) [ PERCENT ] ]
[ INTO ] <target_table> [ [ AS ] table_alias ] [ WITH( <merge_hint> ) ]
USING <table_source>
ON <search_condition>
<merge_clause> [ …n ]
[ OUTPUT <dml_select_list> ]
[ OPTION ( <query_hint> [ ,…n ] ) ]
;
<merge_clause>:=
{
WHEN MATCHED [ AND <search_condition> ]
THEN { UPDATE SET <set_clause> | DELETE }
| WHEN [ TARGET ] NOT MATCHED [ AND <search_condition> ]
THEN INSERT [ (column_list) ]
{ VALUES (values_list) | DEFAULT VALUES }
| WHEN SOURCE NOT MATCHED [ AND <search_condition> ]
THEN { UPDATE SET <set_clause> | DELETE }
}
Berikut contoh penggunaan perintah Merge
CREATE TABLE Stock (Stock VARCHAR(10) PRIMARY KEY, Qty INT CHECK (Qty > 0));
CREATE TABLE Trades (Stock VARCHAR(10) PRIMARY KEY, Delta INT CHECK (Delta <> 0));
INSERT Stock VALUES('MSFT', 10), ('BOEING', 5);
INSERT Trades VALUES('MSFT', 5), ('BOEING', -5), ('GE', 3);
MERGE Stock S
USING Trades T
ON S.Stock = T.Stock
WHEN MATCHED AND (Qty + Delta = 0) THEN
DELETE -- delete stock if entirely sold
WHEN MATCHED THEN
-- delete takes precedence on update
UPDATE SET Qty += Delta
WHEN NOT MATCHED THEN
INSERT VALUES (Stock, Delta);
-- BOEING is deleted, GE inserted, MSFT updated
Dari perintah diatas kita bisa lihat operasi Merge pada table Stock dan Trade, dimana jika nilai trades menyebabkan nilai di stock habis maka data di stock di hapus, jika di stock ada maka data akan di update dengan menambahkan nilai Qty dengan nilai Delta sedangkan jika belum ada maka akan di insert data stock baru.
Klausa penting dalam perintah Merge
- WHEN MATCH, Jika row data ada di Table Source dan Table Target ini sama juga dengan operasi "Source Inner Join Target". Maka Valid Actionnya adalah UPDATE atau DELETE
- WHEN TARGET NOT MATCH, jika row data di table source tidak ada di table target ini sama juga dengan operasi "Source Left Outer Join Target". maka Valid Actionnya adalah INSERT
- WHEN SOURCE NOT MATCH, jika row data di table Target tidak ada di table source ini sama juga dengan operasi "Source Right Outer Join Target". maka Valid Actionnya adalah UPDATE atau DELETE
Selamat mencoba
Bagi saya pagi ini cukup berbeda dengan pagi biasanya, karena jam 6.30 harus sudah stand by di JCC senayan guna menghadiri kuliah presidensial yang diadakan oleh pemerintah indonesia dengan KADIN indonesia sebagai penyelengaranya. Dan kegiatan ini agak berbeda karena di buka dan di hadiri oleh Bapak Presiden Indonesia dengan menghadirkan William (Bill) H. Gate sebagai narasumbernya
Tepat pukul 6.30 saya sudah hadir di JCC pintu lobi yang ternyata sudah penuh sesak oleh para hadirin yang belum boleh masuk oleh fihak security, selang 10 menit kemudian akhirnya kita bisa masuk dan mendapatkan coffee morning sekaligus mencicipi beberapa potong kue dan susu di ruangan cendrawasih. cukup lama kita menunggu di ruangan ini sambil kongkow dengan beberapa teman dan kolega MVP akhirnya kita diperkenankan masuk ke balai sidang senayan. didalam suasana cukup penuh dengan jumlah hadirin yang mencapai 2500 orang yang terdiri dari Pengusaha, Tokoh Eksekutif dan para mentri serta mahasiswa dari perguruan tinggi yang dengan cukup sabar menanti kedatangan SBY dan Bill G.
Sekitar pukul 8.15 akhirnya SBY dan Bill G memasuki ruangan dengan tepuk tangan meriah semua penonton berdiri dan menyambut tokoh yang di tunggu-tunggu. Setelah didahului dengan pidato pembukaan dari presiden SBY maka Bill G membuka kuliar presidensialnya di depan para peserta, dengan di dahului cerita tentang bagaimana microsoft memulai kiprahanya sehingga menjadi raksasa IT sekarang, Bill Gate menceritakan tentang visi dan Dekade baru dari Teknologi Digital, sekaligus mendemokan hasil karya dari microsoft research yaitu aplikasi yang terintegrasi dengan database teleskop huble yang memungkinkan kita bisa mempelajari ruang angkasa hanya dari komputer kita
Pidato dan penjelasan Bill Gate kali ini menekankan pada trend teknologi kedepan yang terdiri atas fokus diantaranya Unified communication, Social Enginering, Business Intelligence. diakhir dengan sesi tanya jawab maka berakhir sudah kuliah kepresidenan dengan Bill Gate di JCC.
Berikut Beberapa dokumentasi dari kegiatan ini 

On March 17,2008. actually on last Month I was attending SQL Server training in Microsoft campus in redmond, after I was flying from jakarta for almost 20 hour to seattle and there was 2 track for the training, one is for SQL Infrastructure and Other is for SQL BI. and I attend SQL BI class.
The fist day of the training I was coming late to the class because I just arrived at 12 o'clock on the evening, but it's ok because I was very exciting beeing here in Microsoft campus.
We were visiting Microsoft Company Store and buying some stuff from that internal store, and the next day more exciting because we will be visiting XBOX development center.
thank you to MS Indonesia DPE (especially risman and narend) who give me opportunity to attend this training, in return I will conduct as same training in indonesia for saveral ISV and microsoft partner. the training event would be conducting on April until July.
I just want to say welcome to the new Server wive 2008 (especialy to SQL Server 2008)
Kata kembali ke laptop kini menjadi trend yang sangat fenomenal, karena kata ini di populerkan oleh pelawak sekaligus presenter acara empatmata yang di tayangkan di salah satu TV swasta di Indonesia yaitu mas Tukul Arwana. Sehingga tidak jarang di keseharian kita mendengar orang menyebut kata ‘kembali ke.. lap..top’.
Lalu apa jadinya jika anda memiliki domain www.kembalikelaptop ini? Apa yang akan anda perbuat? Menjadikannya situs fans club mas Tukul Arwana? Jadi Situs jual beli laptop atau computer bekas? bahkan bisa saja menjadi Situs forum tentang informasi IT? banyak sekali pilihan dan inovasi yang mungkin ada di benak anda ketika menghadapi tantangan seperti ini.
Jika kita perhatikan di Situs www.trendigital.com yang merupakan salah satu Situs di lingkungan grup bisnis Indonesia, ternyata tantangan untuk menampilkan desain dan inovasi jika kita memiliki domain www.kembalikelaptop.com ini telah lama di sayembarakan. Terhitung sejak November 2007 pada bagian tengah situs www.trendigital.com ini telah terpasang banner yang isinya mengajak setiap pengunjung situs ini untuk mengikuti lomba kreasi dalam mendisain situs www.kembalikelaptop.com. Dan hadiahnya tidak tanggung-tanggung 1 buah Laptop akan di berikan kepada peserta dengan desain dan inovasi yang Terbaik.
Acara ini di gelar dalam rangka relounching website www.trendigital.com yang kini telah tampil dengan lebih informatif. Dengan menyediakan fasilitas yang lebih mengajak user untuk berpartisipasi dan ikut serta menulis di situs www.trendigital.com menunjukkan bahwa www.trendigital.com kini telah mengimplementasikan konsep ‘Citizen Journalims’ (jurnalisme publik) yang merupakan ciri dari perkembangan perinsip Web site yang paling mutakhir yaitu WEB 2.0.
Sampai saat ini paling tidak sudah ada 15 orang peserta yang telah mengirimkan desain lomba kreasi situs www.kembalikelaptop.com, ada yang mengusung topic Website e-Mall seperti yang di submit oleh Rama Mamuaya, ada juga yang mengusung tema website khusus untuk anak2x Indonesia.Mulai dari enskopedia, games interaktif, forum antar anggotanya seperti yang sudah dikirim oleh Denny Irawan dan masih banyak karya lainnya.
Nah bagi anda yang berminat untuk ikut lomba ini caranya adalah :
1. Daftarkan diri anda baik pribadi atau mewakili kelompok anda untuk menjadi anggota situs www.trendigital.com
2. Masuk ke menu lomba kreasi website untuk melihat gallery lomba dan click banner Lomba kreasi website.
3. Baca syarat dan ketentuan, jika sudah paham dan ingin mengikuti lomba pilih join
4. Lengkapi data anda dan informasi desain yang anda buat di form upload materi lomba, adapun isian form yang harus ada isi adalah informasi informasi adalah : Nomer Identitas, Tagline, Descripsi Web Site, latar belakang dan dasar pemikiran, Maksud dan Tujuan, Keunikan dan nilai Jual, Target Audience dari situs yang akan di buat sera jenis website yang akan di buat termasuk pada kelompok jenis apa.
5. Tekan tombol submit maka materi lomba akan dikirimkan ke meja redaksi untuk selanjutkan menunggu persetujuan penayangan dari administrator.
6. Materi lomba yang di tayangkan di gallery akan diikut sertakan dalam babak penyelisihan yang akan di nilai oleh juri
Sesuai dengan misi Citizen journalism yang di usung, maka para pembaca www.trendigital.com dapat memberikan rekomendasi kepada juri atas kreasi yang dikirimkan dengan menekan gambar rekomendasikan ke juri yang di lambangkan dengan Tumb Up (jempol) sehingga juri dapat melihat kreasi mana yang menjadi favorit dari pada pembaca www.trendigital.com
Dari jadwal yang dimiliki panitia, lomba ini akan di tutup pada tanggal 15 April 2008, untuk selanjutnya Juri akan menentukan 10 besar peserta yang berhak mengikuti babak penentuan. Ke 10 (sepuluh) peserta terbaik ini akan dipilih berdasarkan penilaian desain, originalitas Ide dan kreativitas yang kemudian akan di undang untuk melakukan presentasi konsep desain www.kembalikelaptop.com di depan juri.
Pengumuman pemenang akan di umumkan pada akhir April dan Penyerahan hadiah akan dilakukan pada acara relounching www.trendigital.com . Pemenang atas lomba kreasi website ini berhak mendapatkan 1 buah laptop dan beberapa hadiah menarik lainnya.
Untuk itu segera daftarkan diri anda untuk mengikuti lomba kreasi website www.kembalikelaptop.com ini, kami tunggu karya dan kreatifitas anda.
More Posts
Next page »