Aracılığıyla paylaş


Bir veritabanı (Analysis Services) taşıma

Genellikle durumlar vardır, bir Analysis Services veritabanı yöneticisi (dba) istediği bir veritabanını farklı bir konuma taşımak. Bu gibi durumlarda genellikle daha iyi performans, veritabanı büyüme veya bir ürüne yükseltmek için yer kazanmak için farklı bir diske veritabanını taşıma gibi iş ihtiyaçlarınıza göre yönlendirilen.

Bir veritabanı, birçok bakımdan taşınabilirler.Bu belge aşağıdaki genel senaryolar açıklanmaktadır:

  • ssms etkileşimli kullanma

  • Program aracılığıyla ÇYN kullanarak

  • Komut dosyası tarafından xmla kullanma

Tüm senaryoları veritabanı klasörü erişmek ve istenen son hedef dosyaları taşımak için bir yöntem kullanmak için kullanıcının gerektirir.

Not

Parola atamadan bir veritabanını ayırmak veritabanına güvenli olmayan bir durumda bırakır.Gizli bilgileri korumak için veritabanı için bir parola atayarak öneririz.Ayrıca, ilgili erişim güvenlik veritabanı klasörü, alt klasörler ve dosyalar kendisine yetkisiz erişimi engellemek için uygulanmalıdır.

Yordamlar

ssms etkileşimli olarak kullanarak bir veritabanını taşıma

  1. ssms sol veya sağ bölmesinde taşınacak veritabanı bulun.

  2. Sonra veritabanı seçin sağ ve Detach…

  3. Ayrılmış ve sonra tıklatın veritabanı için bir parola atamak Tamam Ayır komutu yürütmek için.

  4. Herhangi bir işletim sistemi mekanizması veya bilgisayarınızın standart yöntem veritabanı klasörü yeni bir konuma taşımak için dosyaları taşıma.

  5. Bulun veritabanları ssms sol veya sağ bölmesinde klasör.

  6. Sağ tıklayın veritabanları klasörü seçip alt Attach…

  7. De klasörüne metin kutusunda, yeni veritabanı klasörünün konumunu yazın.Alternatif olarak, gözat düğmesi kullanabilirsiniz () veritabanı klasörü bulun.

  8. Seçin OKUMAYAZMA veritabanı için mod.

  9. 3. Adımda kullanılan parolayı yazın ve'ı Tamam Ekle komutunu yürütmek için.

Program aracılığıyla ÇYN kullanarak bir veritabanını taşıma

  • C# uygulama, aşağıdaki örnek kodu uyarlamak ve belirtilen görevleri tamamlayın.

private void MoveDb(Server server, string dbName,

string dbInitialLocation, string dbFinalLocation,

string dbPassword, ReadWriteMode dbReadWriteMode)

{

//Verify dbInitialLocation exists before continuing

if (server.Databases.ContainsName(dbName))

{

Database db;

//Save current cursor and change cursor to Cursors.WaitCursor

db = server.Databases[dbName];

db.Detach(dbPassword);

//Add your own code to copy the database files to the destination where you intend to attach the database

//Verify dbFinalLocation exists before continuing

server.Attach(dbFinalLocation, dbReadWriteMode, dbPassword);

//Restore cursor to its original

}

}

  1. C# uygulamanızda, harekete geçirmek MoveDb() ile gerekli parametreleri.

  2. Derlemek ve yürütmek veritabanını taşımak için kod.

Komut dosyası tarafından xmla kullanarak bir veritabanını taşıma

  1. Yeni bir sekme xmla ssms içinde açın.

  2. Aşağıdaki komut dosyası şablon için xmla kopyalayın

<Detach xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">

<Object>

<DatabaseID>%dbName%</DatabaseID>

<Password>%password%</Password>

</Object>

</Detach>

  1. Yerine %dbName% veritabanı adını ve %password% ile parola.% Karakteri şablonunun bir parçası olan ve kaldırılması gerekir.

  2. xmla bağlamını.

  3. Herhangi bir işletim sistemi mekanizması veya bilgisayarınızın standart yöntem veritabanı klasörü yeni bir konuma taşımak için dosyaları taşıma.

  4. Aşağıdaki komut dosyası şablon için xmla xmla yeni sekmede kopyalama

<Attach xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">

<Folder>%dbFolder%</Folder>

<ReadWriteMode xmlns="https://schemas.microsoft.com/analysisservices/2008/engine/100">%ReadOnlyMode%</ReadWriteMode>

</Attach>

  1. Yerine %dbFolder% , veritabanı klasörünün tam unc yol ile %ReadOnlyMode% karşılık gelen değeri ile ReadOnly veya ReadWrite, ve %password% ile parola.% Karakteri şablonunun bir parçası olan ve kaldırılması gerekir.

  2. xmla bağlamını.