Share via


Nasıl Yapılır: Yükseltme, bir veritabanı kullanma ve Ayır (Transact-SQL) Ekle

Security noteSecurity Note:

Değil iliştirin veya bilinmeyen veya güvenilmeyen kaynaklardan gelen veritabanlarını geri yükleme olmasını öneririz.Bu tür veritabanlarının yürütmek, kötü amaçlı kod içerebilir istenmeyen Transact-SQL şema veya fiziksel veritabanı yapısı değiştirerek kod veya neden hata. Bilinmeyen veya güvenilmeyen bir kaynaktan gelen bir veritabanı kullanmadan önce çalıştırın. dbcc checkdb nonproduction sunucusundaki veritabanında ve ayrıca ya da diğer kullanıcı tanımlı kod, veritabanında saklı yordamlar kodun sınayın.

Içinde SQL Server 2008, kullanabileceğiniz ayırmak ve işlemleri kullanıcı veritabanından Yükseltilecek iliştirin. SQL Server 2000 veya SQL Server 2005. Sonra daha sonra bir SQL Server 2005 veya SQL Server 2000 veritabanına SQL Server 2008, veritabanına hemen kullanılabilir ve daha sonra otomatik olarak yükseltilir.

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

  • Kopyalarını Yönetici, modeli or msdb kullanılarak oluşturulan veritabanıSQL Server 2000 veya SQL Server 2005 eklenemiyor.

  • Ne zaman yerine kopyalanan çoğaltılmış bir veritabanını iliştirmek ilişkisi kesildi:

    • Aynı sunucu örnek yükseltilmiş sürüm veritabanını iliştirirseniz, yürütmek gerekir sp_vupgrade_replication bağlama işlemi tamamlandıktan sonra çoğaltma yükseltmek için.Daha fazla bilgi için bkz:sp_vupgrade_replication (Transact-SQL).

    • Bir başka sunucu örnek (bağımsız sürüm) veritabanına eklemek için yürütmek gerekir sp_removedbreplication bağlama işlemi tamamlandıktan sonra çoğaltma kaldırılacak.Daha fazla bilgi için bkz:sp_removedbreplication (Transact-SQL).

  • Zaman APPLY, PIVOT, TABLESAMPLE, veya UNPIVOT gelen yükseltilir veritabanlarının karşı kullanılan anahtar sözcükler SQL Server 2000 Kime SQL Server 2008, veritabanının uyumluluk düzey, 100'e ayarlanmalıdır. Veritabanı uyumluluk düzeyini ayarlamak için bkz: sp_dbcmptlevel (Transact-SQL).

    Important noteImportant Note:

    Içinde SQL Server 2000 hizmet Pack 3 (SP3) ve sonraki sürümleri SQL Server, iliştirin ve veritabanı için ayarlayarak, veritabanları arası sahiplik disable zincirleme ayırmak, Sahiplik DB zincirleme arası seçeneği 0.Zincirleme etkinleştirme hakkında daha fazla bilgi için bkz: Seçenek zincirleme çapraz db sahipliği.

Tam metin dizin yükseltme seçenekleri

Not

Sonra daha sonra bir SQL Server 2005 veya SQL Server 2000 veritabanına SQL Server 2008, veritabanına hemen kullanılabilir 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_optionserver property.Yükseltme seçeneği ise küme (almak içinupgrade_option = 2) veya yeniden (upgrade_option = 0), yükseltme sırasında tam metin dizinleriyle kullanılamaz.Dizini Oluşturulmakta olan veri miktarına bağlı olarak, alma işlemi birkaç saat sürebilir ve yeniden oluşturulması en çok on kat daha uzun sürebilir.Yükseltme seçeneği olduğunda da dikkat küme bir tam metin kataloğu kullanılamıyorsa, almak için , ilişkili tam metin dizinlerini yeniden oluşturulur.Ayarını değiştirmek için upgrade_option Kullanım sunucu özelliksp_fulltext_service.

Yordamlar

Bir veritabanını yükseltmek için kullanarak ayırma ve iliştirme

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

    Daha fazla bilgi için bkz: SQL Server Bu sürüm için Çevrimiçi Kitaplar SQL Server.

    Not

    Içinde SQL Server 2005, yeni seçenekleri Bu saklı yordam vardır. Daha fazla bilgi için bkz:sp_detach_db (Transact-SQL).

  2. Isteğe bağlı olarak, ayrılmış bir veritabanı dosyası veya dosyaları ve günlük dosyası veya dosyaları taşıyın.

    Yeni günlük dosyaları oluşturmak istediğiniz bile, veri dosyalarının yanı sıra günlük dosyaları taşımanız gerekir.Bazı durumlarda, varolan günlük dosyalarını veritabanına reattaching gerektirir.Veritabanı başarıyla onlar olmadan bağlı olup kadar bu nedenle, her zaman tüm ayrılmış günlük dosyalarını tutun.

    Not

    Veritabanı günlük dosyası belirtmeden iliştirin denerseniz, bağlama işlemi günlük dosyası özgün konumunda arayacaktır.Bu konumda günlük özgün kopyası hala varsa, bu kopyadaki iliştirilmiştir.Özgün günlük dosyasını kullanarak önlemek için , yeni günlük dosyası yol belirtin veya (yeni bir konuma kopyalamadan sonra), günlük dosyasının özgün kopya kaldırma.

  3. Kopyalanan dosyaları örneğine iliştirin. SQL Server 2005 kullanarak VERİTABANI OLUŞTURMA deyim FOR ATTACH veya FOR ATTACH_REBUILD_LOG seçeneği.

    Not

    Ekleme hakkında bilgi için bir SQL Server 2005 Object Explorer'ı kullanarak, veritabanı için bkz: Nasıl Yapılır: Bir veritabanı (SQL Server Management Studio'yu) ekleyin..

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

    ' Ün önceki sürümlerinde SQL Server, değerleri tablosu ve dizin satır sayar ve sayfa sayar hatalı hale gelebilir. Bu nedenle, önceki sürümleriyle oluşturulan veritabanlarının SQL Server 2005 yanlış sayıları içerebilir. Bir veritabanına yükselttikten sonra SQL Server 2005, herhangi bir geçersiz sayar düzeltmek için DBCC UPDATEUSAGE çalıştırmanızı öneririz. Satır, kullanılan sayfaları, rezerve edilen sayfalar, yaprak sayfaları DBCC ifadenin düzeltir ve tablo ya da dizin içindeki her bölümü için veri sayfasını sayar.Daha fazla bilgi için bkz:DBCC UPDATEUSAGE (Transact-SQL).

  5. (Taşımak yerine) veri tabanının bir kopyasını yapıyorsanız, isteğe bağlı olarak, özgün veritabanı üzerinde iliştirmeniz örnek, SQL Server 7.0 veya SQL Server 2000 kullanarak sp_attach_db or sp_attach_single_file_db saklı yordamını.

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

' E yükselttikten sonra veritabanı uyumluluk düzey

Uyumluluk düzeyleri tempdb, modeli, msdb and Kaynak veritabanlarının, yükseltmeden sonra 100 olarak küme.The master system database retains the compatibility düzey it had before upgrade, unless that düzey was less than 80.Uyumluluk düzey Yönetici az 80 yükseltme işleminden önce olan, yükseltmeden sonra 80 küme.

Uyumluluğunu düzey 80 veya 90 yükseltme işleminden önce veritabanı kullanıcısı olan, onu aynı yükseltmeden sonra kalır.Uyumluluk düzey 70 veya yükseltilen veritabanında, yükseltme işleminden önce ise, uyumluluk düzey 80, desteklenen en düşük uyumluluk olduğu küme, düzey SQL Server 2008.

Not

Yeni user veritabanlarındaki uyumluluk düzeyini devralmayacaktır modeli veritabanıdır.

Meta veriler yükseltildi sunucu örnek üzerinde yönetme

Bir veritabanı başka bir sunucuyu üzerine iliştirdiğinizde, kullanıcılar ve uygulamalar için tutarlı bir deneyim sağlamak için bazı veya tüm oturumları, işler ve diğer sunucu örnek, izinleri gibi bir veritabanı için meta veriler yeniden gerekebilir.Daha fazla bilgi için bkz:Bir veritabanı başka bir sunucuda kullanılabilir yapma, meta veriler yönetme örnek.

Örnekler

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

  1. Bağlan SQL Server 2000 Çözümleyici bir sunucuya sorgu örnek, 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. Amaçları doğrultusunda, seçtiğiniz yöntem kullanarak, bu örnek kopyalamak için pubs (pubs.mdf ve pubs_log.ldf) (Bu varsayılan konumlarını, C:\Program Files\Microsoft SQL Server\MSSQL\Data\ Pubs in SQL Server 2000) için C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\ (Bu SQL Server 2005 veri dizini).

    Important noteImportant Note:

    Bir üretim veritabanı için veritabanı ve hareket günlüğünü ayrı diske yerleştirir.

    Not

    Uzak konumun Evrensel Adlandırma Kuralı (UNC) adı kullanarak bir uzak bilgisayardaki bir diske, ağ üzerinden dosya kopyalamak için .A UNC name takes the form \\Servername\Sharename\Path\Filename.Kullanıcı hesabının kullandığı dosyaları yerel sabit diske yazmak için SQL Server okumak veya uzak disk üzerindeki bir dosyaya yazmak için gerekli izinler verilmiş gerekir.

  3. Kopyalanan iliştirin. pubs Veritabanı ve isteğe bağlı olarak, günlük dosyalarına örnek SQL Server 2005 (Bu örnekte, aynı veritabanı adı kullanır). Içinde SQL Server Management Studio, yeni bir sorgu Düzenleyicisi sorgu açın ve sunucuya örnek veritabanına eklemek istediğiniz üzerinde.

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

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

    Not

    Içinde SQL Server Management Studio, yeni iliştirilen bir veritabanı nesnesi Explorer'da hemen görünür değil. To view the database, click the Object Explorer window, and select View > Refresh.Zaman Veritabanları düğüm genişletildi, yeni iliştirilen veritabanı, artık veritabanları listesinde görünür.

  4. Isteğe bağlı olarak, özgün yeniden bağlayın. pubs veritabanı örneğine SQL Server 2000 kullanarak sp_attach_db saklı yordam. Query Analyzer'da, 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