Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tüm Access veritabanı özellikleri SQL Server ile çalışmaz. Örneğin, SQL Server ve Access farklı ayrılmış anahtar sözcük kümeleri kullanır. Bu farklar, SQL Server Migration Assistant (SSMA) kullanarak geçiş yaparken sorunlara neden olabilir. Aşağıdaki bölümde olası geçiş sorunları ve bunları nasıl düzeltebileceğiniz açıklanmaktadır.
Geçişi etkileyebilecek veritabanı ayarları veya özellikleri
SQL Server veya Azure SQL'e geçişi etkileyebilecek aşağıdaki Erişim ayarlarını veya özelliklerini gözden geçirin.
- Tabloların benzersiz dizinleri yok
- Tablolar çoğaltma sütunlarına sahiptir
- Benzersiz dizinleri olan tablolar birden çok NULL değer içerir
- Tablolar SQL Server aralığının dışında olan tarih değerleri içerir
- Dizin uzunlukları 900 bayt'ı aşıyor
- Nesne adları SQL Server anahtar sözcükleridir veya özel karakterler içerir
- Alan boyutları birincil anahtar veya yabancı anahtar ilişkilerinde farklılık gösterir
- Başvurulan tabloların birincil anahtarı veya benzersiz dizini yok
- Tabloların köprü sütunları vardır
- İşlevler SQL Server'a veya Azure SQL'e dönüştürülemez
Tabloların benzersiz dizinleri yok
Benzersiz dizini olmayan bir tabloyu SQL Server'a geçirirseniz, geçiş sonrasında tabloyu değiştiremezsiniz. Bu sınırlama, uygulama uyumluluğu sorunlarına neden olabilir.
Access veritabanı nesnelerini dönüştürdüğünüzde, Çıkış penceresinde benzersiz dizinleri olmayan Access tabloları listelenir.
Dönüştürme sırasında SQL Server tablosuna birincil anahtar eklemek için Access'i yapılandırabilirsiniz. Daha fazla bilgi için bkz. Proje Ayarları (Dönüştürme).
Tabloların çoğaltma sütunları vardır
Çoğaltma sistemi sütunlarını içeren bir Access tablosunu SQL Server'a geçirirseniz, geçiş sonrasında Jet çoğaltma işlevi çalışmayı durdurur.
Geçiş sonrasında, veritabanlarınızın eşitlenmiş kopyalarını korumak için SQL Server çoğaltmasını kullanmayı göz önünde bulundurun.
Benzersiz dizinleri olan tablolar birden çok NULL değer içerir
Sürüm 8.13'den önce, birden çok null değere sahip benzersiz dizinlere sahip Access tablolarını SQL Server'a aktaramazsınız. SQL Server'da, benzersiz dizinler birden çok null'a izin vermemektedir. Bu tabloların geçişi başarısız oluyor.
SSMA bu sorunu değerlendirme raporlarında işaretlemektedir. Değerlendirme raporu oluşturmak için, Access veritabanı nesnelerinin dönüştürülmesi için değerlendirme'ye bakın.
Bu sorun varsa, birincil anahtarın yinelenen null değerleri olmadığından emin olun. Veya birden çok null değer içeren birincil anahtarı veya benzersiz dizinleri kaldırın.
Tablolar SQL Server aralığının dışında olan tarih değerleri içerir
SQL Server datetime türü yalnızca 1 Ocak 1753 ile 31 Aralık 9999 aralığındaki tarihleri kabul eder. Access, 1 Ocak 100 ile 31 Aralık 9999 arasında tarihleri kabul eder.
SSMA bu sorunu değerlendirme raporlarında işaretlemektedir. Değerlendirme raporu oluşturmak için, Access veritabanı nesnelerinin dönüştürülmesi için değerlendirme'ye bakın.
SSMA'nın SQL Server aralığının dışında olan tarihleri nasıl çözümlediğini yapılandırabilirsiniz. Daha fazla bilgi için bkz. Proje Ayarları (Geçiş).
Dizin uzunlukları 900 bayt'ı aşıyor
SQL Server dizinlerinin dizin anahtarı sütunlarının toplam boyutu için 900 bayt sınırı vardır. Access tablolarınız daha büyük dizinler kullanıyorsa, SSMA bir uyarı görüntüler.
Veri geçişiyle devam ederseniz geçiş başarısız olabilir.
Nesne adları SQL Server anahtar sözcükleridir veya özel karakterler içerir
Access ve SQL Server farklı ayrılmış anahtar sözcüklere ve özel karakterlere sahiptir. SQL Server, SQL Server anahtar sözcükleri kullanılarak adlandırılmış veya özel karakterler içeren nesneleri, eğer select veya [select].p gibi köşeli parantezli veya tırnak içine alınmış tanımlayıcılar kullanıyorsanız kabul eder. Daha fazla bilgi için bkz . Veritabanı tanımlayıcıları.
Uyarı
Tanımlayıcıları sınırlandırmak için tırnak işaretleri kullanmak üzere, SET QUOTED_IDENTIFIERON olmalıdır.
Örneğin, CREATE TABLE [schema](c1 [FOR]) geçerli bir deyimdir, her ne kadar schema ve FOR ayrılmış anahtar sözcük olsa da. Ayrıca, tablo ve sütun adına CREATE TABLE [xxx*yyy](c1 x&y) ve * özel karakterlerini içermesine rağmen, & geçerli bir deyimdir.
Bu nesnelere başvuran tüm sorgular, köşeli ayraç veya tırnak işareti içeren adları da kullanmalıdır. Örneğin, sorgu SELECT * FROM schema başarısız olur. Doğru sorgu: SELECT * FROM [schema].
Access veritabanı nesnelerini dönüştürdüğünüzde, Çıkış bölmesinde anahtar sözcükler veya özel karakterler kullanan access tabloları listelenir. Access'te tabloları değiştirebilir ve sonra veritabanını kaldırıp yeniden ekleyebilirsiniz. Alternatif olarak, bu nesnelere başvuran sorguları değiştirerek sorguların tanımlayıcıları sınırlandırmak için köşeli ayraç veya tırnak işaretleri kullanmasını sağlayabilirsiniz. Sorgularınızı değiştirmezseniz, Access uygulamalarınız hata döndürebilir veya başka sorunlarla karşılaşabilir.
Alan boyutları birincil anahtar veya yabancı anahtar ilişkilerinde farklılık gösterir
SQL Server, farklı veri türlerine veya boyutlarına sahip sütunları yabancı anahtar kısıtlamalarıyla bağlamanın Jet işlevini desteklemez.
Access veritabanı nesnelerini dönüştürdüğünüzde, Çıkış penceresinde SQL Server'a dönüştürülmeyen birincil anahtar veya yabancı anahtar kısıtlamaları listelenir. Access sütunlarında veri türlerini ve boyutlarını eşleşebilecek şekilde değiştirebilir, sonra Access veritabanını kaldırıp yeniden ekleyebilirsiniz. Bu kısıtlamalar SQL Server'da oluşturulmasa da verileri geçirebilirsiniz.
Başvurulan tabloların birincil anahtarı veya benzersiz dizini yok
Access, başvuruda bulunan tablonun birincil anahtarı veya benzersiz dizini olmayan tablolar arasındaki ilişkileri kabul eder. Ancak, SQL Server bu tür bir ilişkiyi desteklemez.
Access veritabanı nesnelerini dönüştürdüğünüzde, Çıkış penceresinde ilişkileri olan ancak birincil anahtarı veya benzersiz dizini olmayan tablolar listelenir. Birincil anahtarlar veya benzersiz dizinler eklemek için tabloları değiştirebilir, ardından Access veritabanını kaldırıp yeniden ekleyebilirsiniz. Ya da tablolar arasındaki ilişki kopmuş olsa da verileri geçirebilirsiniz.
Tabloların köprü sütunları vardır
SQL Server köprü sütunlarını desteklemez. Bunun yerine, sütunlar Access not sütunları gibi değerlendirilir. Varsayılan olarak, bu sütunlar SQL Server'da nvarchar(max) sütunlarına dönüştürülür. Eşlemeyi özelleştirebilirsiniz. Daha fazla bilgi için bkz. Kaynak ve hedef veri türlerini eşleme.
İşlevler SQL Server'a veya Azure SQL'e dönüştürülemez
Access varsayılan ifadeleri veya doğrulama kuralları, Access sistem işlevlerini veya SQL Server veya Azure SQL ile eşlanmayan kullanıcı tanımlı işlevleri içerebilir. SQL Server veya Azure SQL ile eşleşmeyen işlevler kullanıyorsanız, varsayılan ifadeleri veya doğrulama kurallarını SQL Server veya Azure SQL'e yükleyemezsiniz.