Aracılığıyla paylaş


Nasıl Yapılır: Bir veritabanını kullanma ve Ayır (Transact-SQL) Ekle

Important noteImportant Note:

Yerine, ALTER DATABASE planlanan yerleştirme yordamını kullanarak, veritabanlarının bağlantısını kesin ve iliştirin taşımanız önerilir.Daha fazla bilgi için bkz:ALTER DATABASE Transact-SQL).

Çıkarılmış bir veritabanını başka bir konuma taşımak ve onu aynı veya farklı bir sunucuya re-attach örnek.

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.

Eklediğiniz zaman bir SQL Server 2005 tam metin kataloğu dosyalarını içeren veritabanı bir SQL Server 2008 sunucu örnek, dosyalar ile birlikte diğer veritabanı dosyaları, aynı önceki konumlarından ekli katalog SQL Server 2005. Daha fazla bilgi için bkz:tam metin araması yükseltme.Ne zaman bir yükseltilmiş Ayır SQL Server 2005 tam metin kataloğu dosyaları içeren bir veritabanı bir SQL Server 2008 sunucuyu, diğer veritabanı dosyaları, aynı olan katalog dosyalarını tutulur SQL Server 2005.

Not

Ayrıca ayırmak ve yükseltme iliştirin bir SQL Server 2000 veya SQL Server 2005 veritabanına SQL Server 2008. Daha fazla bilgi için bkz:Nasıl Yapılır: Yükseltme, bir veritabanı kullanma ve Ayır (Transact-SQL) Ekle.

Yordam

Bir veritabanına kopyalamak kullanarak ayırın ve ekleme

  1. Kullanarak veritabanının bağlantısını kesin sp_detach_db saklı yordamını.

  2. Windows Gezgini'nde veya Windows komut istemi penceresinde, çıkarılmış bir veritabanını dosya veya dosyalar ve günlük dosyası veya dosyaları yeni konuma taşıyın.

    Not

    Bir tek dosyalı veritabanı taşımak için , dosya boyutu için eposta yerleştirmek yeterince küçükse e-posta kullanabilirsiniz.

    Bile, yeni günlük dosyaları oluşturmak kullanmak istediğiniz günlük dosyalarını da 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.Günlüğün bir kopyasını özgün konumda 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. CREATE DATABASE kullanarak kopyalanan bir dosya iliştirin. Transact-SQL olan bir FOR ATTACH [WITH deyim <service_broker_option> ] veya bir FOR ATTACH_REBUILD_LOG yan tümce (daha fazla bilgi için bkz: DATABASE (Transact-SQL) CREATE). Her veritabanı yönlendirme için kullanılan benzersiz bir tanımlayıcı içerir. Service Broker Bu veritabanı için iletileri. Veritabanı kullanıyorsa Service Broker, bkz: Service Broker kimlikleri yönetme.

    Not

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

Örnek

Aşağıdaki örnek, bir kopyasını oluşturur AdventureWorks Veritabanı adı MyAdventureWorks. The Transact-SQL statements are executed in a Query Editor window that is connected to the server örnek to which AdventureWorks is attached.

  1. Ayırma AdventureWorks Aşağıdaki çalışan tarafından veritabanı Transact-SQL ifadeler:

    USE master;
    GO
    EXEC sp_detach_db @dbname = N'AdventureWorks';
    GO
    
  2. Seçtiğiniz yöntem kullanarak, veritabanı dosyaları (AdventureWorks_Data.mdf ve AdventureWorks_log) kopyalayın: C:\MySQLServer\AdventureWorks_Data.mdf ve C:\MySQLServer\AdventureWorks_Log.ldf, sırasıyla.

    Important noteImportant Note:

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

    Dosyaları ağ üzerinden uzak bir bilgisayardaki disk kopyalamak için , Evrensel Adlandırma Kuralı (UNC) adını uzak konumun Ek Yardım düğmesini kullanın.A UNC name takes the form **\\Servername\Sharename\Path\**Filename.Dosyaları yerel sabit diske yazma gibi okumak veya uzak disk üzerindeki bir dosyaya yazmak için gerekli olan uygun izinlere örnek tarafından kullanılan kullanıcı hesabına sahip olmanız gerekir SQL Server.

  3. Aşağıdaki komutu çalıştırarak taşınan veritabanı ve isteğe bağlı olarak, günlük iliştirin. Transact-SQL ifadeler:

    USE master;
    GO
    CREATE DATABASE MyAdventureWorks 
        ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'),
        (FILENAME = 'C:\MySQLServer\AdventureWorks_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. Veritabanı, Object Explorer içinde görüntülemek için tıklatın... View and then Yenileme.Zaman Veritabanları düğüm yeni iliştirilen veritabanı, artık veritabanları listesinde görünür, nesne Explorer'da genişletilir.