You are on page 1of 21

Mesaj Başlığı "A valid SQL Server installation does not exist in the specified location"

Bu hatayı, aşağıdaki adımlar gerçekleştikten sonra aldım.

1- Sistemimdeki yüklü SQL Server 2000 örneğini kaldırdım.


Hata Açıklaması
2- İşletim sistemimi tekrar başlattım.
3- Yeni bir SQL Server 2000 örneği kurarken "Setup Type" penceresindeyken "Next"
düğmesine tıkladığımda bu hatayı aldım.

1- SQL Server 2000 Setup' ı kapattım.


Çözüm 2- Microsoft Download sitesinden MDAC' ın en son sürümünü indirip yükledim.
3- SQL Server 2000 Setup' ı tekrar başlattım ve sorunsuz kuruluma devam ettim.
SQL Server
SQL Server 2000
Versiyonu
İşletim Sistemi Windows Vista Business (Diğer sürümlerde de olabilir)

"A component that you have specified in the ADD_LOCAL property is already installed. To
Mesaj Başlığı upgrade to the existing component, refer to the template.ini and set the UPGRADE property
to the name of the component."
Önceden yüklemiş olduğunuz bir SQL Server Instance' ını kaldırdıktan sonra, tekrar yeni bir
Hata Açıklaması Instance kurmayı denersiniz, ama yukarıdaki hata mesajını alırsınız. Bunun nedeni, önceki
Instance' ın doğru şekilde kaldırılamamış olmasıdır.
SQL Server 2005 Instance' ını otomatik olarak başarıyla kaldıramadığınız zamanlar, bunu elle
yapmayı deneyebilirsiniz.

http://msdn2.microsoft.com/en-us/library/aa337087.aspx

Hemen yukarıda vermiş olduğum adreste, bunu nasıl yapacağınız adım adım anlatılıyor.
(İngilizce)
Çözüm
Bununla beraber, buradaki kilit sorunun Windows Installer olduğunu gördüm çoğu zaman.
Windows Installer Cleanup Utility kullanıldığı zaman ve sorunlu Instance bu araç ile
kaldırıldığı zaman, yeni bir kurulum sorunsuz çekilde gerçekleştirilebiliyor.

Windows Installer Cleanup Utility' yi indirmek için:


http://support.microsoft.com/kb/290301/
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Database cannot be upgraded because it is read-only or has read-only files. Make the
Mesaj Başlığı
database or files writeable, and rerun recovery. (Microsoft SQL Server, Error:3415)"
Bu hatayı, iki şekilde alabilirsiniz.

1- Eğer bir SQL Server Instance' ınıza bağlı veritabanını başka bir SQL Server Instance' ına
Hata Açıklaması
bağlamaya (Attach) çalışırsanız.
2- Eğer SQL Server Instance' ınıza bağlamaya (Attach) çalıştığınız veritabanı dosyaları
(örn: mdf, ndf, ldf) Salt-Okunur (Read-Only) ise.
SQL Server Instance' ınıza bağlamaya çalıştığınız veritabanının başka bir SQL Server
Instance' ı tarafından kullanılmadığından emin olun.
Çözüm
Veya bağlamaya çalıştığınız veritabanınızın dosyalarının Salt-Okunur olmadıklarından emin
olun.
SQL Server
SQL Server 2000, 2005 (Diğer versiyonlarda test edilmemiştir.)
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

Mesaj Başlığı "Login failed for user . This user is not associated with a trusted SQL Server connection.
(Microsoft SQL Server, Error: 18452)"
Bu hata ile karşılaştığınız an ilk aklınıza gelmesi gereken şey "SQL Server Authentication
Method" yani SQL Server' a bağlanma yönteminiz olmalıdır.

SQL Server' da iki bağlantı doğrulama yöntemi vardır, başlık olarak bunlar:
1- Windows Authentication
Hata Açıklaması
2- SQL Server and Windows Authentication mode' dur.

Eğer bağlanmaya çalıştığınız SQL Server Instance' ının bağlanma yöntem ayarı Windows
Authentication ise ve siz de bir SQL Server Login' i ile bağlanmaya çalışıyorsanız, bu hata
mesajıyla karşılaştırsınız ve SQL Server Instance' ınıza bağlanamazsınız.
SQL Server Login' lerini kullanmak için SQL Server bağlanma yöntemini "SQL Server and
Windows Authentication" olarak değiştirmeniz gerekir.

Bunun için, Yerel Yönetici grubuna dahil olan bir yönetici hesabıyla SQL Server' ınıza
bağlanabilirsiniz. Yerel Yönetici grubunun, SQL Server' da varsayılan olarak (BUILTIN)
"sysadmin" (SQL Server' ı yönetmek için kullanılan ve tüm hakları barındıran bir Sunucu
Çözüm Sabit Rolü 'Server Fixed Role') rolüne sahip bir Windows Login' i bulunmaktadır. Bu hesap
ile Server Properties (Sunucu Özellikleri)' i açarak, "Security" penceresinden Server
Authentication yöntemini "SQL Server and Windows Authentication mode" olarak
değiştirebilirsiniz.

Not: Bu değişikliğin geçerli olabilmesi için SQL Server servisinizi kapatıp tekrar
çalıştırmanız gerekecektir.
SQL Server
SQL Server 2000, 2005 (Diğer versiyonlarda test edilmemiştir.)
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

Mesaj Başlığı "[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied."
Hata Açıklaması http://support.microsoft.com/kb/888228/tr
Çözüm http://support.microsoft.com/kb/888228/tr
SQL Server
SQL Server 2000, 2005 (Diğer versiyonlarda test edilmemiştir.)
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server
Mesaj Başlığı
connection. (Microsoft SQL Server, Error: 18452)"
Windows hesabınız ile, üyesi olmadığınız bir etki alanına (Domain) bağlanmaya çalışırsanız
Hata Açıklaması
bu hata ile karşılaşırsınız.
Windows hesabınız yerine, bir SQL Server Login' i kullanarak bağlanabilirsiniz.
Çözüm
Not: Bu durumda, karşı taraftaki SQL Server' ın "SQL Server and Windows Authentication
mode" için ayarlanmış olması gerekiyor.
SQL Server
SQL Server 2000, 2005 (Diğer versiyonlarda test edilmemiştir.)
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Cannot open user default database. Login failed. Login failed for user . (Microsoft SQL
Mesaj Başlığı
Server, Error: 4064)"
SQL Server' da, her Login için bir varsayılan veritabanı atanır. Bu işlem, Login' in
özelliklerinden yapılabilir.

Eğer bir Login' e, giriş hakkı olmayan bir veritabanı varsayılan veritabanı olarak atanırsa,
Hata Açıklaması
bu Login ile giriş yapmaya çalışan kullanıcınız bahsi geçen hatayı alır.

Ayrıca, eğer bir Login' in varsayılan veritabanı belirlendikten sonra, bu atanan


veritabanının adı değişir veya silinirse, Login, aynı hatayı alacaktır.
SQL Server veritabanı yöneticisinin, mevzubahis Login' in varsayılan veritabanı bilgisini,
Çözüm
Login' in giriş hakkı olan bir veritabanı olarak değiştirmesi yeterli olacaktır.
SQL Server
SQL Server 2000, 2005 (Diğer versiyonlarda test edilmemiştir.)
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"A connection could not be established to <sunucu_adi>. Reason: Login failed for user
Mesaj Başlığı <sunucu\kullanici_adi>. Reason: Server is in single user mode. Only one administrator can
connect at a time."
Bu sorun, SQL Server servisine başlangıç parametresi olarak "-m" koyup kaydettikten ve
sonra SQL Server servisini yeniden başlatmaya çalıştığınızda karşınıza çıkabilir.
Hata Açıklaması
"-m" parametresi, SQL Server servisini tek kişilik giriş izni vermek üzere başlatır.
SQL Server tek kişilik girişe izin verdiği için, eğer SQL Server Agent' ınız veya başka bir servis
(ki bu genelde SQL Server Agent olur) sizden önce SQL Server' a bağlanırsa siz SQL Server
Instance' ınıza bağlanamazsınız ve bu hata ile karşılaşırsınız.

Ayrıca, SQL Server 2005' te, SQL Server Starup Parameter (Başlangıç parametreleri) SQL
Server Configuration Manager ile değiştirilebilir. Yani bu parametreyi değiştirmek için, SQL
Server Management Studio' ya bağlanmak zorunda değilsiniz.

Fakat SQL Server 2000' de, bu ayarı değiştirebilmek için ilk önce SQL Server 2000' e
bağlanmak zorundasınız. Eğer bu hatayı alıyorsanız ve SQL Server Instance' ınıza Enterprise
Manager ile bağlanamıyorsanız, o zaman bu parametreyi de değiştiremezsiniz demektir.

Buna benzer şahit olduğum bir durumda, kullanıcı bu hata ile karşılaşmış ve SQL Server ile
ilgili tüm servisleri durdurduğu halde (SQL Server servisi hariç tabii) gene de EM kullanarak
Çözüm
SQL Server 2000 Instance' ına bağlanamamış ve bu ayarı da değiştirememişti. Bu yüzden
kendi dahil hiç bir kullanıcısı SQL Server' a bağlanamıyordu.

Bu sorunu çözmek için, Regedit' ten değişiklikler yapıldı. Değişikliğin yapıldığı yerin adresi
bizim durumumuzda şöyleydi: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL
Server\SQLSERVER2000\MSSQLServer\Parameters. Sizin durumunuzda farklı olabilir. Bu fark,
yüklediğiniz Intance' ın Default Instance veya Named Instance olmasına göre değişir. Ama
sanırım artık bakacağınız yeri biliyorsunuz...

Yapılan değişiklik ise, SQLArg anahtarlarından "-m" değerini içeren anahtarı silmek idi. Evet,
anlayacağınız üzre SQL Server Startup Parameters burada tutuluyor.

Bu arada, eğer bu sorun başınıza bir Küme (Cluster) ortamında geldiyse, unutmayın ki tüm
düğümlerden temizlemelisiniz bu anahtarı.
SQL Server
SQL Server 2000, 2005 (Diğer versiyonlarda test edilmemiştir.)
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"SQL Server Setup failed to execute a command for server configuration. The error was
[Microsoft][SQL Native Client][SQL Server]Windows NT user or group
Mesaj Başlığı
'COMPUTERNAME\SQLServer2005MSSQLUser$COMPUTERNAME$MSSQLSERVER' not found.
Check the name again.. Refer to the server error logs for detailed error information. "
Hata Bu sorunla, SQL Server 2005 Express Edition SP1' de karşılaşırsınız.
Açıklaması
Eğer aşağıdaki şartlar gerçekleşirse, bu sorun meydana gelir:

- Eğer Windows Vista işletim sistemi yüklü olan bilgisayarınızın bilgisayar adı küçük karakterler
içeriyor veya büyük küçük karışık karakterler içeriyorsa. Meselâ bilgisayar adınız "Bilgisayarım"
ise...

- Eğer SQL Server 2005 Express Edition SP1' i yüklerken SQL Server servisi için Collation ayarını
olarak case-sensitive (büyük küçük harf duyarlı) olarak belirlediyseniz.

Windows Vista, bilgisayar adı için gelen istekleri aşağıdaki iki yolla cevaplar:

- Windows Vista, bilgisayar adını büyük harflerle geri döndürür.

- Windows Vista, bilgisayar adını Sistem Özellikleri' nde olduğu gibi gerçek haliyle, yani karışık
haliyle geri döndürür.

SQL Server 2005 Express Edition' ın yüklenmesi esnasında, Setup programı bilgisayar adını
karışık karakterler olarak almak ister. Fakat, bunun yerine Windows Vista bilgisayar adını büyük
harflere dönüştürerek gönderir. Setup programı SQL Server Express Edition' ın yüklenmesi
esnasındaki diğer çeşitli yerlerde de ister. Windows Vista o zaman da bilgisayar adını karışık
karakterlerle gönderebilir.

SQL Server 2005 Express Edition Setup programı alınan bilgisayar isimlerini karşılaştırır. Genel
olarak, bu bir soruna neden olmaz çünkü bilgisayar isimleri Windows vistada büyük küçük harf
duyarlı değildir. Bununla birlikte, eğer SQL Server 2005 Express Edition' ı yüklerken büyük küçük
harf duyarlı ayarı yapılırsa, Windows Vista' dan alınan ve bazısı büyük küçük harf karışık, bazısı
da sadece büyük harf olan bilgisayar isimleri karşılaştırıldığında hata oluşur. Sonuç olarak da,
SQL Server 2005 Express Edition SP1' in yüklenmesi başarısızlıkla sonuçlanır.
Bunun için iki yol önerilir. Bunlar:

1- Bilgisayar adınızı sacede büyük harflerden oluşacak şekilde değiştirin. Meselâ "Bilgisayarim"
ise, "BILGISAYARIM" yapın ve ayarların etkin olabilmesi için bilgisayarınızı kapatıp yeniden
başlatın. Bununla birlikte, bilgisayar adınızı belirlerken Türkçe karakter kullanmamanızı tavsiye
ediyorum. Böyle küçük büyük harf değişimlerinde sorunlar yaşamanıza neden olabilir.
Çözüm
2- SQL Server 2005 Express Edition SP1' i yüklerken, Collation ayarlarında "case-sensitive"
(küçük-büyük harf duyarlı) seçeneğini seçmeyin.

Kaynak:
http://support.microsoft.com/kb/929105
SQL Server
SQL Server 2005 Express Edition SP1 (Diğer versiyonlarda test edilmemiştir.)
Versiyonu
İşletim
Windows Vista
Sistemi

"Microsoft SQL-DMO (ODBC SQLState: 42000) Too many backup devices specified for
Mesaj Başlığı
backup or restore; only 64 are allowed. RESTORE DATABASE is terminating abnormally."
SQL Server 2005' te yedeğini aldığınız bir veritabanını, bir SQL Server 2000 Instance' ında
Hata Açıklaması
açmaya (RESTORE) çalışırsanız bu hata ile karşılaşırsınız.
Bir SQL Server 2000 Instance' ında yedeğini aldığınız bir veritabanını bir SQL Server 2005
Instance' ında açabilirsiniz. Fakat bir SQL Server 2005 Instance' ında yedeğini aldığınız bir
veritabanını SQL Server 2000 Instance' ında açma gibi bir şansınız olmadığı için, bunu
denememenizi tavsiye ederim.
Çözüm
Eğer böyle bir şey yapmak istiyorsanız doğrudan yapamazsınız. Dolaylı olarak ise SQL
Server 2005' teki veritabanınızın DDL Script' i ile şemasını (Schema) çıkarıp SQL Server
2000 Instance' ında çalıştırabilir ve veritabanınızın iskeletini oluşturabilirsiniz. Bundan
sonra da verileri aktarmak için SSIS\DTS' i kullanabilirsiniz.
SQL Server
SQL Server 2000
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Device activation error. The physical file name <veritabanı_dosya_yolu> may be


Mesaj Başlığı
incorrect."
Hata Açıklaması SQL Server' da bir veritabanı oluşturmaya çalışırken alırsınız bu hatayı.
Veritabanını oluşturduğunuz yol, geçerli bir yol değildir veya yoktur. Yolun varolduğundan
Çözüm
emin olun. Bu yol için kullandığınız sürücülerin ve klasörlerin varlığını teyit edin.
SQL Server
SQL Server 2000, SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

Mesaj Başlığı "CREATE DATABASE failed. Could not allocate enough disk space for a new database on
the named disks. Total space allocated must be at least <dosya_boyutu> MB to
accommodate a copy of the model database."
SQL Server 2000' de Model veritabanının veri veya log dosyalarından daha ufak boyutlarda
Hata Açıklaması
veri veya log dosyaları olan bir veritabanı oluşturmaya çalışırken alırsınız bu hatayı.
Model veritabanınızın veri ve log dosyalarının boyutlarını küçülterek bu hatadan
Çözüm
kurtulabilirsiniz.
SQL Server
SQL Server 2000
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"The CREATE DATABASE statement failed. The primary file must be at least 3 MB to
Mesaj Başlığı
accommodate a copy of the model database."
SQL Server 2005' te Model veritabanının veri veya log dosyalarından daha ufak boyutlarda
Hata Açıklaması
veri veya log dosyaları olan bir veritabanı oluşturmaya çalışırken alırsınız bu hatayı.
Model veritabanınızın veri ve log dosyalarının boyutlarını küçülterek bu hatadan
Çözüm
kurtulabilirsiniz.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"'LandingPage' is not a valid value for setting 'ACTION'. Refer to Help for more
Mesaj Başlığı
information."
SQL Server 2008 November CTP Setup dosyasını çalıştırmayı denediğinizde bu hatayı
Hata Açıklaması
alabilirsiniz.
Denetim Masasındaki Bölge ve Dil Seçenekleri' nde bulunan Biçim' i Türkçe' den İngilizce'
Çözüm
ye çevirdiğinizde SQL Server 2008 November CTP Setup, kuruluma devam edebiliyor.
SQL Server
SQL Server 2008 November CTP
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Drop failed for Login 'Login_Adı'. The server principal owns an endpoint and cannot be
Mesaj Başlığı
dropped. (Microsoft SQL Server, Error: 15141)"
SQL Server 2005' te bir Login' i silmeye çalıştığınızda bu hata ile karşılaşabilirsiniz. Nedeni
de, bu Login' in sahip olduğu bir Endpoint' in bulunmasıdır.

SQL Server 2005' te Endpoint' ler veritabanı değil, sunucu bazındadırlar. Endpoint' lerinize
SSMS (SQL Server Management Studio) ile, Object Explorer penceresindeki Server
Hata Açıklaması
Object\Endpoints düğümleri altından da ulaşabilirsiniz.

Not: Endpoint' ler SSMS arayüzünden oluşturulamazlar. Sadece T-SQL kullanılarak CREATE
ENDPOINT komutlarıyla oluşturulabilirler. Endpoint' ler hakkında daha fazla bilgi için
buraya tıklayınız.
Bu hatayı almamak için, önce silmek istediğiniz Login' e ait Endpoint' leri kaldırmanız
gerekiyor.

Bunun için, yukarıda anlattığım şekilde Endpoint' lerinizi bulabilirsiniz. Bulduğunuz


Çözüm
Endpoint' lerin hangi Login için yetkilendirdiğini bulmak için de, SSMS yoluyla bulduğunuz
Endpoint' in üzerinde farenin sağ tuşuna tıklayıp Script Endpoint as: CREATE To
seçeneklerini kullanabilirsiniz. Açılan sorgulama penceresinde AUTHORIZATION kısmını
kontrol edebilirsiniz.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

Mesaj Başlığı SQL Server Configuration Manager:


The request failed or the service did not respond in a timely fashion. Consulf the event log
or other applicable error logs for details.
Event Log:
"The SQL Server ('Instance_Adı') service failed to start due to the following error:
The service did not start due to a logon failure."
SQL Server servisini başlatmaya çalıştığınızda alırsınız bu hatayı. Nedeni ise, SQL Server
servis hesabının şifresinin değiştirilmesidir. Fakat SQL Server servisinin şifresi
güncellenmemiştir.

Biraz karışık oldu gibi, şöyle anlatmaya çalışayım. Meselâ kendi başına çalışan (Stand-
Alone) bir SQL Server' ınız var. SQL Server Insance' ınız için bir kullanıcı hesabı
oluşturdunuz. Daha sonra bu hesabını, SQL Server Instance' ınızı çalıştıracak şekilde
Hata Açıklaması
ayarladınız. Fakat bir şey oldu ve bu servis hesabının şifresini değiştirmeniz gerekti.
Yönetimsel Araçlardan Bilgisayar Yönetimi' ne gittiniz ve hesabın şifresini değiştirdiniz.
Fakat hesabı kullanan servislerdeki bilgiler otomatik olarak güncellenmez. Meselâ Services
MMC veya SQL Server Configuration Manager yoluyla ulaşabileceğiniz SQL Server
servisinin hesabı, eskisi olarak kalacaktır. Ve siz SQL Server Instance' ınızı çalıştırmaya
çalıştığınızda bu hatayı alırsınız. Çünkü servis hâlâ eski kullanıcı şifresini kullanarak
çalışmaya çalışıyordur.
SQL Server Instance' ınızın servis hesabı bilgilerini güncellemelisiniz. Bunu iki pratik yolla
yapabilirsiniz:

1- Başlat\Çalıştır "Services.msc" yazıp Tamam düğmesine tıklayın. Açılan pencerede ilgili


SQL Server servisinizi bulun. Özellikler' inden gerekli şifre güncellemesini yapın.
Çözüm
2- SQL Server Configuration Manager' ı başlatın. SQL Server 2005 Services düğümüne
tıklayın ve ilgili SQL Server servisini bulup, gerekli şifre güncellemesini yapın.

Not:
Bu sorun sadece SQL Server servisleri için değil, tüm servileriniz için geçerlidir.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

Mesaj Başlığı "A severe error occurred on the current command."


SQL Server 2000 veya 2005' in tüm sürümlerinde, bazı sorgu veya Stored Procedure' leri
Hata Açıklaması
çalıştırmayı denediğinizde bu hata ile karşılaşabilirsiniz.
SQL Server 2000:
SQL Server 2005' te bu hata için bir FIX üretti Microsoft. Bu FIX de SQL Server 2005' in
Servis Paketi 1' inin içinde bulunmaktadır.

Bu sorunu gidermek için SQL Server 2005' in en son Servis Paketini yüklemenizi öneririm.

Daha fazla bilgi almak için:


http://support.microsoft.com/kb/896373
Çözüm
SQL Server 2005:
SQL Server 2005' te bu hata için bir FIX üretti Microsoft. Bu FIX de SQL Server 2005' in
Servis Paketi 1' inin içinde bulunmaktadır.

Bu sorunu gidermek için SQL Server 2005' in en son Servis Paketini yüklemenizi öneririm.

Daha fazla bilgi almak için:


http://support.microsoft.com/kb/910416/en-us
SQL Server
SQL Server 2000, 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Connections to SQL Server files (*.mdf) require SQL Server Expres 2005 to function
Mesaj Başlığı properly. Please verify the installation of the component or download from the URL:
http://go.microsoft.com/fwlink/?LinkId=49251"
Hata Açıklaması Visual Studio 2005' te, Projenize bir Veritabanı eklemek istediğinizde bu hata ile
karşılaşabilirsiniz.

Nedeni, Veri Bağlantıları (Data Connections)' ndaki "SQL Server Instance Name" ayarının
yanlış yapılandırılmasından kaynaklanıyor.
Visual Studio 2005' teki "SQL Server Instance Name" ayarını doğru bir şekilde yapılandırmak
için Visual Studio 2005' i çalıştırın. Daha sonra sırasıyla aşağıdaki adımları izleyin:

- "Tools",
- "Options...",
Çözüm
- "Database Tools",
- "Data Connections",
- "SQL Server Instance Name" kutusuna geçerli bir SQL Server 2005 Express Edition
Instance' ının adını girin. Eğer SQL Server Instance' ınızı "Default Instance" olarak
kullanıyorsanız, o zaman bu kutuyu boş bırakın.
SQL Server
SQL Server 2005 Express Edition
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Database 'veritabani_adı' cannot be opened due to inaccessible files or insufficient


Mesaj Başlığı memory or disk space. See the SQL Server errorlog for details. (Microsoft SQL Server,
Error: 945)"
Veri ve Log dosyaları silinmiş bir veritabanına ulaşmaya çalıştığınızda bu hata ile
Hata Açıklaması
karşılaşırsınız.
Dosyalar zaten silindiği için yapabileceğiniz pek bir şey yoktur. En son aldığınız yedekten
Çözüm
geri dönmeye çalışmanızı öneririm.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Create maintenance plan failed. Create failed for JobStep 'Subplan'.


Mesaj Başlığı
(Microsoft.SqlServer.MaintenancePlanTasks)"
Eğer SQL Server 2005' in RTM (Release to Manufacturer) versiyonunu (9.00.1399.x)
Hata Açıklaması kullanıyorsanız ve SSIS yüklememişseniz, Maintanence Plan oluşturmaya çalıştığınızda bu
hatayı alırsınız.
Bu hatayı almadan, SQL Server 2005' te Maintanence Plan oluşturmak için ya en az SQL
Server 2005 Servis Paketi 1' i yüklemelisiniz, ya da SSIS' i yüklemelisiniz.
Çözüm
En azından SQL Server 2005 SP1' i yükledikten sonra, SSIS' i yüklemek zorunda kalmadan
Maintanence Plan oluşturabilirsiniz.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"An error has occurred while establishing a connection to the server. When connecting to
SQL Server 2005, this failure may be caused by the fact that under the default settings
Mesaj Başlığı SQL Server does not allow remote connections. (provider: TCP Provider, error: 0 - No
connection could be made because the target machine actively refused it.) (Microsoft SQL
Server, Error: 10061)"
Bağlanmaya çalıştığınız SQL Server 2005 Instance' ına ait SQL Server servisi çalışmıyorsa
Hata Açıklaması
bu hatayı alırsınız.
SQL Server servisinizin çalıştığından emin olun. Bunun için:

- Başlat\Programlar\Microsoft SQL Server 2005\Configuration Tools' tan SQL Server


Configuration Manager' ı çalıştırın ve "SQL Server 2005 Services" düğümünden ilgili
Çözüm Instance' a ait SQL Server servisinizin çalışıp çalışmadığını kontrol edin.

- Services MMC' den ilgili SQL Server Instance' ınıza ait SQL Server servisini kontrol edin.
(Services MMC' yi başlatmak için Başlat\Çalıştır: "services.mmc" yazıp "Tamam" düğmetine
tıklayın.)
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

Mesaj Başlığı "Ad hoc update to system catalogs is not supported."


Eğer SQL Server 2005 Instance' ınızdaki "allow updates" seçeneği etkin ise, aşağıdaki örnek
kodu çalıştırdığınızda bu hatayı alırsınız.

=============================
Hata Açıklaması sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE
GO
=============================
Eğer 'allow updates' seçeneğini etkin halde bırakmak istiyorsanız o zaman yukarıdaki kodu
şöyle yazın:

=============================
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE WITH OVERRIDE
GO
=============================
Çözüm
Eğer 'allow updates' seçeneğini sp_configure Stored Procedure' ünü kullanarak etkisiz hale
getirirseniz, o zaman ilk çalıştırmayı deneyip hata aldığınız kodu gene aşağıdaki şekilde
çalıştırabilirsiniz:

=============================
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE
GO
=============================
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Error 0xc002f210: Preparation SQL Task: Executing the query "" failed with the following
error: "Retrieving the COM class factory for component with CLSID {...} failed due to the
Mesaj Başlığı following error: 80040154. Possible failure reasons: Problems with the query, "ResultSet"
property not set correctly, parameters not set correctly, or connection not established
correctly."
Export Wizard ile veri vermeye çalıştığınızda bu hata ile karşılaşabilirsiniz. Nedeni ise SQL
Hata Açıklaması
Server Agent Servisinin çalışmıyor olmasıdır.
Export \ Import Wizard' ı kullanmadan önce SQL Server Agent Servisinin çalıştığından
emin olun.
Çözüm
Bunun için SQL Server Configuration Manager veya Services MMC' yi kullanabilirsiniz.
SQL Server
SQL Server 2005 (9.0.1399)
Versiyonu
İşletim Sistemi Bu sorunla tüm v

"Error Source: Microsoft OLE DB Provider for SQL Server Error


Mesaj Başlığı
Description:[DBNETLIB][ConnectionOpen (Invalid Instance()).]Invalid connection."
SQL Server 2000 Enterprise Manager' dan başka bir SQL Server 2005 Instance' ına
Hata Açıklaması
bağlanmaya çalıştığınızda bu hatayı alırsınız.
SQL Server 2005' in yönetim arayüzü olan SQL Server Management Studio kullanarak bir
Çözüm SQL Server 2000 Instance' ına bağlanabilirsiniz; fakat aynı şeyin tersini, yani Enterprise
Manager kullanarak bir SQL Server 2005 Instance' ına bağlanamazsınız.
SQL Server
SQL Server 2000
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.
"Error 5(error not found) occurred while opening file 'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\DATA\master.mdf' to obtain configuration information at startup.
Mesaj Başlığı
An invalid startup option might have caused the error. Verify your startup options, and
correct or remove them if necessary."
SQL Server 2005 Instance' ınızı başlattığınızda, Olay Görüntüleyici (Event Viewer)' da böyle
bir hata alabilirsiniz.

Bu hatanın benim karşılaştığım sebebi, SQL Server servisi için kullanılan hesabın, hatada
belirtilen dosya yolu için yeterli izinlerinin olmamasıydı.
Hata Açıklaması
Meselâ, SQL Server servis hesabının örnekteki DATA klasörüne erişim hakkı yoktu.

Not: Tek erişim sorunu bu klasörle sınırlı değildir. Bu Instance ile ilgili tüm klasörlerin erişim
haklarını kontrol etmeniz gerekebilir.
Çözüm SQL Server servis hesabına gerekli erişim haklarını verdiğinizde, bu sorun çözülecektir.
SQL Server
SQL Server
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"System.Data.SqlClient.SqlError: The operating system returned the error '32(error not


Mesaj Başlığı found)' while attempting 'RestoreContainer::ValidateTargetForCreation' on
'C:\test\mydb.mdf'. (Microsoft.SqlServer.Smo)"
SQL Server' da bir yedek dosyasını açmaya (Restore) çalıştığınızda bu hatayı alabilirsiniz.

Yedek dosyayı açamıyorsunuz, çünkü açmaya çalıştığınız dosyaların aynıları o anda zaten
açık ve kullanılıyor.

Meselâ yedek dosyanızı SQL Server 2005' in yönetim arayüzü olan SQL Server Management
Studio' dan açtığınızı varsayalım.
Hata Açıklaması
SSMS' teki "Restore Database" penceresinde bulunan "Options" penceresinde "Restore the
database files as:" listesi bulunmaktadır. İşte bu liste, yedeğinizin içerisindeki veritabanı
dosyalarını içerir.

Bu hata durumunda ise sizin yapmaya çalıştığınız, bu listede belirtilen isimlerde ve yollardaki
dosyaları, zaten bu isim ve yollarda bulunan dosyaların üzerine kaydetmeye çalışmaktır.
Fakat çalışan dosyanın üzerine kaydedemeyeceğiniz için, bu hatayı alırsınız.
SSMS' teki "Restore Database" penceresinde bulunan "Options" penceresinde "Restore the
Çözüm database files as:" listesindeki dosya yolu veya dosya adı bilgilerinde değişiklik yaparak
sorunu çözebilirsiniz.
SQL Server
SQL Server
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaş

"The server network address "TCP://Ekrem-PC.MyServer.local:5022" can not be reached or


Mesaj Başlığı does not exist. Check the network address name and that the ports for the local and
remote endpoints are operational. (Microsoft SQL Server, Error: 1418)"
SQL Server 2005' te Database Mirroring' in güvenlik yapılandırma ayarını yaptıktan sonra,
Hata Açıklaması Database Mirroring işlemini başlatmak için "Start Mirroring" düğmesine tıklarsınız ve
ardından bu hatayı alırsınız.
Database Mirroring yapılandırmasına geçmeden önce, veritabanlarını Database Mirroring
işlemine hazırlamamız gerekir.

Ana \ kopyalanacak veritabanımızın (Principal) aynısının yedeğini alıp, kopya (Mirror)


görevini üstlenecek SQL Server Instance' ına açarız (Restore). İşte bu işlem esnasında,
Çözüm
Mirror veritabanının Recovery State' inin "NORECOVERY" olmasına dikkat etmelisiniz. Aksi
takdirde bu hatayı alırsınız.

Database Mirroring hakkında daha fazla bilgi için buraya tıklayarak bu konudaki makalemi
okuyabilirsiniz.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"The mirror database, "Veritabanim", has insufficient transaction log data to preserve the
log backup chain of the principal database. This may happen if a log backup from the
Mesaj Başlığı
principal database has not been taken or has not been restored on the mirror database.
(Microsoft SQL Server, Error: 1478)"
SQL Server 2005' te Database Mirroring' in güvenlik yapılandırma ayarını yaptıktan sonra,
Hata Açıklaması Database Mirroring işlemini başlatmak için "Start Mirroring" düğmesine tıklarsınız ve
ardından bu hatayı alırsınız.
Database Mirroring yapılandırmasına geçmeden önce, veritabanlarını Database Mirroring
işlemine hazırlamamız gerekir.

Ana \ kopyalanacak veritabanımızın (Principal) aynısının yedeğini alıp, kopya (Mirror)


görevini üstlenecek SQL Server Instance' ına açarız (Restore). Daha sonra, Principal
Çözüm veritabanının bir de Transaction Log yedeğini almalı ve bunu da Mirror' daki veritabanına
uygulamalıyız. Bu işlemden sonra bu hatayı almamanız gerekiyor. Database Mirroring
hakkında daha fazla bilgi için bu konudaki makalemi okuyabilirsiniz.

Database Mirroring hakkında daha fazla bilgi için buraya tıklayarak bu konudaki makalemi
okuyabilirsiniz.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Microsoft SQL Native Client (0x80004005)


Mesaj Başlığı
Subquery returned more than 1 value. This is not permitted when the subquery
follows =, !=, <, <= , >, >= or when the subquery is used as an expression."
Hata Açıklaması T-SQL' da eğer bir değişkene birden fazla değer atanmaya çalışılırsa bu hata alınır.
Çözüm Bir değişkene bir seferde sadece bir kayıt atanabilir.
SQL Server
SQL Server
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

Mesaj Başlığı "The database "Veritabanı_adı" cannot be opened. It is acting as a mirror database."
SQL Server 2005' te Database Mirroring' teki Mirror görevini üstlenen veritabanına
Hata Açıklaması SELECT, INSERT, UPDATE, DELETE gibi işlemler yapmaya çalışırsanız, bu hata ile
karşılaşırsınız.
SQL Server 2005 ile SQL Server Failover Clustering' e alternatif olarak kullanılmaya
başlanan Database Mirroring teknolojisinde, Mirror görevini üstlenen veritabanında
herhangi bir değişiklik veya sorgulama yapılamaz.
Çözüm
Bununla birlikte, Mirror görevini ifa eden veritabanının Database Snapshot' ı alınarak
ancak böyle raporlama amaçlı olarak kullanılabilir. Yani sadece SELECT 'i kullanabilirsiniz.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Unable to cast object of type 'Microsoft.SqlServer.Management.Smo.SimpleObjectKey' to type


Mesaj Başlığı
'Microsoft.SqlServer.Management.Smo.Agent.JobObjectKey'. (Microsoft.SqlServer.Smo)"
Hata Açıklaması SQL Server 2005' te yeni bir Job oluşturmaya çalıştığınızda bu hatayı alabilirsiniz.
Çözüm SQL Server 2005 Servis Paketi 2' yi yüklemeniz bu sorunu çözecektir.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"'Void Microsoft.SqlServer.Management.DatabaseMaintenance.TaskUIUtils..ctor()'.
Mesaj Başlığı
(Microsoft.SqlServer.MaintenancePlanTasksUI)"
Hata
SQL Server 2005' te yeni bir Maintanence Plan oluşturmaya çalıştığınızda bu hatayı alabilirsiniz.
Açıklaması
Çözüm SQL Server 2005 Servis Paketi 2' yi yüklemeniz bu sorunu çözecektir.
SQL Server
SQL Server 2005
Versiyonu
İşletim
Bu sorunla tüm versiyonlarda karşılaşılabilir.
Sistemi

"The remote copy of database "Veritabani_adi" has not been rolled forward to a point in
Mesaj Başlığı time that is encompassed in the local copy of the database log. (Microsoft SQL Server,
Error: 1412)"
SQL Server 2005' te Database Mirroring' i başlatmaya çalıştığınızda bu hatayı alabilirsiniz.
Hata Açıklaması
Nedeni, Mirror veritabanını açarken (Restore) kullandığınız Transaction Log dosyasının,
Primary (Esas) veritabanındaki kayıtları yakalamaya yeterli olacak kadar yeni olmamasıdır.
Database Mirroring işlemi için kullanılacak kaynak veritabanı olan Primary veritabanının
Transaction Log yedeğini alıp, mümkün olan en kısa sürede Mirror görevini üstlenecek
veritabanına uygulamak (Restore) ve hemen Database Mirroring' i başlatmak bu sorunu
çözecektir.
Çözüm
Eğer Primary veritabanının hızına yetişemiyorsanız, kullanıcıların Primary veritabanında
değişiklik yapmasını engelleyin ve öyle Transaction Log yedeğini alıp Mirror veritabanına
uygulayın ve Database Mirroring işlemini başlattıktan sonra Primary veritabanını tekrar
kullanılabilir duruma getirin.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Database diagram support objects cannot be installed because this database does not
have a valid owner. To continue, first use the Files page of the Database Properties dialog
Mesaj Başlığı
box or the ALTER AUTHORIZATION statement to set the database owner to a valid login,
then add the database diagram support objects."
SQL Server 2005 Instance' ınıza, başka bir Instance' tan bir veritabanı taşıdığınızda ve bunu
Hata Açıklaması iliştirdiğinizde (Attach) veya açtığınızda (Restore) ve bu veritabanında bir Database
Diagram oluturmaya çalıştığınızda bu hatayı alabilirsiniz.
Bu sorunu çözmek için aşağıdaki kod bloğunu kendi ortamınıza göre ayarlayıp
kullanabilirsiniz.

EXEC sp_dbcmptlevel 'Veritabanınızın_adı', '90';


go
Çözüm ALTER AUTHORIZATION ON DATABASE::Veritabanınızın_adı TO "Logininiz"
go
use [Veritabanınızın_adı]
go
EXECUTE AS USER = N'dbo' REVERT
go
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"The report server has encountered a configuration error. Access denied to the path
Mesaj Başlığı 'c:\program files\microsoft sql server\mssql.3\reporting
services\reportserver\rsreportserver.config' is denied."
SQL Server 2005' i yükledikten sonra Report Manager' ı açmaya çalıştığınızda böyle bir hata
Hata Açıklaması
alabilirsiniz.
ASNET hesabına "rsreportserver.config" dosyası için READ izni vermeniz bu sorunu
Çözüm
çözecektir.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.
"SQL Server replication does not support nicknames, such as "." or "(local)", as server
Mesaj Başlığı
names."
SQL Server 2000' de Replication için publisher, distributor vs. ayarlamaya çalıştığınızda bu
Hata Açıklaması
hatayı alabilirsiniz.
Enterprise Manager' daki SQL Server Group altında bulunan (ve muhtemelen "local" olan)
SQL Server Registration' ınızı silmelisiniz ve sunucu adınızın kullanıldığı bir SQL Server
Registration oluşturmalısınız.

Bunun için
Çözüm
- Enterprise Manager' ı açın
- SQL Server Group altında bulunan ve adı (local) olan SQL Server Registration' ınızı silin
(üzerinde sağ tuşa tıklayıp "Delete SQL Server Registration")
- SQL Server Group üzerindeyken "New SQL Server Registration" a tıklayın.
- Listeden Instance' ınızın seçin ve kaydedin.
SQL Server
SQL Server 2000
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Executing the query "EXECUTE master.dbo.xp_delete_file 0,N'',N'',N'2007-11-


14T13:06:42' " failed with the following error: "Error executing extended stored procedure:
Mesaj Başlığı
Invalid Parameter". Possible failure reasons: Problems with the query, "ResultSet" property
not set correctly, parameters not set correctly, or connection not established correctly."
SQL Server 2005' te Maintanence Plan kullanarak oluşturduğunuz bir Maintanence Cleanup
Task' teki Folder değerini boş bırakırsanız bu hatayı alırsınız.

Hatanın oluşumu şöyle:


- SSMS' i açın
Hata Açıklaması
- Management' tan Maintanence Plans' e gidin.
- Sağ tuş, Mailtanence Plan Wizard' a tıklayın.
- Bir Maintanence Cleanup Task oluşturmaya başlayın ve Define Maintanence Cleanup Task
penceresine geldiğinizde Folder metin kutusuna gerekli yol değerini girmezseniz ve boş
bırakırsanız, bu hatayı alırsınız.
MAintanence Cleanup Task' i oluştururken karşınıza gelen Define Maintanence Cleanup
Çözüm Task penceresindeki Folder metin kutusuna veritabanı yedeklerinizi tuttuğunuz geçerli bir
yol değeri girin.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"A strong SA password is required for security reasons. Please use SAPWD switch to
Mesaj Başlığı
supply the same. Refer to readme for more details. Setup will now exit."
SQL Server 2000 MSDE kurmaya çalışırken bu mesaj ile karşılaşabilirsiniz.
Hata Açıklaması
Aslında bu bir hata değil, bilgilendirme amaçlı bir uyarıdır; fakat kuruluma devam
etmenize müsaade etmez, bu nedenle kurulumdan çıkılır.
Bu sorunu çözmek için Başlat\Çalıştır' a tıklayıp, SQL Server' ın setup.exe' sinin yolunu
yazıp yanına da bir boşluk bırakıp SAPWD="Şifre" yazmanız gerekir.
Çözüm
Aşağıdaki örnek gibi:

Setup.exe SAPWD="SA-S1frem"
SQL Server
SQL Server 2000 MSDE
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Msg 8152, Level 16, State 4, Line 1 String or binary data would be truncated. The
Mesaj Başlığı
statement has been terminated."
Hata Açıklaması Bir tabloda bulunan sütundaki karakter uzunluğundan fazla karakter girmeye çalışırsanız
bu hata ile karşılaşırsınız ve bilgi girme işleminiz iptal olur.
Meselâ "Tablom" adında bir tablonuz var ve şeması da aşağıdaki gibi:

CREATE TABLE Tablom


(No Int Identity(1,1) PRIMARY KEY,
Ad nvarchar(10),
Soyad nvarchar(10),
)

Bu tabloya eğer aşağıdaki gibi bir veri girmeye çalışırsanız sorun olmaz:
INSERT INTO Tablom VALUES('Ekrem', 'Önsoy')

Fakat şöyle bir veri girmeye çalışırsanız hata alırsınız:


INSERT INTO Tablom VALUES('Abdulrezzak', 'Önsoy')

Çünkü "Abdulrezzak" adı, tabloyu oluştururken "Ad" sütununa atadığımız 10 karakterlik


uzunluğu geçmektedir. Bu nedenle de veri kaydedilemez ve işlem bu hata ile sonuçlanır.
Sütununuzun karakter genişliğini arttırın. Meselâ yukarıdaki örneğimizden devam edersek,
"Ad" sütununun nvarchar veritipinin karakter genişliğini 15 yaparsak "Adbulrezzak" ismiyle
Çözüm
ilgili bir sorun yaşamayız. Tabii diğer isimleri de gözönünde bulundurarak ihtiyacınıza göre
daha geniş bir karakter aralığı tanımlayabilirsiniz.
SQL Server
SQL Server
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Setup failed to configure the server. Refer to the server error logs and setup error logs for
more information."

ya da

"Setup failed to configure the server. Refer to the server error logs and sqlstp.log for more
information. "
Mesaj Başlığı
ve Log dosyasının içinde:

"SQL_Latin1_General_CP1_CI_AS -m -Q -T4022 -T3659


Connecting to Server ...
driver={sql server};server=MyServer;UID=sa;PWD=;database=master [Microsoft][ODBC SQL
Server Driver][Shared Memory]General network error. Check your network documentation.
[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionRead (recv()). "
SQL Server 2000' i kurmaya çalıştığınız bilgisayar adı büyük ve küçük harflerden karmaşık bir
şekilde oluşuyorsa veya bilgisayar adının tamamı küçük harflerden oluşuyorsa bu hatayı
Hata Açıklaması alırsınız.

Örnek: "BiLGiSaYaRıM", "bilgisayarım".


Bilgisayar adınızı aşağıdaki örnekteki gibi değiştirip SQL Server 2000' ininizi tekrar kurmayı
deneyin.

Çözüm Örnek: "BILGISAYARIM"

Daha fazla bilgi için aşağıdaki adresi kullanabilirsiniz:


http://support.microsoft.com/kb/285100
SQL Server
SQL Server 2000
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Msg 3159, Level 16, State 1, Line 1

The tail of the log for the database "Sirketim" has not been backed up. Use BACKUP LOG
WITH NORECOVERY to backup the log if it contains work you do not want to lose. Use the
Mesaj Başlığı WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite the
contents of the log.

Msg 3013, Level 16, State 1, Line 1


RESTORE DATABASE is terminating abnormally."
Hata Açıklaması Bu hata mesajını bir veritabanını açmaya (Restore) çalıştığınızda alırsınız.
Hatanın nedeni ise, açmaya çalıştığınız veritabanının kopyasının, üzerine açmaya
çalıştığınız veritabanından daha eski olmasıdır.

Meselâ "Sirketim" isimli veritabanınızın yedeğini en son 22 Aralık 2007 tarihinde aldınız.
Bundan sonra veritabanı üzerinde tasarım olarak veya veri girişi olarak güncellemeler
oldu. Ayın 23' ünde, ayın 22' sinde aldığınız yedeği bir nedenden dolayı Sirketim
veritabanının üzerine açmak istediniz. İşte o zaman bu hatayı alırsınız.
Aslına bakarsanız bu bir çeşit koruma sistemidir. Maksat, yeni verilerinizin üzerine
yanlışlıkla eski verilerinizin yazılmasını önlemektir ve bu özellik SQL Server 2005 ile birlikte
geldi.

Bu koruma sistemini açmak için (ki aslında uyarı mesajının içerisinde de çözümü söylüyor)
iki yöntem kullanabilirsiniz.

Çözüm 1. Yöntem: Veritabanınızın en güncel Log yedeğini alarak (NO_TRUNCATE ve


NORECOVERY parametrelerini kullanarak), yedeğinizi mevcut veritabanının üzerine
açabilirsiniz.

2. Yöntem: Bu yöntemde RESTORE komutuyla birlikte REPLACE parametresini kullanarak


(hiç yedek almadan) eski yedeğinizi halihazırdaki veritabanınızın üstüne açabilirsiniz. Bu
yöntemde dikkate almanız gereken şey, bu açtığınız yedeği aldığınız tarihten sonra
veritabanınızdaki yapılan tüm değişiklikler kaybolacaktır.
SQL Server
SQL Server 2005
Versiyonu

İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Generating user instances in SQL Server is disabled. Use sp_configure 'user instances enabled'
Mesaj Başlığı
to generate user instances."
Visual Studio kullanarak bir veritabanı oluşturmaya çalıştığınızda veya veritabanı ile ilgili başka
Hata Açıklaması
bir işte bu hata ile karşılaşabilirsiniz.
Eğer SQL Server 2005 Express Edition with Advanced Services kullanıyorsanız, SQL Server
Management Studio Express bu paket ile bilirkte geliyor zaten ve kurulum esnasında
işaretlemişseniz bu araç da kurulmuş demektir.

Eğer SQL Server 2005 Express Edition kullanıyorsanız, SQL Server Management Studio aracı bu
sürümle birlikte gelmez. Bu araç ücretsizdir ve aşağıdaki adresten edinilebilir.

SQL Server Management Studio Express

Bu aracı indirdikten sonra üzerinde çalıştığınız (veritabanı oluşturmaya çalıştığınız) SQL Server
Instance' ına bağlanın. Aracın sol üst köşesinde New Query düğmesini göreceksiniz. Buna tıklayın
Çözüm ve açılan sorgu düzenleme penceresine aşağıdaki kodu yazın ve çalıştırın:

==============================
EXEC sp_configure 'user instances enabled', 1;
GO
RECONFIGURE
GO
==============================

Bu kod, "User Instances" seçeneğini etkin hale getirecektir. Böylece bu hatayı almayacaksınız.

"User Instance" Hakkında daha fazla bilgi için... (İngilizce)


SQL Server
SQL Server 2005 Express Edition
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"A connection was successfully established with the server, but then an error occurred
Mesaj Başlığı during the login process. (provider: Shared Memory Provider, error: 0 - No process is on
the other end of the pipe.) (Microsoft SQL Server, Error: 233)"
SQL Authentication modunda bir SQL Login ile SQL Server' ınıza giriş yapmaya
Hata Açıklaması
çalıştığınızda bu hata ile karşılaşabilirsiniz.
Ben bu hata ile iki kere karşılaştım şimdiye kadar ve ikisinde de ilgili kullanıcılar doğru
sandıkları bir şifre ile ve SQL Login kullanarak SQL Server' a bağlanmaya çalışıyorlardı.

Misal olarak, kullanıcının bilgileri aslında aşağıdaki gibi:


Kullanıcı adı= sa
Kullanıcı şifresi = xxx

Ama kullanıcı aşağıdaki bilgilerle giriş yapmaya çalışıyor:


Kullanıcı adı= sa
Kullanıcı şifresi = xyx

Şifresinin doğru olduğundan emin, ama aslında değil. Yani demeye çalıştığım şu, eğer bu
hata ile karşılaşıyorsanız şifrenizin doğru olduğundan emin olun.

Bu hata ile ilgili daha ayrıntılı bilgiye ilgili SQL Error Log' undan ulaşabilirsiniz. SQL Server'
da doğrudan kullanıcıya verilen ve güvenlikle ilgili olan hata mesajlarının üzerleri güvenlik
nedeniyle kapalıdır. Güvenlik konusunda SQL Server' ın verdiği hata mesajlarını daha iyi
anlayabilmek için SQL Error Log' una bakmakta çok fayda vardır.
Çözüm
Meselâ yukarıdaki hatanın bahsettiğim iki gördüğüm örnekte de SQL Error Log' daki
karşılığı şuydu:

"Login failed for user '...'. (Microsoft SQL Server, Error: 18456)

Bu da, '...' kullanıcısı için girilen şifre yanlış demektir.

Not:
Bu durumda hata mesajını mesaja göre değil, hata numarasna göre yorumluyorum. Başka
durumlarda ve hata mesajı numaralarında hatanın sebebi daha farklı olabilir.

Ayrıca, bu hatayı bir hesabın durumunun (Status) kullanılamaz (Disabled) olması


durumunda da alabilirsiniz.

SQL Server' da varsayılan olarak "sa" hesabının durumu kullanılamazdır (Disabled).


Hesabınızı kullanılabilir (Enabled) yaptığınızda da bu sorunu çözebilirsiniz. Bunun için
SSMS' i açın ve Security\Logins düğümüne gidin. Orada ilgili kullanıcıyı seçip özelliklerine
gidin ve "Status" seçeneğini uygun şekilde ayarlayın.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

Mesaj Başlığı "The instance name specified is invalid."


Hata Açıklaması SQL Server MSDE kurmaya çalıştığınızda bu hata mesajı ile karşılaşabilirsiniz.
Sorun (şimdiye tecrübe ettiğim tüm örneklerde), kurmaya çalıştığınız SQL Server instance'
ının zaten önceden de aynı sistemde kurulu olmasından kaynaklanıyor.

Meselâ bilgisayarınızda herhangi bir SQL Server versiyonu ve sürümünün Default Instance
(Varsayılan Örnek)' ı var. Siz de MSDE' yi kurmak için Setup.exe' sinin üstüne çift tıklayıp
çalıştırdığınızda veya güçlü bir SA şifresi girerek komut satırından çalıştırmayı denediğinizde
(eğer INSTANCENAME seçeneğini kullanmamışsanız) MSDE, SQL Server' ı Default Instance
Çözüm olarak kurmaya çalışacaktır. Bir sistemde sadece bir tane SQL Server Default Instance' ı
olabileceği kuralından yola çıkarsak, bu şekilde MSDE' yi kuramayacağınız sonucuna varırız.

"The instance name specified is invalid." hata mesajını aldıktan sonra MSDE' nin Setup' ını
aşağıda verdiğim örneği kendi ortamınıza uyarlayarak çalıştırırsanız sorununuzun büyük
ihtimalle çözüleceğini umuyorum.

C:\MCDE\Setup.exe INSTANCENAME="TestInstance" SAPWD="gUcLuS@S1fr3M"


SQL Server
SQL Server 2000 MSDE
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"The statement BACKUP LOG is not allowed while the recovery model is SIMPLE. Use
Mesaj Başlığı
BACKUP DATABASE or change the recovery model using ALTER DATABASE."
Hata Açıklaması Recovery Model' ı SIMPLE olan bir veritabanınızın Transaction Log yedeğini almaya
çalıştığınızda bu hatayı alırsınız.
Recovery Model' ı SIMPLE olan bir veritabanının Transaction Log yedeği alınamaz. Çünkü
Recovery Model' ı SIMPLE olan bir veritabanındaki Pasif Sanal Log' lar her Checkpoint' te
otomatik olarak silinirler.
Çözüm
Recovery Model' lar konusunda daha fazla bilgi almak için "Recovery Models: FULL, BULK
LOGGED, SIMPLE" isimli makalemi okuyabilirsiniz.
SQL Server
SQL Server 2000, 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"The transaction log for database 'verıtabanı adı' is full. To find out why space in the log
Mesaj Başlığı
cannot be reused, see the log_reuse_wait_desc column in sys.databases"
Veritabanınızda bir işlem yaptığınızda bu hatayı alabilirsiniz. Bu hata, Transaction Log
Hata Açıklaması dosyanızda yeteri kadar yer olmadığından, yaptığınız işlemin Transaction Log dosyasına
kaydedilememesinden kaynaklanmaktadır.
Transaction Log dosyanızın, yaptığınız işlemi kaldırabilecek kadar büyük olduğundan emin
olun.

Meselâ bazı ortamlarda DML işlemlerinin çok sık olduğunu, fakat Transaction Log
dosyasının Auto Growth seçeneğinin sadece 1MB veya 5-10% olduğunu görüyorum.
Çözüm Performans açısından çok büyük bir darbedir bu. Ayarlarınızı tekrar gözden geçirmelisiniz.
Hatta bazıları Auto Growth' u kullanmıyorlar ve böylece Transaction Log dosyası
dolduğunda veritabanınız kullanılamaz hale geliyor.

Eğer Transaction Log dosyanız için Auto Growth (Otomatik büyüme) seçeneği ortamınıza
göre uygun bir şekilde ayarlanmamışsa, ayarları tekrar gözden geçirin.
SQL Server
SQL Server
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"An error has occurred while establishing a connection to the server. When connecting to
SQL Server 2005, this failure may be caused by the fact that under the default settings
Mesaj Başlığı
SQL Server does not allow remote connections. (provider: TCP Provider, error: 0 - No such
host is known.) (Microsoft SQL Server, Error: 11001)"
Varolmayan bir SQL Server sunucusuna bağlanmaya çalıştığınızda bu hatayı alırsınız.

Bununla ne demek istiyorum? Şunu, meselâ başka bir sanal veya fiziksel sunucudaki SQL
Server Instance' ına bağlanmak için SQL Server Configuration Manager' da bir Alias
Hata Açıklaması
oluşturdunuz. Bağlanmak istediğiniz SQL Server sunucusunun adı "Sunucum" olsun. Fakat
Alias' ı ayarlarken "Server" kısmına "Sunucum" yazacağınıza "Sunucu" yazdınız. Bu
durumda ağınızda "Sunucu" isminde bir sunucu olmadığından yukarıdaki hata mesajını
alırsınız.
Sanırım bu bölüme pek gerek kalmadı, ama ben gene de Alias' ta veya Connection String'
Çözüm te veya GUI' yi kullanırken doğru sunucu adını kullandığınızdan emin olun demeden
geçemeyeceğim.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"An error has occurred while establishing a connection to the server. When connecting to
SQL Server 2005, this failure may be caused by the fact that under the default settings
SQL Server does not allow remote connections. (provider: TCP Provider, error: 0 - A
Mesaj Başlığı
connection attempt failed because the connected party did not properly respond after a
period of time, or established connection failed because connected host has failed to
respond.) (Microsoft SQL Server, Error: 10060)"
Ben bu hata mesajı ile karşılaştığımda bir Alias kullanarak bir sanal makinedeki SQL
Server Instance' ıma bağlanmaya çalışıyordum.
Hata Açıklaması
Alias' taki Sunucu ve SQL Server Instance adı doğruydu, fakat port numarası yanlıştı.
Çözüm Bağlanmaya çalıştığınız SQL Server Instance' ının port numarasının doğru olduğundan
emin olun. Port numarası ayarları için SQL Server Configuration Manager' ı
kullanabilirsiniz.

Benim durumumda Alias' taki port numarasını düzeltince sorun çözüldü.


SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Unable to start mail session (reason:


Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException: Mail configuration
Mesaj Başlığı
information could not be read from the database. > System.Data.SqlClient.SqlException: profile
name is not valid"
Bu hatayı habergrubundan bir kullanıcının aldığını gördüm ve arşivlemek istedim. Sözkonusu
kullanıcı bir Mail Profile ve Account oluşturmuş. Test postası da gönderebildiğini söylüyor. Fakat
Hata bu hesabı SQL Server Agent' ta kullanmak istediği zaman bu hatayı alıyor.
Açıklaması
SQL Server Agent' ın özelliklerindeki Alert System' dan Mail Profile' ı Enable etmesini tavsiye
etmiştim. Bunu da kontrol etmiş ve bu ayar da tammış. Sorunun çözümü ise çok ilginç.
Sorunu yaşayan kişi Microsoft' ta bir "Case" açtığını söyledi ve ona çözüm olarak şunu
önermişler:
- Surface Area Configuration' dan Database Mail' i Disable durumuna getir,
- SQL Server Agent Servisini durdur ve tekrar başlat,
Çözüm - Surface Area Configuration' dan Database Mail' i Enable durumuna getir.

Çözüm bu ve işe yaramış.

Olur ya bir gün sizin veya benim de işime yarayabilir.


SQL Server
SQL Server 2005
Versiyonu
İşletim
Bu sorunla tüm versiyonlarda karşılaşılabilir.
Sistemi

"System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than


Mesaj Başlığı
the existing 'veritabanı_adı' database. (Microsoft.SqlServer.Smo)"
Eğer işlem yaptığınız SQL Server Instance' ınızda açmak (Restore) için belirttiğiniz
Hata Açıklaması veritabanı adında bir veritabanı zaten varsa ve açmak istediğiniz veritabanından farklı bir
veritabanıysa bu hatayı alırsınız.
Meselâ kullandığınız SQL Server Instance' ında "Aksu" isminde bir veritabanınız var. Bir de
"Kartel" veritabanına ait yedek dosyanız (*.bak) var, eğer bu yedek dosyasını SQL Server
Instance' ınızda "Aksu" veritabanı adını kullanarak açmaya çalışırsanız bu hatayı alırsınız
çünkü ikisi de farklı veritabanlarıdır.
Çözüm
Bu nedenle açmaya çalıştığınız "Kartel" veritabanının yedeği için ya "Kartel" ismini
veritabanı adı olarak kullanın, ya da o anda çalıştığınız SQL Server Instance' ında
varolmayan bir veritabanı ismi kullanın.
SQL Server
SQL Server
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"The preceding restore operation did not specify WITH NORECOVERY or WITH STANDBY.
Mesaj Başlığı Restart the restore sequence, specifying WITH NORECOVERY or WITH STANDBY for all but
the final step."
Hata Açıklaması Bu hata mesajını bir kaç yedek dosyasını arka arkaya açmak istediğinizde alabilirsiniz.
Çözüm SQL Server' da yedek dosyanızdan geri dönmek istediğinizde ve eğer birden fazla yedek
açacaksanız (Restore) o zaman ilk yedekten başlayıp en sondan bir önceki yedeğe kadar
RESTORE komutuyla birlikte WITH NORECOVERY anahtarını da kullanmanız gerekir.

Meselâ "Sirketim" isminde bir veritabanınız olduğunu varsayın. Haftada bir kere tam
(FULL), diğer günler de fark (DIFFERENTIAL) yedeğini alıyorsunuz.
Pazar = FULL
Pazartesi = DIFFRENTIAL
Salı = DIFFRENTIAL
Çarşamba = DIFFRENTIAL
Perşembe = Veritabanınız bozuldu ve eskisini silip yedekten dönebildiğiniz kadar dönmeye
çalışacaksınız.

Şu yolu takip edersiniz:


1- RESTORE DATABASE [Sirketim] FROM DISK = N'C:\test\Sirketim.bak' WITH FILE = 1,
NORECOVERY
2- RESTORE DATABASE [Sirketim] FROM DISK = N'C:\test\Sirketim.bak' WITH FILE = 4,
RECOVERY

Dikkat ederseniz ilk adımda RESTORE işlemiyle veritabanımın yedeğini açarken


"NORECOVERY" anahtarını kullandım. Bu, şu anlama geliyor: "Bu, açacağım son yedek
değil, bundan sonra daha açacaklarım var." İşte bu nedenle en son açacağımız yedeğe
kadar "NORECOVERY" anahtarını kullanmalıyız.

En son yedekte ise gördüğünüz gibi "RECOVERY" anahtarını kullandım. Bu da şu anlama


gelir: "Bundan sonra artık açacağım herhangi bir yedek yok. Bu nedenle artık dosyamı
kullanılabilir hale getir".

Evet, "kullanılabilir hale getir." diyorum, çünkü bir yedeği "NORECOVERY" anahtarı ile
açarsanız o veritabanını kullanamazsınız. Ne sorgulayabilirsiniz ne de yeni bir kayıt ekleyip
değiştirebilirsiniz.

"NORECOVERY" anahtarına alternatif olarak "STANDBY" anahtarını da kullanabilirsiniz.


İşlev olarak aynı işlevi görecektir, fakat "STANDBY" anahtarının "NORECOVERY" anahtarına
göre olan farkuı şudur: Bir veritabanını "STANDBY" anahtarını kullanarak açarsanız, o
veritabanının üstüne daha başka yedekler de açabilirsiniz. Bunun yanında o veritabanını
"NORECOVERY" nin aksine, sorgulayabilirsiniz de. Fakat sadece SELECT komutuyla
sorgulayabilirsiniz, o kadar. Yani yeni bir kayıt ekleyemez, veri değiştiremez veya
silemezsiniz. Ayrıca STANDBY ile açtığınız veritabanının üstüne başka bir yedek daha
açtığınızda, o anda veritabanına bağlı olan kullanıcılar otomatik olarak veritabanından dışarı
atılırlar. Açma işlemi bittikten sonra tekrar veritabanını sorgulayabilirler elbette.
SQL Server
SQL Server 2000
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"The log or differential backup cannot be restored because no files are ready to rollforward.
Mesaj Başlığı
"
Hata Açıklaması Bu hata mesajını bir kaç yedek dosyasını arka arkaya açmak istediğinizde alabilirsiniz.
Çözüm SQL Server' da yedek dosyanızdan geri dönmek istediğinizde ve eğer birden fazla yedek
açacaksanız (Restore) o zaman ilk yedekten başlayıp en sondan bir önceki yedeğe kadar
RESTORE komutuyla birlikte WITH NORECOVERY anahtarını da kullanmanız gerekir.

Meselâ "Sirketim" isminde bir veritabanınız olduğunu varsayın. Haftada bir kere tam
(FULL), diğer günler de fark (DIFFERENTIAL) yedeğini alıyorsunuz.

Pazar = FULL
Pazartesi = DIFFRENTIAL
Salı = DIFFRENTIAL
Çarşamba = DIFFRENTIAL
Perşembe = Veritabanınız bozuldu ve eskisini silip yedekten dönebildiğiniz kadar dönmeye
çalışacaksınız.

Şu yolu takip edersiniz:


1- RESTORE DATABASE [Sirketim] FROM DISK = N'C:\test\Sirketim.bak' WITH FILE = 1,
NORECOVERY
2- RESTORE DATABASE [Sirketim] FROM DISK = N'C:\test\Sirketim.bak' WITH FILE = 4,
RECOVERY

Dikkat ederseniz ilk adımda RESTORE işlemiyle veritabanımın yedeğini açarken


"NORECOVERY" anahtarını kullandım. Bu, şu anlama geliyor: "Bu, açacağım son yedek
değil, bundan sonra daha açacaklarım var." İşte bu nedenle en son açacağımız yedeğe
kadar "NORECOVERY" anahtarını kullanmalıyız.
En son yedekte ise gördüğünüz gibi "RECOVERY" anahtarını kullandım. Bu da şu anlama
gelir: "Bundan sonra artık açacağım herhangi bir yedek yok. Bu nedenle artık dosyamı
kullanılabilir hale getir".

Evet, "kullanılabilir hale getir." diyorum, çünkü bir yedeği "NORECOVERY" anahtarı ile
açarsanız o veritabanını kullanamazsınız. Ne sorgulayabilirsiniz ne de yeni bir kayıt ekleyip
değiştirebilirsiniz.

"NORECOVERY" anahtarına alternatif olarak "STANDBY" anahtarını da kullanabilirsiniz.


İşlev olarak aynı işlevi görecektir, fakat "STANDBY" anahtarının "NORECOVERY" anahtarına
göre olan farkuı şudur: Bir veritabanını "STANDBY" anahtarını kullanarak açarsanız, o
veritabanının üstüne daha başka yedekler de açabilirsiniz. Bunun yanında o veritabanını
"NORECOVERY" nin aksine, sorgulayabilirsiniz de. Fakat sadece SELECT komutuyla
sorgulayabilirsiniz, o kadar. Yani yeni bir kayıt ekleyemez, veri değiştiremez veya
silemezsiniz. Ayrıca STANDBY ile açtığınız veritabanının üstüne başka bir yedek daha
açtığınızda, o anda veritabanına bağlı olan kullanıcılar otomatik olarak veritabanından dışarı
atılırlar. Açma işlemi bittikten sonra tekrar veritabanını sorgulayabilirler elbette.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Error: 602: Could not find row in sysindexes for database ID 8, object ID 1, index ID 1.
Mesaj Başlığı
Run DBCC CHECKTABLE on sysindexes."
Bu hatayı iki durumda alabilirsiniz,

1- SQL Server 2000 Instance' ınıza iliştirmek istediğiniz veritabanı, bir SQL Server 2005
(veya üstü) Instance' ında oluşturulmuşsa,

Hata Açıklaması 2- Bir SQL Server 2000 Instance' ında oluşturulmuş veritabanınızı, bir SQL Server 2005
Instance' ına iliştirdikten ve ayırdıktan sonra tekrar SQL Server 2000 Instance' ınıza
eklemeye çalıştığınızda.

Yani bu durumda, veritabanınızı bir SQL Server 2000 Instance' ınıza iliştiremezsiniz artık.
Çünkü yapısı SQL Server 2005 Instance' ına göre ayarlanmıştır.
Çözüm Maalesef bunun için bir çözümüm yok, sadece nedenini bilin diye yazdım bu yazıyı.
SQL Server
SQL Server 2000
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"SQLVDI: Loc=CVDS::Cleanup. Desc=Release(ClientAliveMutex). ErrorCode=(288)Attempt


Mesaj Başlığı
to release mutex not owned by caller."
Hata Açıklaması Hotfix
Bu sorun için bir FIX mevcuttur:
Çözüm
http://support.microsoft.com/kb/934396/en-us
SQL Server
SQL Server 2000, SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Cannot find the principal 'test', because it does not exist or you do not have permission.
Mesaj Başlığı
(Microsoft SQL Server, Error: 15151)"
Bu hata mesajını, SQL Server Management Studio kullanarak bir bir veritabanını bir SQL
Server Instance' ına iliştirmeye çalışırken alabilirsiniz.
Hata Açıklaması
Nedeni ise, SSMS' te, veritabanınızı iliştirmek için açmış olduğunuz "Attach Databases"
penceresindeki "Databases to Attach" bölümünde bulunan "Owner" seçeneğinde geçersiz
bir "Login" hesabının bulunmasıdır.
Sorunu çözmek için, "Attach Databases" penceresindeki "Databases to Attach" bölümünde
Çözüm bulunan "Owner" seçeneğinde, SQL Server Instance' ınızdaki geçerli ve yeterli haklara
sahip bir "Login" hesabını seçtiğinizden emin olun.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"System.Data.SqlClient.SqlError: This backup cannot be restored using WITH STANDBY


Mesaj Başlığı
because a database upgrade is needed. Reissue the RESTORE without WITH STANDBY."
Bu hata mesajını, SQL Server 2000 \ 2005 gibi SQL Server 2008' den daha eski SQL Server
Hata Açıklaması Instance' larında oluşturulmuş bir veritabanını, "WITH STANDBY..." komutu ile birlikte
açmaya (Restore) çalışırken alabilirsiniz.
Kullandığınız SQL Server Instance' ından daha eski bir SQL Server versiyonundan alınan
veritabanı yedeğinizi ilk önce "WITH RECOVERY" komutuyla açmalısınız. Eğer daha sonra bu
Çözüm veritabanının tekrar yedeğini alıp "WITH STANDBY" seçeneğiyle açmak istiyorsanız, o zaman
bu veritabanının Uyum Düzeyini ("Compatibility Level") Veritabanı Özelliklerinden
yükseltmelisiniz.
SQL Server
SQL Server 2008
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"System.Data.SqlClient.SqlError: The operating system returned the error '5(Access is


denied.)' while attempting 'RestoreContainer::ValidateTargetForCreation' on 'C:\Program
Mesaj Başlığı
Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\xxx.mdf'.
(Microsoft.SqlServer.Smo)"
Bir yedek dosyasını bir SQL Server Instance' ına açmaya çalıştığınızda, eğer SQL Server
Hata Açıklaması Servisinizin, yedeği açmaya çalıştığınız klasör için gerekli izinleri yoksa bu hata mesajıyla
karşılaşırsınız.
Veritabanı yedeklerinin açma işlemini SQL Server servisi gerçekleştirir. Yedek dosyasının
açılması demek, SQL Server servisinin, veritabanınızın dosyalarını yedek dosyasından hedef
klasöre açması demektir. Yani SQL Server servis hesabınızın, veritabanı dosyalarının
Çözüm oluşturulacağı hedef klasörde yazma izinlerinin olması gerekiyor.

Bu işlem için SQL Server servisine, hedef klasör üstünde vermeniz gereken yetki ise Yazma
(Write) yetkisidir.
SQL Server
SQL Server 2008
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Error: The @newname value 'test' is already in use as a OBJECT name and would cause a
Mesaj Başlığı
duplicate that is not permitted. (Microsoft SQL Server, Error: 15335)"
Varolan bir nesnenin ("tablo" veya "view" gibi...) adını değiştirmeye çalıştığınızda, eğer
Hata Açıklaması
zaten o isimde bir başka nesne varsa bu hata mesajını alırsınız.
Eğer oluşturacağınız nesneyi illa da aynı isimlerde oluşturmak istiyorsanız, o zaman bu
nesneler için farklı "Schema" lar kullanmanız gerekir.
Çözüm
Bir "Schema" veya bir "kullanıcı" aynı anda aynı isimli iki nesneye sahip olamaz.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

"Cannot truncate table <veritabani_adi> because it is being referenced by a FOREIGN KEY


Mesaj Başlığı
constraint."
Hata Açıklaması Bir başka tabloda FOREIGN KEY olarak referans gösterilen bir tablonun içeriğini TRUNCATE
TABLE komutuyla silmeye kalkarsanız bu mesajı alırsınız.
Eğer başka bir tablo tarafından FOREIGN KEY olarak referans gösterdiğiniz bir tablonun
içeriğini silmek istiyorsanız o zaman DELETE FROM komutunu kullanabilirsiniz.
Çözüm
Alternatif olarak, FOREIGN KEY ilişkisini koparırsanız o zaman TRUNCATE TABLE komutunu
kullanabilirsiniz.
SQL Server
SQL Server 2005
Versiyonu
İşletim Sistemi Bu sorunla tüm versiyonlarda karşılaşılabilir.

KAYNAK: http://www.ekremonsoy.net/makaleler/hatalar/hata59.aspx

You might also like