Share via


Nasıl yapılır: Yükseltme veritabanı kullanma bağlantısını kesin ve (Transact-SQL) Ekle

Güvenlik notuGüvenlik Notu

Eklemek veya bilinmeyen veya güvenilmeyen kaynaklardan gelen veritabanlarını geri yükleme öneririz.Bu tür veritabanları olabilir kötü niyetli kod içerebilecek yürütmek istenmeyen Transact-SQL kod ya da neden hata değiştirerek şemayı veya fiziksel veritabanı yapısı.Güvenilmeyen veya bilinmeyen bir veritabanından kullanın önce kaynak, çalışma dbcc checkdb bir benzerini sunucusundaki veritabanında ve ayrıca saklı yordamlar veya başka bir kullanıcı tarafından tanımlanan kod, veritabanı gibi bir kodu inceleyin.

De SQL Server 2008 R2, kullanabileceğiniz ayırmak ve yükseltme işlemleri iliştirin bir kullanıcı veritabanı dan SQL Server 2000 veya SQL Server 2005.Siz taktıktan sonra bir SQL Server 2005 veya SQL Server 2000 veya SQL Server 2008 veritabanı için SQL Server 2008 R2, veritabanı hemen kullanılabilir hale gelir ve daha sonra otomatik olarak yükseltilir.

Bununla birlikte, aşağıdaki kısıtlamalar geçerlidir:

  • Kopyalarını ana, modeli veya msdb kullanılarak oluşturulan veritabanı SQL Server 2000 veya SQL Server 2005 iliştirilemez.

  • Ne zaman yerine kopyalanan çoğaltılmış bir veritabanını iliştirmek ayrılır:

    • Veritabanını aynı sunucu örnek için yükseltilmiş sürüm eklerseniz, gereken yürütmek sp_vupgrade_replication Ekle işlemi tamamlandıktan sonra çoğaltma yükseltmek için.Daha fazla bilgi için bkz: sp_vupgrade_replication (Transact-SQL).

    • Veritabanını farklı bir sunucuya eklerseniz örnek çalıştırmak gerekir (sürüm ne olursa olsun), sp_removedbreplication çoğaltma Ekle işlemi tamamlandıktan sonra kaldırılacak.Daha fazla bilgi için bkz: sp_removedbreplication (Transact-SQL).

  • Zaman APPLY, PIVOT, TABLESAMPLE, veya UNPIVOT dan yükselttiyseniz veritabanları karşı kullanılan anahtar sözcükler SQL Server 2000 için SQL Server 2008 R2, veritabanı uyumluluk düzey olmalıdır küme -100.İçin küme veritabanı uyumluluk düzeyi, bkz: sp_dbcmptlevel (Transact-SQL).

    Önemli notÖnemli

    De SQL Server 2000 Service Pack 3 (SP3) ve sonraki sürümleri SQL Server, eklemek ve devre dışı bırakma, ayarlayarak için veritabanı veritabanları arası sahiplik zinciri ayırmak, db sahipliği zincir arası seçenek 0.Zincirleme etkinleştirme hakkında daha fazla bilgi için bkz: Seçenek zincirleme çapraz db sahipliği.

Tam metin dizini yükseltme seçenekleri

Not

Siz taktıktan sonra bir SQL Server 2005 veya SQL Server 2000 veritabanı için SQL Server 2008 R2, veritabanı hemen kullanılabilir hale gelir ve daha sonra otomatik olarak yükseltilir.If the database has full-text indexes, the upgrade process either imports, resets, or rebuilds them, depending on the setting of the upgrade_option server property.Yükseltme seçeneği ise küme alınacak (upgrade_option = 2) veya yeniden (upgrade_option = 0), tam metin dizinlerini yükseltme sırasında kullanılamaz olur.Dizini Oluşturulmakta olan veri miktarına bağlı olarak, alma işlemi birkaç saat sürebilir ve yeniden inşa etmek en fazla on kez daha uzun sürebilir.Yükseltme seçeneği olduğunda, de küme tam metin kataloğu yoksa almak için ilgili tam metin dizinleri yeniden oluşturulur.Ayarı değiştirmek için upgrade_option sunucu özellik, kullanım sp_fulltext_service.

Yordamlar

Bir veritabanını yükseltmek için kullanarak bağlantısını kesin ve iliştirme

  1. örnek veritabanından ayrılmak SQL Server 7.0 ya da SQL Server 2000 kullanarak sp_detach_db saklı yordam.

    Daha fazla bilgi için bkz: SQL Server Books Online'nın bu sürüm için SQL Server.

    Not

    De SQL Server 2005, bu saklı yordam var. yeni seçeneklerDaha fazla bilgi için bkz: sp_detach_db (Transact-SQL).

  2. İsteğe bağlı olarak, ayrılmış Taşı veritabanı dosyası veya dosyaları ve günlük dosyası veya dosyaları.

    Yeni günlük dosyaları oluşturmak istediğiniz bile, veri dosyaları ile birlikte, günlük dosyalarını taşımanız gerekir.Bazı durumlarda, varolan günlük dosyalarını veritabanına yeniden takmanız gerekir.Veritabanı başarıyla onlar olmadan eklenmiş olması kadar bu nedenle, her zaman tüm ayrılmış günlük dosyalarını sakla.

    Not

    Günlük dosyası belirtmeden veritabanını iliştirmek çalışırsanız, attach işlem günlük dosyası özgün konumunda arayacaktır.Bu konumda özgün günlük kopyası hala varsa, bu kopyayı iliştirilir.Özgün günlük dosyası kullanımını önlemek için ya da belirtmek yol yeni bir günlük dosyası veya özgün kopyası günlük dosyası (onu yeni konuma kopyaladıktan sonra) Kaldır.

  3. örnek olarak kopyalanan dosya iliştirmek SQL Server 2005 kullanarak create database deyim eklemek için veya for ATTACH_REBUILD_LOG seçeneği ile.

    Not

    Nasıl ekleneceği hakkında bilgi için bir SQL Server 2005 , Object Explorer'ı kullanarak veritabanı Bkz: Nasıl yapılır: Bir veritabanı (SQL Server Management Studio'yu) Ekle.

  4. Yükseltilen veritabanında dbcc updateusage çalıştırmanızı öneririz.

    Önceki sürümlerinde SQL Server, tablo ve dizin değerlerini satır sayar ve Sayfa sayıları yanlış haline gelir.Bu nedenle, önceki sürümlerinde oluşturulan veritabanlarını SQL Server 2005 içeriyor olabilir yanlış sayar.Bir veritabanı için yükseltme yaptıktan sonra SQL Server 2005, öneririz, çalışmaya dbcc updateusage düzeltmek geçersiz herhangi sayar.dbcc deyim bu satırlar, kullanılan sayfaları, ayrılmış sayfaları, yaprak sayfaları düzeltir ve veri sayfa bir tablo veya dizin her bölüm için sayar.Daha fazla bilgi için bkz: dbcc updateusage (Transact-SQL).

  5. (Taşımak yerine) veritabanının bir kopyasını yapıyorsanız, isteğe bağlı olarak, özgün veritabanı örneğinde iliştirebilirsiniz SQL Server 7.0 ya da SQL Server 2000 kullanarak sp_attach_db veya sp_attach_single_file_db saklı yordam.

    Daha fazla bilgi için sql Server Books Online'dan bu sürüm için bkz: SQL Server.

Veritabanı uyumluluk düzeyini yükselttikten sonra

Uyumluluk düzeyleri tempdb, modeli, msdb ve kaynak veritabanları yükseltme sonrasında 100 olarak küme.The master system database retains the compatibility level it had before upgrade, unless that level was less than 80.Uyumluluk düzey , ana az 80 yükseltme işleminden önce yükseltme işleminden sonra 80 için küme.

Bir kullanıcı veritabanı uyumluluk düzey 80 veya 90 yükseltme işleminden önce varsa, aynı yükseltmeden sonra kalır.Uyumluluk düzey 70 veya yükseltilen veritabanında, yükseltme işleminden önce uyumluluk düzey 80 için desteklenen en düşük uyumluluk olduğu küme düzey de SQL Server 2008 R2.

Not

Yeni kullanıcı veritabanları uyumluluk devralır düzey , modeli veritabanı.

Yükseltilen sunucu örneği üzerinde meta verileri yönetme

Başka bir sunucu örnek oturum bir veritabanı iliştirdiğinizde, kullanıcılar ve uygulamalar, tutarlı bir deneyim sağlamak için bazı veya tüm oturumları, işleri ve diğer sunucu kopyası üzerindeki izinleri gibi veritabanı için meta veriler yeniden oluşturmak olabilir.Daha fazla bilgi için bkz: Bir veritabanı başka bir sunucu örneği üzerinde kullanılabilir yapma olduğunda meta veri yönetme.

Örnekler

The following example upgrades the SQL Server 2000 pubs database to a SQL Server 2005 database by using Transact-SQL statements to detach and attach the database.

  1. Bağlanmak SQL Server 2000 Query Analyzer'I, bir sunucu örnek için pubs bağlı olduğu ve kullanarak veritabanının bağlantısını kesin sp_detach_db saklı yordam.

    USE master;
    GO
    EXEC sp_detach_db @dbname = N'pubs';
    GO
    
  2. Kendi seçtiğiniz yöntem kullanarak bu örneðin amaçlarý bakýmýndan, kopyalamak için pubs dosyaları (pubs.mdf ve pubs_log.ldf) C:\Program Files\Microsoft sql Server\MSSQL\Data\'dan (Bu varsayılan konumları, pubs , SQL Server 2000) C:\Program Files\Microsoft sql Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\ için (Bu SQL Server 2005 data dizininde).

    Önemli notÖnemli

    Üretim veritabanı için veritabanı ve hareket günlüğünü ayrı disklerde yerleştirin.

    Not

    Dosyaları ağ üzerinden uzak konumdaki Evrensel Adlandırma Kuralı (unc) adı kullanarak uzak bir bilgisayardaki diske kopyalamak.Bir unc adı biçimini alır \SunucuAdı\PaylaşımAdı\yol\dosya adı.Kullanıcı hesabı dosyalarını yerel sabit diske yazmak için kullandığı SQL Server gerekir verildi okunurken veya yazılırken bir dosyaya için gerekli izinleruzaktan disk.

  3. Kopyalanan iliştirmek pubs veritabanı ve günlük dosyalarının örnek için isteğe bağlı olarak, SQL Server 2005 (Bu örnekte aynı veritabanı adı kullanır).De SQL Server Management Studio, yeni bir Query Editor sorguyu açın ve sunucuya örnek , veritabanını iliştirmek istediğiniz üzerinde

    Aşağıdaki yürütme CREATE DATABASE deyim.

    USE master;
    GO
    CREATE DATABASE pubs ON PRIMARY 
       (FILENAME = 
          'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\pubs.mdf')
       LOG ON (FILENAME = 
          'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\pubs_log.ldf')
       FOR ATTACH;
    GO
    

    Not

    De SQL Server Management Studio, yeni eklenen veritabanıdır hemen görünür değil nesne Explorer.To view the database, click the Object Explorer window, and select View > Refresh.Zaman veritabanları düğümünün genişletilmiş, yeni iliştirilen veritabanının artık veritabanları listesinde görünür.

  4. İsteğe bağlı olarak, özgün yeniden iliştirmeye pubs veritabanı örneğine SQL Server 2000 kullanarak sp_attach_db saklı yordam.Query Analyzer'I aşağıdakileri girin:

    USE master;
    Go
    EXEC sp_attach_db @dbname = N'pubs', 
       @filename1 = 
          N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', 
       @filename2 = 
          N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf';
    GO