Share via


Bir veri katmanlı uygulama dağıtma

Bir veri katman uygulaması (dac) dac paketini kullanarak varolan bir örneği dağıtmak için dağıtma veri katmanlı uygulama Sihirbazı'nı kullanmak Veritabanı Altyapısıya SQL Azure. Dağıtım işlemi dac örneği dac tanımında depolayarak kaydeder msdbveritabanı ( master de SQL Azure), bir veritabanı oluşturur ve sonra ile dac içinde tanımlanan tüm veritabanı nesnelerini veritabanı doldurur.

Başlamadan Önce

Aynı dac paketi için tek bir örneği dağıtılabilir Veritabanı Altyapısıbirden çok kez, ancak dağıtımları teker teker çalıştırılmalıdır. Her dağıtım örneği içinde benzersiz olmalıdır için belirtilen dac örnek adı Veritabanı Altyapısı.

SQL Server hizmet programı

Yönetilen bir veritabanı altyapısı örneğine bir dac dağıtırsanız, dağıtılan dac yarar koleksiyonu kümesi örneğinden yardımcı kontrol noktasına gelecek yollanan SQL Server hizmet programı dahil. dac sonra mevcut olacak Deployed veri katmanlı uygulamalar düğümü Management Studio   Utility Explorer ve de Deployed veri katmanlı uygulamalar ayrıntıları sayfası.

Veritabanı seçenekleri ve ayarları

Varsayılan olarak, dağıtım sırasında oluşturulan veritabanı create database deyimi varsayılan ayarların dışında sahip olur:

  • Veritabanı Harmanlama uyumluluk düzeyi dac paketin tanımlı değerlere ayarlanır. Veritabanı proje SQL Server geliştirici araçları inşa dac paket veritabanı projesinde ayarlanan değerleri kullanır. Varolan bir veritabanından açılan bir paketin özgün veritabanından değerleri kullanır.

  • İçinde bazı veritabanı adı ve dosya yolları gibi veritabanı ayarları ayarlayabilirsiniz Tuşlarındaki sayfa. Dosya yolları için dağıtırken ayarlayamazsınız SQL Azure.

trustworthy, DB_CHAINING ve HONOR_BROKER_PRIORITY, gibi bazı veritabanı seçeneklerini dağıtım işleminin bir parçası ayarlanamaz. Filegroups, veya numaraları numarası ve dosyalarının boyutları gibi fiziksel özellikler dağıtım işleminin bir parçası değiştirilemez. Dağıtım tamamlandıktan sonra alter database deyimini kullanabilirsiniz SQL Server Management Studio, ya SQL Serververitabanı terzi PowerShell. Daha fazla bilgi için, bkz. Modifying a Database.

Sınırlamalar ve Kısıtlamalar

Bir dac için dağıtılabilir SQL Azure, ya da bir örneği Veritabanı Altyapısıçalışan SQL Server 2005Service Pack 4 (SP4) veya sonrasına. dac kullanarak oluşturursanız, SQL Server 2012ya SQL Server 2008 R2, dac tarafından desteklenmeyen nesneler içerebilir SQL Server 2005. Bu DAC örneklerine dağıtamazsınız SQL Server 2005.

Ön Koşullar

Bilinmeyen veya güvenilmeyen kaynaklardan gelen dac paketi dağıtmayın öneririz. Bu tür paketler istenmeyen Transact-sql kod yürütmesine veya şema değiştirerek hatalara neden kötü amaçlı kodu içerebilir. Bilinmeyen veya güvenilmeyen bir kaynaktan paket kullanmadan önce dac açmak ve saklı yordamlar veya diğer kullanıcı tanımlı kod gibi bir kod inceleyin. Bu denetimler gerçekleştirme hakkında daha fazla bilgi için bkz: dac paketi doğrula.

Güvenlik

Güvenliği artırmak için SQL Server kimlik doğrulaması oturum açma parola olmadan dac paket saklanır. Paket dağıtılan ya da terfi ettirmek giriş oluşturulan bir parola ile engelli bir giriş oluşturulur. Oturum açma etkinleştirmek için alter any LOGIN iznine sahip bir oturum açma kullanarak oturum açın ve alter LOGIN login etkinleştirmek ve kullanıcıya tebliğ yeni bir parola atamak için kullanın. Parolaları SQL Server tarafından yönetilen değil çünkü bu Windows kimlik doğrulaması oturum açma için gerekli değildir.

İzinler

bir dac yalnızca üyeleri tarafından dağıtılabilir sysadmin veya serveradmin sabit sunucu rolü veya olan oturumları dbcreator sabit sunucu rolü ve sahip alter any LOGIN izni. Yerleşik SQL Serveradlı sistem yöneticisi hesabının sa de bir dac dağıtabilirsiniz. dac ile oturumu dağıtma SQL Azureloginmanager veya serveradmin rol üyeliği gerektirir. dac oturumu olmadan dağıtmak SQL Azuredbmanager veya serveradmin rol üyeliği gerektirir.

Kullanarak veri katmanlı uygulama Sihirbazı'nı dağıtma

Veritabanı veritabanı dağıtma Sihirbazı'nı kullanarak geçirmek için

  1. Örneğine bağlanmak SQL Server, şirket içi mi ya da SQL Azure.

  2. İçinde Object Explorer, dac dağıtmak istediğiniz örneği düğümünü genişletin.

  3. Sağ veritabanı düğümü ve daha sonra Veritabanı geçirme.

  4. Sihirbaz iletişim kutularını tamamlayın:

    • Giriş sayfası

    • Dağıtım ayarlarını

    • Doğrulama

    • Özet sayfası

    • Sonuçlar

Giriş sayfası

Bu sayfa, dağıtmak Veritabanı Sihirbazı için adımları açıklar.

Seçenekler

  • Bu sayfayı bir daha gösterme. -Giriş sayfasında gelecekte görüntülenmesini durdurmak için onay kutusunu tıklatın.

  • Sonraki -için gelirleri Dağıtım ayarlarını sayfa.

  • İptal -işlemini iptal eder ve sihirbaz kapanır.

Dağıtım ayarları sayfası

Ana sunucu belirtmek için ve yeni veritabanı hakkında ayrıntılı bilgi için bu sayfayı kullanın.

Yerel ana makine:

  • Sunucu bağlantısı -sunucu bağlantısı ayrıntıları belirtir ve sonra Connect bağlantıyı doğrulamak için.

  • Yeni bir veritabanı adı – yeni veritabanı için bir ad belirtin.

sql Azure ana:

  • sql Azure baskı -sql Azure sürümü açılır menüden seçin.

  • En fazla veritabanı boyutu – en fazla veritabanı boyutu açılır menüden seçin.

Diğer ayarları:

  • Geçici dosyanın yerel bir dizin belirtin. Not geçici dosya belirtilen konumda oluşturulur ve işlem tamamlandıktan sonra orada kalacaktır.

Doğrulama sayfası

Doğrulama sayfası çalışmasını engelleyen sorunları incelemek için kullanın. Devam etmek için engelleme sorunlarını çözmek ve ardından Doğrulama çalıştırın doğrulama başarılı olduğundan emin olun.

Devam etmek için tıklayın Next.

Özet sayfası

Operasyon için belirtilen kaynak ve hedef ayarlarını gözden geçirmek için bu sayfayı kullanın. Belirtilen ayarları kullanarak verme işlemini tamamlamak için tıklatın son. Verme işlemini iptal edip sihirbazdan çıkmak için tıklayın İptal.

İlerleme durumu sayfası

Bu sayfa, işlemin durumunu gösteren bir ilerleme çubuğu görüntüler. Ayrıntılı durumunu görüntülemek için tıklayın ayrıntılara seçeneği.

Sonuçlar sayfası

Bu sayfa, başarı veya başarısızlık dağıtma işleminin her eylemin sonuçlarını gösteren raporlar. Hatayla karşılaştığı herhangi bir eylem bir bağlantı olacak sonucu sütun. Bu eylem için hata raporu görüntülemek için bağlantıyı tıklatın.

Tıklayın son Sihirbazı kapatın.

PowerShell kullanma

dac kullanarak dağıtmak için Install()bir PowerShell komut dosyası yöntemi

  1. smo sunucu nesnesi oluşturun ve koymak o-e doğru dac dağıtmak istediğiniz örneği.

  2. Açık bir ServerConnectionnesne ve aynı örneğe bağlanın.

  3. Kullanım System.IO.Filedac paket dosyasını yüklemek için.

  4. Kullanım add_DacActionStartedve add_DacActionFinisheddac dağıtım olaylara abone.

  5. Set DatabaseDeploymentProperties.

  6. Kullanım DacStore.Installdac dağıtma yöntemi.

  7. dac paket dosyasını okumak için kullanılan dosya akışı kapatın.

Örnek (PowerShell)

Aşağıdaki örnek bir varsayılan örneği üzerinde MyApplication adında bir dac dağıttığı Veritabanı Altyapısı, MyApplication.dacpac paket dac tanımından kullanma.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = get-item .

## Open a Common.ServerConnection to the same instance.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)
$serverconnection.Connect()
$dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)

## Load the DAC package file.
$dacpacPath = "C:\MyDACs\MyApplication.dacpac"
$fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)
$dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)

## Subscribe to the DAC deployment events.
$dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})
$dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})

## Deploy the DAC and create the database.
$dacName  = "MyApplication"
$evaluateTSPolicy = $true
$deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverconnection,$dacName)
$dacstore.Install($dacType, $deployProperties, $evaluateTSPolicy)
$fileStream.Close()

Ayrıca bkz.

Kavramlar

Veri katmanlı uygulamalar

Veritabanı tanımlayıcıları

Diğer Kaynaklar

Deploying Data-tier Applications