SQL Server Indonesia User Groups Community Baby SQL ... (^.^)
Welcome to SQL Server User Group Indonesia
Sign in JoinHelp | Sign In Live ID

Database MSDB corrupt???

Baru aja salah satu database server di lab gw dapat error message kalau MSDB nya suspect.

Gw dapat solusinya dari blognya sql server storage engine.

 

contekannya begini:

  • matikan service sqlserver anda.
  • buka command prompt anda
  • silakan ke InstallationFolder\MSSQL\Binn (kalau gw ada di C:\Program Files\Microsoft SQL  server\MSSQL10.MSSQLSERVER\MSSQL\Binn)
  • execute sqlservr.exe –c –T3608 (trace flag 3608 ini digunakan supaya server tidak melakukan recovery database – kecuali database master)
  • kemudian silakan ke InstallationFolder\MSSQL\Install (kalau gw ada di C:\Program Files\Microsoft SQL  server\MSSQL10.MSSQLSERVER\MSSQL\Install)
  • jalankan sqlcmd –E –S servername –i instmsdb.sql

image

Semoga berhasil… (^.^)v

Posted by David | with no comments
Filed under:

Failback setting untuk SQL Server 2008 Cluster

Failback setting dapat membantu anda untuk mengembalikan node yang failover kembali ke server pertama atau yang telah ditentukan secara otomatis, baik sesaat setelah node tersebut aktif  kembali ataupun setelah beberapa jam failover. Sebagai contoh kenapa failback diperlukan, passive server apabila aktif kurang dari 30 hari, maka tidak memerlukan license (source: license-consideration), dan kadangkala administrator lupa untuk mengembalikan ke node cluster pertama... Super Angry Untuk membantunya, kita bisa set cluster untuk kembali ke node pertama secara otomatis dengan feature failback ini.

 

Step by step:

Buka Failover Cluster Management, kemudian expand “Services and Applications”. Pilih sql server instance yang anda ingin configure.

                      image

Di tab “General” dari halaman properties, pada bagian “Preferred owners”, silakan pilih server mana yang menjadi server utama dengan meng-click checkbox-nya. By Default, tidak ada satupun server yang dipilih.

Kemudian pindah ke tab Failover, di bagian failback, pastikan anda pilih “allow failback”. Seperti yang anda lihat di bawah ini, ada dua option: Immediately (pada saat node yang menjadi preferred owner kembali aktif, service/application akan langsung pindah ke node tersebut) atau Failback between (akan mencoba pindah setelah node preferred owner aktif selama jam yang telah ditentukan)

image image

Posted by David | with no comments

DTDate tidak bisa digunakan oleh Slowly Changing Dimension

 

Pernah mencoba untuk menggunakan tipe data DT_Date dan memasukan ke dalam table anda dengan menggunakan Slowly Changing Dimension dan mendapatkan error seperti di bawah ini?

image

Karena ternyata Slowly changing dimension akan menggunakan tipe data database timestamp untuk setiap external metadata dari kolom tujuan yang menggunakan tipedata datetimel. Anda bisa gunakan DT_DBTimestamp (Database Timestamp) untuk kolom datetime apabila anda ingin menggunakan slowly changing dimension.

Posted by David | with no comments

Port yang digunakan SQL Server

Untuk yang pernah install SQL Server, semoga masih ingat warning yang satu ini:

image

Windows Firewall memang harus dinyalakan untuk menghindari hilangnya asset intelektual anda. Tetapi harus tetap mengikuti aturan supaya tidak menjadi senjata makan tuan Stick out tongue. Salah satu yang harus diperhatikan adalah port2 yang digunakan oleh aplikasi2 anda, untuk selalu didaftarkan ke exception windows firewall.

Berikut adalah port2 yang digunakan oleh SQL Server:

TCP port 1433 SQL Server Database Default Instance Port
TCP Port 1434 Dedicated Admin Connection
UDP Port 1434 SQL Server Browser service dan digunakan oleh client untuk browse database server yang ada dari Management Studio
TCP Port 80 HTTP Connection
TCP Port 443 HTTPS Connection
TCP Port 4022 Service Broker
TCP Port 21 FTP (kalau menggunakan Replication dengan FTP)
TCP Port 137, 138 atau 139 File and Print Sharing
TCP Port 135 T-SQL Debugger, MSDTC,  MS RPC used by SSIS and WMI yang digunakan oleh SQL Server Configuration Manager
TCP Port 2383 SQL Server Analysis Service
TCP port 2382 SSAS SQL Server Browser service
UDP port 500 dan 4500 IPSec Traffic
UDP Port 3343 Cluster - intra-node communications

untuk detailnya silakan menuju TKP: http://msdn.microsoft.com/en-us/library/cc646023.aspx

Posted by David | with no comments
Filed under:

Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

Apabila anda mendapatkan error ini pada saat ingin browse cube, silakan install kembali office web component 2003 anda, ada kemungkinan komponennya ada yang corrupt…

Anda bisa download owc11.exe di http://www.microsoft.com/downloads/details.aspx?FamilyId=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=en

dan Microsoft Office 2003 Web Components Service Pack 1 (SP1) for the 2007 Microsoft Office System di: http://www.microsoft.com/downloads/thankyou.aspx?familyId=c815dffa-d5f3-4b71-bf46-13721bd44682&displayLang=en

Posted by David | with no comments
Filed under: , ,

Mencari “Missing Index” untuk memperbaiki performance

Untuk menentukan index mana yang harus dibuat, selain menggunakan Database Engine Tuning Advisor, bisa juga dengan mencari Missing Index dan membasminya.

Untuk mencari Missing Index kita bisa menggunakan Missing Index DMVs:

SELECT TOP 100
    m.avg_total_user_cost,
    m.avg_user_impact,
    object_name(d.[object_id]) as object_name,
    d.equality_columns,
    d.inequality_columns,
    d.included_columns,
    d.[statement] [table name]
FROM sys.dm_db_missing_index_group_stats m
    INNER JOIN sys.dm_db_missing_index_groups g ON m.group_handle = g.index_group_handle
    INNER JOIN sys.dm_db_missing_index_details d ON d.index_handle = g.index_handle

atau dengan melihat ke cached plans:

SELECT top 100
    c.bucketid,
    c.refcounts,
    c.usecounts,
    c.size_in_bytes,
    DB_Name(p.[dbid]) as [DB_Name],
    object_name(p.[objectid], p.[dbid]) as [Object_Name],
    p.[query_plan]
from sys.dm_exec_cached_plans c
    outer apply sys.dm_exec_query_plan(c.plan_handle) p
WHERE
    DB_Name(p.[dbid]) = 'DatabaseName' AND
    CAST(p.query_plan as nvarchar(max)) like N'%<MissingIndexes>%'

kemudian klik di resultnya:

image

image

Posted by David | with no comments

Error occurred when deploying SSAS > Errors in the metadata manager

solusi:

percobaan pertama : coba buat perubahan di dimensi yang anda gunakan, seperti tambahkan attribute. Kemudian di-rebuild, lalu deploy.

cara kedua : di BIDS (Business Intelligence Development Studio):

1. click kanan di project name  > rebuild
2. click kanan di project name > properties > tab deployment > rubah “deployment mode” ke Deploy All dan rubah juga “processing” ke Full processing.
3. click kanan di project name > deploy

 

kalau masih error juga, kita coba cara ketiga:

1. Matiken service SSAS nya
2. Delete folder dari project anda di OLAP Data Folder (C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\Data\FolderGueGituLoh)
3. Nyalakan kembali service SSAS nya
4. Deploy kembali cube anda

 

Kalau masih keluar juga tuh error, silakan kirim email ke sqlserver-indo@yahoogroups.com, kita bakal bahas bareng2… :)

Posted by David | with no comments

Error: Cannot perform a differential backup after applying SQL Server 2005 SP2

Full error message yg gw terima, walaupun seminggu sebelumnya sudah pernah melakukan full backup:

Cannot perform a differential backup for database "xxx", because a current database backup does not exist. Perform a full database backup by reissuing BACKUP DATABASE, omitting the WITH DIFFERENTIAL option

 

Di readme SQL Server 2005 SP2, tertulis:

3.2.6 SQL Server 2005 SP2 Changes the SQL Writer Service Default Startup Type and Default State

Note the following changes to the SQL Writer service default startup type and default state:

    * The SQL Writer service startup type is changed from Manual to Automatic.

    * The SQL Writer service default state is changed from Stopped to Started.

 

Solusi: Kembalikan konfigurasi SQL VSS Writer ini ke manual, dan default state adalah Stopped.

Posted by David | with no comments

SQL Server 2000 | Error 5105 : Device Activation Error

Error5105

 

Salah satu penyebab error message ini, adalah karena data file dan log file nya di set jadi read-only.

Kita coba reproduce :

1. kita create satu database baru

Error5105_createnewtest

2. Setelah berhasil buat database baru dengan nama "test", kita detach databasenya

Error5105_detach

3. keluar pesan berhasil detach

Error5105_detach2

4. Rubah kedua file menjadi read-only, baik mdf maupun ldf nya

Error5105_mdfreadonly

Error5105_ldfreadonly

5. Kita attach kembali database test tersebut

Error5105_attachtrial

6. Keluar pesan attach berhasil

Error5105_attachdone

7. Tapi database nya jadi read-only

Error5105_readonlydb

8. kita coba update database propertiesnya dari Enterprise Manager menjadi tidak read-only, malah dapat error message 5105

Error5105_message

 

Solusi:

Rubah properties kedua file (mdf dan ldf) menjadi tidak read-only, kemudian ke Enterprise Manager > Set Database menjadi tidak read-only

Error5105_tidakreadonly

Error5105_updatenon

Posted by David | with no comments
Filed under:

Essential SQL Server 2008 Slide | Leveraging SSRS Programmability

Silakan click disini untuk download slide Leveraging SSRS Programmability dari acara Monthly Meeting SQL Server Indonesia tanggal 16 march 2009 kemaren.

 

Untuk yang mo tanya2 soal SSRS Programmability, silakan dilempar ke forum atau sqlserver-indo@yahoogroups.com

Posted by David | with no comments
Filed under:

Report Builder 2.0 - unable to open or save...

Setelah install report builder 2.0 untuk Reporting Services 2008 - SharePoint integrated mode, pastikan "Custom Report Builder launch URL" menggunakan nama server, dan bukan "Localhost".

Custom Report Builder Launch URL dapat ditemukan di Central Administration > Application Management, di bagian Reporting Services > Set Server defaults.

Apabila anda tetap menggunakan http://localhost:portnumber/_vti_bin/ReportBuilder/ReportBuilder_2_0_0_0.application sebagai custom report builder launch url, pada saat anda ingin open / save dari sharepoint server, akan keluar pesan "Unable to open or save the file. System.Web.Services.Protocols.SoapException: Report Server has encountered as sharepoint error. System.ArgumentException: Value does not fall within the expected range...."

Posted by David | with no comments

Replication : General Network Error. Check Your Network Documentation

Bayangkan kalau kita harus remote ke server dengan menggunakan VNC, dengan connection yang sangat astaga super beratnya. Gerakin mouse pointer ajah, bisa nunggu 30 - 60 detik. Kalau click sesuatu bisa nongol setelah nunggu 2 - 4 menit (Bisa bikin 3 gelas kopi dulu).

Imaginasinya udah dapet khan? Sekarang, saya harus meng-initiate replication (snapshot) dari server tersebut. Hasilnya keluar pesan :

"General Network Error. Check your Network Documentation. ErrorCode = 11"

dimana table yang saya kirim ukurannya > 8500 rows.  Dengan ukuran table yang masih cukup kecil ini, seharusnya tidak jadi masalah.

Akhirnya saya coba test download 512 kb dari server, ... eh ternyata dapet nya 15 menit (WOW!!!). Saya turunkan jadi 10kbytes dapet nya kadang2 1 atau 2 menit. Walaupun kadang2 malah tetep error juga. Setelah hitung2, ternyata 1 row itu sekitar 308bytes. saya coba sekali bulk copy, kirim 10 rows saja (sekitar 2 -3 kbytes). Hasilnya Tidak ada lagi pesan "General Network Error." dimana paket terkirim tanpa cacat walaupun harus menunggu cukup lama karena sekali kirim bisa 1 - 2 menit.

Untuk merubah konfigurasi batch size pada replication untuk proses Bulk Copy, anda bisa merubah property BCPBatchSize (dengan satuan row) dari agent profile yang digunakan. Untuk kasus ini saya set menjadi 10 rows (-BCPBatchSize=10).

 

ref: http://msdn.microsoft.com/en-us/library/ms146939.aspx

Posted by David | with no comments

Error when trying to Alter Database Collation

Error Message:

Msg 1505, Level 16, State 1, Line 1
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'sys.sysschobjs' and the index name 'nc1'. The duplicate key value is (0, 1, Table_01).


Msg 5072, Level 16, State 1, Line 1
ALTER DATABASE failed. The default collation of database 'mydb_01' cannot be set to SQL_Latin1_General_CP1_CI_AS.
The statement has been terminated. 

Memang error messagenya agak aneh dan terkesan nggak “orang awam” friendly. Untuk memunculkan error yang sama, kita bisa melakukan hal di bawah ini:

  1. CREATE DATABASE mydb_01 COLLATE  Latin1_General_BIN
  2. CREATE TABLE table_01 (column1 int NOT NULL)
  3. CREATE TABLE Table_01 (column1 int NOT NULL)
  4. Kemudian kita test untuk merubah collation nya dengan:
    ALTER DATABASE mydb_01 COLLATE  SQL_Latin1_General_CP1_CI_AS

Pada kasus yang terjadi di server saya adalah, saya memiliki satu database backup yang memiliki collation yang berbeda dengan sql server yang telah saya sediakan. karena ini dedicated instance yang disediakan hanya untuk database ini, satu2nya cara tercepat adalah merubah collation di sisi SQL Server instance untuk mengikuti konfigurasi dari database yang akan di-restore, yaitu dengan cara me-reinstall instance tersebut:

CD INSTALLATION>start /wait setup.exe /qb INSTANCENAME=DB_01 REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=password SQLCOLLATION=SQL_Latin1_General_CP1_CI_AS

ref: http://technet.microsoft.com/en-us/library/ms179254.aspx

Posted by David | 1 comment(s)
Filed under:

SSIS : Error code 0xc0010001

[SSIS.Pipeline] Error: component “MyComponentName” failed the pre-execute phase and returned error code 0xc0010001.

Pinter banget yah, bikin error message-nya. Sering banget kalau dapet error, yang keluar hanya code doang, kgak ada detailnya. Seharusnya mereka bikin link di error code-nya untuk lihat detailnya.

Ternyata 0xc0010001 menandakan anda belum mapping parameter-nya dengan variable yang tersedia.

Silakan di cek kembali query dari component anda, kalau ada parameternya, anda tinggal mapping ke variable yang tersedia.

Sebagai tambahan, setiap Connection type punya parameter marker-nya masing2:

Connection type Parameter marker
ADO ?
ADO.NET and SQLMOBILE @<parameter name>
ODBC ?
EXCEL and OLE DB ?


dan memiliki parameter name-nya masing2:

Connection type Parameter marker
ADO Param1, Param2, …
ADO.NET and SQLMOBILE @<parameter name>
ODBC 1, 2, 3, …
EXCEL and OLE DB 0, 1, 2, 3,…

 

Contoh untuk OLEDB:

image

image

Posted by David | 2 comment(s)
Filed under: ,

Can’t drop the login (Error: 15173)

Pesan error-nya:

Login ‘domain\user’ has granted one or more permissions. Revoke the permission before dropping the login (Microsoft SQL Server, Error:15173)

Ini berarti user yang akan kita drop, telah memberikan permission ke orang lain sehingga masih ada ketergantungan terhadap object principal yang lain.

Kita bisa mengetahui permission apa saja yang telah di-granted oleh [domain\user] tersebut, dengan query:

SELECT
  sp.class_desc,
  sp.permission_name,
  sp.state_desc,
  p.name as grantee_name,
  p.type_desc as grantee_type
FROM sys.server_permissions sp
    INNER JOIN sys.server_principals p
         ON p.principal_id = sp.grantee_principal_id
WHERE grantor_principal_id = (
    SELECT principal_id FROM sys.server_principals WHERE name = N’domain\user’
)

atau buka SQL Server Management Studio, kemudian pilih Security > Logins > domain\user > right click > Properties,

Buka tab Securables, click tombol [Add], kemudian pilih [All objects of the types…], pilih semua option yang ada. Di bagian bawah akan ada list semua permission yang di-grant. Lihat apakah ada permission dengan grantor adalah ‘domain\user’ tersebut. Kalau ada, silakan dipindahkan ke grantor yang lain atau dibuang kalau memang tidak digunakan lagi.

Posted by David | with no comments
More Posts Next page »