5 Ağustos 2008 Salı

Unable to start service SQLAGENT$ on server.

HATA MESAJI:
"Unable to start service SQLAGENT$ on server.

Access denied (ObjectExplorer)"

AÇIKLAMA:
Windows Vista ve Windows Server 2008 işletim sistemleriyle hayatımıza giren yeni bir özellik olan User Account Control güvenlik sistemi nedeniyle türlü türlü yeni sorunlarla karşılaşıyoruz. İşte karşınıza çıkan bu sorunun da nedeni UAC.

Aslında güzel bir sistem ve normalde kullanılmasını tavsiye ederim. İstisnai durumlarda elbette kapatılabilir.

UAC konusu bu yazımın amacı değil bu nedenle bu konuya uzun uzadıya girmeyeceğim. Ama aldığınız bu hata mesajının sorumlusu da UAC' dir.

ÇÖZÜM:
Bu sorunu iki yolla aşabilirsiniz:

1- SQL Server Management Studio uygulamasını doğrudan çalıştırmak yerine, fare ile üzerinde sağ tuşa tıkladıktan sonra "Run as Administrator" seçeneğini seçerek çalıştırın. Çünkü sizin hesabınız bir yönetici hesabı da olsa, UAC açıkken siz talep etmediğiniz sürece Windows Vista size normal kullanıcı muamelesi yapacaktır.

2- UAC' yi kapatın. Ama dediğim gibi, çoğu durum için UAC' nin kapatılmasını tavsiye etmiyorum.

UAC' yi bir çok yolla kapatabilirsiniz, ama en pratiği MSCONFIG (Başlat\Çalıştır = MSCONFIG) uygulamasında bulunan Araçlar isimli sekmede UAC' yi kapatmak için bir seçenek göreceksiniz. Ya da, Denetim Masasındaki Kullanıcı Hesapları' ndan UAC' yi açabilir veya kapatabilirsiniz. Bu işlemin geçerli olabilmesi için bilgisayarınızı kapatıp tekrar açmanız gerektiğini unutmayın.

"Update 'GDR 3068 for SQL Server Database Services 2005 ENU (KB948109)' could not be installed. Error code 1603."

HATA MESAJI:
"Update 'GDR 3068 for SQL Server Database Services 2005 ENU (KB948109)' could not be installed. Error code 1603."

AÇIKLAMA:
Bu hatayı Hotfix_KB948109' u yüklerken alabilirsiniz. Bu yama Windows Update yoluyla yüklenirken de bu hatayla karşılaşabilirsiniz.

ÇÖZÜM:
1. Aşağıda verdiğim yollardaki KEY' leri silin:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\SQLGroup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\AGTGroup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\FTSGroup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup\ASGroup

Not: Buradaki "MSSQL.X" ilgili SQL Server Instance' ınızın kodu. Her SQL Server Instance' ı yüklenirken bu Instance' a "MSSQL." biçiminde bir kod atanır.

Aşağıdaki anahtardan, yamayı uygulamak istediğiniz ve bu hata ile karşılaştığınız SQL Server Instance' ınızın yükleme kodunu bulabilirsiniz.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL

2. Bahsi geçen yamayı tekrar yüklemeyi deneyin.

"SQL Server Setup could not connect to the database service for server configuration. The error was: [Microsoft][SQL Native Client]Encryption not supp

HATA MESAJI:
"SQL Server Setup could not connect to the database service for server configuration. The error was: [Microsoft][SQL Native Client]Encryption not supported on the client. Refer to server error logs and setup logs for more information. For details on how to view setup logs, see "How to View Setup Log Files" in SQL Server Books Online."

AÇIKLAMA:
Aslına bakarsanız bu hatanın neyden kaynaklandığını Microsoft bile bilmiyor =) "Hadi canım sen de!" diyenleriniz olabilir... Bir MSFT (Paul Nicholson)' nin MSDN Forumlarında bu sorunun nedenini hâlâ bilmediklerini söylediğini görmüştüm.

ÇÖZÜM:
Sorunu çözmek için, aşağıda verdiğim Regedit kayıtlarını (risk size aittir) Registry' ye aktarmanız (Import) gerekiyor. Bir çok kişinin bu sorunu böyle çözdüğüne şahit oldum.

Yalnız, eğer bu aşağıdaki anahtarlar ve veriler Regedit' inizde zaten varsa, o zaman sorun başka bir şeyden kaynaklanmaktadır ve bu durumda bu çözümü de denemenize gerek yok.



[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0]
"ProtocolsSupported"=hex(7):73,00,6d,00,00,00,74,00,63,00,70,00,00,00,6e,00,70,\
00,00,00,76,00,69,00,61,00,00,00,00,00
"ProtocolOrder"=hex(7):73,00,6d,00,00,00,74,00,63,00,70,00,00,00,6e,00,70,00,\
00,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\GeneralFlags]
"NumberOfFlags"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\GeneralFlags\Flag1]
"Label"="Force protocol encryption"
"Value"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\GeneralFlags\Flag2]
"Label"="Trust Server Certificate"
"Value"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\LastConnect]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\np]
"DLLname"="SQLNCLI"
"NumberOfFlags"=dword:00000000
"NumberOfProperties"=dword:00000001
"ProtocolName"="Named Pipes"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\np\Property1]
"Name"="Default Pipe"
"Value"="sql\\query"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\sm]
"DLLname"="SQLNCLI"
"NumberOfFlags"=dword:00000000
"NumberOfProperties"=dword:00000000
"ProtocolName"="Shared Memory"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\tcp]
"DLLname"="SQLNCLI"
"NumberOfFlags"=dword:00000000
"NumberOfProperties"=dword:00000003
"ProtocolName"="TCP/IP"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\tcp\Property1]
"Name"="Default Port"
"Value"=dword:00000599

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\tcp\Property2]
"Name"="KEEPALIVE (in milliseconds)"
"Value"=dword:00007530

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\tcp\Property3]
"Name"="KEEPALIVEINTERVAL (in milliseconds)"
"Value"=dword:000003e8

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\VIA]
"DLLname"="SQLNCLI"
"NumberOfFlags"=dword:00000000
"NumberOfProperties"=dword:00000002
"ProtocolName"="VIA"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\VIA\Property1]
"Name"="Default Server Port"
"Value"="0:1433"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI9.0\VIA\Property2]
"Name"="Default Client NIC"
"Value"="0"

"An installation package for the product Microsoft SQL Server Native Client cannot be found. Try the installation again using a valid copy of the inst

HATA MESAJI:
"An installation package for the product Microsoft SQL Server Native Client cannot be found. Try the installation again using a valid copy of the installation package 'sqlncli.msi'."

AÇIKLAMA:
SQL Server 2005 kurulumunda SQL Native Client yüklenirken böyle bir hata mesajı alabilirsiniz.

Bunun nedeni, daha önceden kalan bir SQL Native Client yüklemesi olabilir ve şimdiki kurduğunuz sürümle çakışabilir; sonucunda da bu hata ile karşılaşırsınız.

Bunun sonucunda da SQL Native Client ve Database Engine bileşenlerinin yüklemeleri başarısızlıkla sonuçlanır.

ÇÖZÜM:
Bu sorundan kurtulmak için Denetim Masasındaki Program Ekle\Kaldır bölümünde bulunan "Microsoft SQL Server 2005 Native Client" isimli uygulamayı kaldırın ve SQL Server 2005 Setup' ı tekrar başlatın.

Bu sefer SQL Native Client' ın yüklenmesinde sorun çıkmamalı ve tabi dolayısıyla da diğer bileşenlerin yüklenmesinde de SQL Native Client' a bağlı sorunlar ortadan kalkmalı.

"The product instance 'Instance_adı' has had update 3033 applied. You cannot install GDR update 3054 overtop update 3033.

HATA MESAJI:
"The product instance 'Instance_adı' has had update 3033 applied. You cannot install GDR update 3054 overtop update 3033.

An update of build equal to or greater than 3159 should be downloaded."

AÇIKLAMA:
Eğer SQL Server 2005 Instance' ınızı CTP Servis Paketi 2 ile yamaladıysanız (9.00.3033.00) ve bu yamadan sonra da SP2 GDR1 Hotfix' ini kurmaya çalışırsanız yukarıdaki hata ile karşılaşırsınız.

Eğer "SP2 GDR2 Hotfix" ini kurmaya çalışırsanız da aşağıdaki hata mesajı ile karşılaşırsınız:
The product instance XXXX has had update 3033 applied. You cannot install GDR update 3159 overtop update 3033. An update of build equal to or greater than 3042 should be downloaded.

ÇÖZÜM:
Öncelikle, üretim sunucularınızda kesinlikle ama kesinlikle CTP, BETA, ALPHA vs. gibi henüz test aşamasında olan ürünleri kullanmanızı önermiyorum. Sonuçta bunlar henüz deneme sürecindeki yazılımlar, sadece test amaçlı kullanılmalıdırlar.

Sorunu çözmek için ise, buraya tıklayarak SQL Server 2005' in Servis Paketi 2' sini indirip kurun.

Bir başka çözüm ise, bu güncellemeyi yaparken Windows Authentication yerine, meselâ "sa" hesabını veya bu hesap gibi "sysadmin" rolüne üye başka bir SQL Login' in kullanılmasıdır.