Veritabanlarını SQL Server çalıştıran bilgisayarlar arasında taşıma

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 314546
Özet
Bu adım adım makalede, Microsoft SQL Server kullanıcı veritabanlarını ve en sık kullanılan SQL Server bileşenleri SQL Server çalıştıran bilgisayarlar arasında taşıma konusunda açıklar.

Bu makalede açıklanan adımları master, model, tempdbveya msdb sistem veritabanlarını taşınmaz varsayalım. Adımlar, aktarım oturumları ve master ve msdb veritabanlarını bulunan en sık kullanılan bileşenleri farklı seçenekler sağlar.

Bu makaledeki adımları izlediğinizde aktarılmıyor belirli öğeler hakkında daha fazla bilgi için "Daha fazla bilgi" bölümüne bakın.

NotSQL Server 2008 için GitBir veritabanı başka bir sunucu örneği üzerinde kullanılabilir yapma olduğunda meta veri yönetme Microsoft Developer Network (msdn) Web sitesi.

Not SQL Server 2000'den Microsoft SQL Server 2000 (64-bit) veri geçirme desteklenir. 32-Bit veritabanı sp_attach_db sistem saklı yordamını veya sp_attach_single_file_db sistem saklı yordamını kullanarak, veya Yedekleme kullanarak bir 64-bit veritabanına eklemek ve 32-bit Enterprise Manager'da geri yükleyebilirsiniz. 32-Bit ve 64-bit sürümleri SQL Server arasında ileri ve geri veritabanları taşıyabilirsiniz. Ayrıca, aynı yöntemleri kullanarak verileri SQL Server 7. 0 ' geçirebilirsiniz. Ancak, verileri SQL Server 7.0 için SQL Server 2000 (64-bit)'den önceki sürümün yüklenmesinin desteklenmiyor. Her yöntemin açıklaması izler.

Adım 1: kullanıcı veritabanlarını taşıma hakkında
SQL Server 2005 kullanıyorsanız, SQL Server 7.0 veya SQL Server 2000 veri taşımak için aynı yöntemi kullanabilirsiniz. Ancak, SQL Server 2005 Yönetim aracında SQL Server 7.0 veya SQL Server 2000'de yönetim aracından farklıdır. SQL Server Management Studio'yu SQL Server Enterprise Manager yerine kullanmanız gerekir. Ayrıca, SQL Server Import and Export Wizard (DTSWizard.exe) veri dönüştürme hizmetleri alma ve Verme Sihirbazı'nı veri kullanmalısınız.

Kullanıcı veritabanlarını taşımak için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1: Ve kullanıcı veritabanlarını geri
Kaynak sunucuda kullanıcı veritabanlarını yedekleyin ve sonra hedef sunucu için kullanıcı veritabanlarını geri yükleyin.
  • Yedekleme işlemi yürütülürken veritabanında kullanılabilir.Yedek thebackup tamamlandıktan sonra kullanıcı INSERT, UPDATE veya DELETE deyimleri veritabanında gerçekleştirmek, bu değişiklikleri içermiyor. Youperform her iki hareket günlük yedekleme ve tam bir veritabanı yedeği varsa, musttransfer tüm değişiklik olursa, en az kapalı kalma değişikliklerle aktarabilirsiniz.
    1. Hedef sunucu üzerinde tam veritabanı yedeği geri yüklemek ve WITH NORECOVERY seçeneğini belirtin.

      Not Ek veritabanı değişiklikleri önlemek için kaynak sunucu üzerindeki veritabanı etkinliğini durdurmak için kullanıcıların doğrudan.
    2. Bir işlem günlüğü yedeklemesi gerçekleştirin ve İle kurtarma seçeneğini kullanarak hedef sunucuya işlem günlüğü yedeklemesinden geri yükleyin. Kapalı kalma süresi işlem günlüğünün yedekleme ve geri yükleme sınırlıdır. Daha fazla bilgi için SQL Server Books Online'da "Transact-SQL başvuru" konusundaki "Geri" alt konusuna bakın.
  • Hedef sunucuda veritabanı samesize kaynak sunucu üzerindeki veritabanı olarak kullanır. Geri yükleme tamamlandıktan sonra hedef veritabanı yedekleme, orreduce gerçekleştirmeden önce veritabanının boyutunu küçültmek için ya da kaynak veritabanı azaltmalısınız. Daha fazla bilgi için SQL Server Books Online'da "AndMaintaining veritabanları oluşturma" başlığı "Bir veritabaný küçülterek" alt konusuna bakın.
  • Farklı bir dosya locationthan kaynak veritabanı veritabanını geri yüklediğinizde, WITH MOVE seçeneği belirtmeniz gerekir. Örneğin, kaynak sunucuda veritabanı theD:\Mssql\Data klasöründe bulunur. Hedef sunucu, D sürücü ve C:\Mssql\Data klasörüne veritabanını geri yüklemek isteyip istemediğinizi sorar yok. Bir veritabanını farklı bir konuma geri yükleme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
    221465 WITH MOVE seçeneği ile geri yükleme deyimini kullanarak
    304692 SQL Server 7.0 veritabanlarını yedekleme ve geri yükleme ile yeni bir konuma taşıma
  • Hedef sunucuda önceden varolan bir veritabanının üzerine yazmak isterseniz, Değiştir seçeneğini belirtmeniz gerekir. Daha fazla bilgi için SQL Server Books Online'da "Transact-SQL başvuru" konusundaki "Geri" alt konusuna bakın.
  • Hangi yourestore SQL Server sürümüne bağlı olarak, karakter kümesi, sıralama düzeni ve Unicode Harmanlama bethe için aynı kaynak ve hedef sunucular üzerinde olabilir. Daha fazla bilgi için "Not harmanlama hakkında" Bu bölümün sonraki kısımlarında seethe.


Yöntem 2: sp_detach_db ve sp_attach_db kullanmak saklı yordamlar
Saklı yordamlar sp_detach_db ve sp_attach_db kullanmak için şu adımları izleyin:
  1. Kaynak sunucu üzerindeki veritabanı bağlantısını kesin sp_detach_dbsaklı yordamını kullanarak. .mdf .ndf ve hedef sunucu için veritabanı ile ilişkili olan .ldf dosyaları kopyalamanız gerekir. Bu tablo dosya türlerini bir açıklaması için bkz:
    Dosya adı uzantısıAçıklama
    .mdf Birincil veri dosyası
    .ndf İkincil veri dosyası
    .ldf İşlem günlük dosyası
  2. Sp_attach_dbsaklı yordamını kullanarak hedef sunucudaki veritabanını iliştirmek ve hedef sunucu önceki adımda kopyaladığınız dosyaların üzerine gelin. Bu yöntemlerin nasıl kullanılacağı hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    224071 SQL Server'daki Detach ve Attach işlevlerini kullanarak SQL Server veritabanlarını yeni bir konuma taşımak nasıl
  • Sonra detach veritabanı erişilemez ve erişimcilerinden veritabanı dosyalarını kopyalarken kullanın. Veritabanı noktasına Ayır zamanında içerdiği tüm verilerin taşındığı.
  • Karakter kümesi, sıralama düzeni ve Unicode Harmanlama mayhave Ekle veya ayırma yöntemini kullandığınızda, her iki sunucuda aynı olması. Daha fazla bilgi için harmanlama hakkında bilgi için aşağıdaki nota bakın.
NotVeritabanlarını yedekleme ve geri yükleme veyaAttach ve Detachyöntemlerini kullanarak SQL Server 7.0 sunucular arasında taşırsanız, karakter kümesi, sıralama düzeni ve Unicode Harmanlama her iki sunucuda aynı olmalıdır. Veritabanlarını SQL Server 7. 0 ' SQL Server 2000 veya SQL Server 2000 sunucuları arasında taşırsanız, veritabanı kaynak veritabanı alfabe düzenini korur. Başka bir deyişle, hedef veritabanı kaynak veritabanı daha farklı bir harmanlama SQL Server 2000 çalıştıran hedef sunucu varsa, hedef sunucununana, model, tempdbve msdb veritabanlarını daha farklı bir harmanlama vardır. Daha fazla bilgi için SQL Server 2000 Çevrimiçi Kitapları'nda "Karma ortamlarda harmanlama" konusuna bakın.



Yöntem 3: nesneleri ve SQL Server veritabanları arasında verileri kopyalamak için alma ve Verme Sihirbazı'nı veri kullanma
Tüm veritabanını kopyalayabilir veya seçerek nesneleri ve veri kaynak veritabanından hedef veritabanına veri dönüştürme hizmetleri alma ve veri Verme Sihirbazı'nı kullanarak kopyalayın.
  • Thetransfer sırasında kaynak veritabanı kullanılabilir. Kaynak veritabanı aktarma sırasında kullanılıyorsa, ne zaman bazı engelleme görebilirsiniz transfer isin ilerleme.
  • Ne zaman alma ve verme veri Sihirbazı, karakter kümesi, sıralama düzeni kullanmak ve harmanlama kaynak sunucu ve hedef sunucu arasında aynı olması gerekmez.
  • Kullanılmayan alan kaynak veritabanında bulunan taşınmaz nedeniyle, hedef veritabanı kaynak veritabanı daha büyük olacak şekilde olmayabilir.Bazı nesneler taşırsanız, benzer şekilde, hedef veritabanı olmayabilir sizin kaynak veritabanı daha büyük.
  • SQL Server 7.0 Data Transformation Services veri 64 KB'den daha uzun düzgün görüntü ve metin nottransfer olabilir. Bu sorun, notapply Data Transformation Services'ın SQL Server 2000 sürümü için yapar. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    257425 Düzeltme: DTS nesne aktarım 64 KB'den büyük BLOB veri aktarmaz


2. Adım: nasıl oturum ve parolaları aktarma
Siz oturumlar kaynak sunucudan hedef sunucuya aktarılmaz, geçerli SQL Server kullanıcıları hedef sunucuya oturum açılamıyor olabilir. Oturum ve parolaları aşağıdaki Microsoft Bilgi Bankası makalesinde yönergeleri kullanarak aktarabilirsiniz:
246133 Oturum ve Parolaları SQL Server örnekleri arasında aktarma
Hedef sunucu üzerinde oturumları için varsayılan veritabanı kaynak sunucu üzerindeki oturumlar için varsayılan veritabanını farklı olabilir. Varsayılan veritabanı için bir oturum açma sp_defaultdb saklı yordamını değiştirebilirsiniz. Daha fazla bilgi için SQL Server Books Online'da "Transact-SQL başvuru" konu "sp_defaultdb" alt konusuna bakın.


Adım 3: nasıl artık kullanıcıları çözümleme
Hedef sunucuda oturum ve parolaları aktardıktan sonra kullanıcılar veritabanına erişemiyor olabilir. Kullanıcılar için güvenlik tanımlayıcısı (SID) ile ilişkili oturumları ve bir veritabanını taşıdıktan sonra SID tutarsız durumda, SQL Server kullanıcı veritabanı erişimini. Bu sorun, artık bir kullanıcı bilinir. Oturum ve Parolaları SQL Server 2000 DTS Transfer oturum açma özelliğini kullanarak transfer, büyük olasılıkla kullanıcıların artık. Ayrıca, tümleşik oturum açmayı kaynak farklı bir etki alanındaki hedef sunucuda Sunucu neden artık kullanıcıların erişim.
  1. Artık kullanıcılar için arayın. Thedestination sunucuda Query Analyzer'ı açın ve aşağıdaki kodu, youmoved kullanıcı veritabanında çalıştırın:
    exec sp_change_users_login 'Report'
    Yordamı oturum açmak için bağlantı değil artık tüm kullanıcıları listeler. Ifno kullanıcılar listelenir, adım 2 ve 3 adımı atlayın ve adım 4'e gidin.
  2. Artık kullanıcıları çözümleme. Kullanıcı artık, databaseusers Server'da başarıyla oturum açabilir, ancak izin toaccess veritabanı yoktur. Oturum açma veritabanına erişim izni vermek çalışırsanız, kullanıcı zaten var olduğundan, aşağıdaki hata iletisini alırsınız:
    Microsoft SQL-DMO (ODBC SQLState: 42000) hata 15023:User veya '%s' rolü geçerli veritabanında zaten.
    Artık kullanıcıları çözümleme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
    240872 SQL Server çalıştıran sunucular arasında veritabanı taşındığında, izin sorunlarını çözümleme hakkında

    Aşağıdaki Microsoft Bilgi Bankası makalesi veritabanı kullanıcılara oturumlarını eşleştirmek yönergeler içerir ve kullanıcılar artık standart SQL Server oturumu açma ve oturumu entegre giderir:

    274188 Çevrimiçi Kitapları'nda "Artık kullanıcı sorunlarını giderme" konusu tamamlanmamış

    Bu makalede, sp_change_users_login saklı yordamı artık kullanıcıların tek tek düzeltmek için nasıl kullanılacağını açıklar. Sp_change_users_login saklı yordamını yalnızca standart SQL Server oturumu açma artık kullanıcıları giderir.
  3. Veritabanı sahibi (dbo) olarak listeleniyorsa, artık, kullanıcı veritabanında bu kodu çalıştırın:
    exec sp_changedbowner 'sa'
    Saklı yordam, veritabanı sahibidbo değiştirir ve sorunu giderir. Başka bir kullanıcı için veritabanı sahibi değiştirmek için istediğiniz kullanıcı ile sp_changedbowner yeniden çalıştırın. Daha fazla bilgi için SQL Server Books Online'da "Transact-SQL başvuru" konu "sp_changedbowner" alt konusuna bakın.
  4. Hedef sunucu SQL Server 2000 Service Pack 1 çalıştıran, Ekle veya geri yükleme ya da her ikisini de gerçekleştirdikten sonra veritabanı sahibi kullanıcı listesinde Enterprise Manager içinde Kullanıcılar klasöründe olmayabilir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    305711 Hata: Enterprise Manager'da DBO kullanıcısı görüntülemez
  5. Kaynak sunucu üzerindeki mappedto dbo olan oturum açma destinationserver üzerinde yoksa, Sistem Yöneticisi (SA) parolası Enterprise Manager kullanarak bağlantısı çalışırsanız aşağıdaki hata iletisini alabilirsiniz:
    Hata 21776: SQL-DMO adı 'dbo' Users derlemesi bulunamadı. Adı tam adı, [] adı çeşitli bölümlerini ayırmak ve tekrar denemek için kullanın.
    Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    218172 Enterprise Manager'da SA parolasını değiştiremez
Uyarı Geri yükleyin veya veritabanını iliştirmek, veritabanı kullanıcıları yeniden sahipsiz ve 3 adımı yinelemeniz gerekir.

Adım 4: işleri, uyarıları ve işleçler taşımak nasıl
4. Adım isteğe bağlıdır. Tüm işleri, uyarıları ve işleçler kaynak sunucu üzerindeki komut dosyaları oluşturmak ve sonra hedef sunucu üzerinde komut dosyasını çalıştırın.
  • İşleri, uyarıları ve işleçler taşımak için şu adımları izleyin:
    1. SQL Server Enterprise Manager'ı açın ve sonra Management klasörünü açın.
    2. SQL Server Agent' ı genişletin ve sonraUyarıları, işleriveya işleçlerisağ tıklatın.
    3. Tüm görevler' i tıklatın ve sonra Generate SQL Script' ı tıklatın. SQL Server 7.0 için Komut dosyası tüm işleri, Uyarılarveya İşleç' ı tıklatın.
    Bütün işleçler sağ maddesinde göre veya Tüm uyarılarıiçin Tüm işleri, komut dosyaları oluşturma seçeneğiniz olur.
  • SQL Server 2000 veya SQL Server 7.0 çalıştıran bilgisayar sunucuları ve SQL Server 2000, SQL Server 7. 0 ' işleri, uyarıları ve işleçler taşıyabilirsiniz.
  • Kaynak sunucu üzerindeki bildirim bySQLMail için belirlenen operatörler varsa, aynı işlevselliği sağlamak için destinationserver üzerinde SQLMail ayarlamak var. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    263556 SQL Mail yapılandırma


Adım 5: DTS Paketleri taşımak nasıl
5. Adım isteğe bağlıdır. DTS paketlerini SQL Server ya da havuz kaynak sunucuda depolandıysa, isterseniz, bunları taşıyabilirsiniz. DTS paketlerini sunucular arasında taşımak için aşağıdaki yöntemlerden birini kullanın.

Yöntem 1: SQL Server DTS paketini kaydetmek
  1. DTS paketinin kaynak sunucuda DTS paket dosyası hedef sunucudaki ve açık bir dosyaya kaydedin.
  2. Hedef sunucuda SQL Server ya da havuz paketi kaydedin.
    Not Ayrı dosyalarda her paketi tek tek taşımak zorunda.


Yöntem 2: DTS paketinin DTS Tasarımcısı içinde açın.
  1. Her DTS paketinin DTS Tasarımcısı içinde açın.
  2. Paket menüsünde Farklı Kaydet'itıklatın.
  3. SQL Server hedef belirtin.
NotPaket, yeni sunucuda düzgün çalışmayabilir. Paketi değiştirmek ve bağlantıları, dosya, veri kaynakları, profilleri ve diğer bilgilere yeni hedef sunucuya başvurmak için eski kaynak sunucu üzerindeki, paketinde herhangi bir baþvuru değiştirmek zorunda kalabilirsiniz. Her paket tasarımına bağlı paketini temelinde bu değişiklikler yapmanız gerekir.

6. Adım: önceki bilgisayara uygun olarak sp_configure ayarları değiştirme
Ayarları yeni bilgisayara eşleşebilmeleri için ayarları değiştirmeniz gerekebilir. Örneğin, yeni bilgisayarda daha fazla bellek varsa veya farklı SQL örnekleri ve uygulamaları çalıştırıyorsanız, en az ve en fazla sunucu bellek ayarlarını veya AWE ayarını değiştirmek isteyebilirsiniz. İşletim sistemine sunulan CPU çekirdeği sayısı değiştirilmişse MAXDOP ayarını değiştirmeniz gerekebilir.
Daha fazla bilgi
Bağlantılı sunucular, yansıtma, çoğaltma, Yedekleme aygıtları, bakım planları, veritabanı diyagramları, veritabanı anlık görüntüleri, kimlik bilgilerini ve proxy hesapları, bitiş noktaları, (örneğin, bir oturum açma tetikleyici) sunucu kapsamlı DDL Tetikleyicileri veya master veya msdb içeren diğer öğeleri adlı Kargo, tam-metin kataloglar oturum gibi diğer öğeleri taşımak isteyebilirsiniz. Bu yapılandırmalar için kaynak sunucu inceleyin ve isterseniz bunları el ile hedef sunucuda ayarlamak için adımlar.

Tam metin bileşenleri taşıma hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
240867 Taşımak, kopyalamak ve tam metin kataloğu klasörleri ve dosyaları yedeklemek nasıl
Bu makaledeki adımları izlerseniz, veritabanı diyagramları ve yedekleme ve geri yükleme geçmişini taşınmaz. Bu bilgiyi taşımanız gerekirmsdb sistem veritabanı taşıyın. İçinde başvurulan Microsoft Bilgi Bankası makalelerinde msdb veritabanını taşıma hakkında daha fazla bilgi için bkz: "Adım 1: kullanıcı veritabanlarını taşıma" bölümü. Msdb veritabanını taşırsanız, izleyin gerekmez "Adım 4: taşıma işleri, uyarıları ve işleçler hakkında" veya "Adım 5: DTS paketlerini taşıma."
Referanslar
Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
320125 Veritabanı diyagramında taşınması
Döküm yük

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Властивості

Ідентифікатор статті: 314546 – останній перегляд: 10/10/2013 09:21:00 – виправлення: 2.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL 2005 Server Workgroup, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 7.0 Standard Edition

  • kbsqlsetup kbhowtomaster kbmt KB314546 KbMttr
Зворотний зв’язок