Veritabanı Projeleri DağıtmaDeploying Database Projects

Jason Lee tarafındanby Jason Lee

PDF 'YI indirDownload PDF

Note

Birçok kurumsal dağıtım senaryosunda, dağıtılmış bir veritabanına artımlı güncelleştirmeler yayımlama yeteneğinin olması gerekir.In lots of enterprise deployment scenarios, you need the ability to publish incremental updates to a deployed database. Diğer bir deyişle, veritabanını her dağıtımda yeniden oluşturmak, bu da var olan veritabanındaki tüm verileri kaybetmeniz anlamına gelir.The alternative is to recreate the database on every deployment, which means you lose any data in the existing database. Visual Studio 2010 ile çalışırken, VSDBCMD kullanmak, artımlı veritabanı yayımlaması için önerilen yaklaşımdır.When you work with Visual Studio 2010, using VSDBCMD is the recommended approach to incremental database publishing. Ancak, Visual Studio 'nun sonraki sürümü ve Web yayımlama işlem hattı (WPP) doğrudan artımlı yayımlamayı destekleyen araçları içerir.However, the next version of Visual Studio and the Web Publishing Pipeline (WPP) will include tooling that supports incremental publishing directly.

Visual Studio 2010 ' de Contact Manager örnek çözümünü açarsanız, veritabanı projesinin dört dosya içeren bir Özellikler klasörü içerdiğini görürsünüz.If you open the Contact Manager sample solution in Visual Studio 2010, you'll see that the database project includes a Properties folder that contains four files.

Proje dosyasıyla birlikte (Bu durumdaContactManager. Database. dbproj ), bu dosyalar derleme ve dağıtım sürecinin çeşitli yönlerini denetler:Together with the project file (ContactManager.Database.dbproj in this case), these files control various aspects of the build and deployment process:

  • Database. sqlcmdvars dosyası, projeyi dağıtırken kullandığınız HERHANGI bir sqlcmd değişkeni için değerler sağlar.The Database.sqlcmdvars file provides values for any SQLCMD variables you use when you deploy the project. Her çözüm yapılandırması (örneğin, hata ayıklama ve yayın) farklı bir. sqlcmdvars dosyası belirtebilir.Each solution configuration (for example, debug and release) can specify a different .sqlcmdvars file.
  • Database. sqldeployment dosyası, projenizde tanımlanan harmanlamayı ya da hedef sunucunun harmanlamasını kullanmak, hedef veritabanının her seferinde yeniden oluşturulup oluşturulmayacağını veya mevcut veritabanını güncel hale getirmek için bu şekilde değişiklik yapıp kılmayacağını, dağıtıma özgü ayarlar sağlar.The Database.sqldeployment file provides deployment-specific settings, like whether to use the collation defined in your project or the collation of the destination server, whether to recreate the destination database every time or simply amend the existing database to bring it up to date, and so on. Her çözüm yapılandırması, farklı bir. sqldeployment dosyası belirtebilir.Each solution configuration can specify a different .sqldeployment file.
  • Database. sqlpermissions dosyası, hedef veritabanına eklemek istediğiniz izinleri tanımlamak için KULLANABILECEĞINIZ bir XML belgesidir.The Database.sqlpermissions file is an XML document that you can use to define any permissions you want to add to the target database. Tüm çözüm konfigürasyonları aynı. sqlpermissions dosyasını paylaşır.All solution configurations share the same .sqlpermissions file.
  • Database. sqlsettings dosyası, veritabanı oluşturulurken kullanılacak harmanlama, karşılaştırma işleçleri davranışı vb. gibi veritabanı düzeyinde özellikleri belirtir.The Database.sqlsettings file specifies the database-level properties to use when creating the database, like the collation to use, the behavior of comparison operators, and so on. Tüm çözüm konfigürasyonları aynı. sqlsettings dosyasını paylaşır.All solution configurations share the same .sqlsettings file.

Bu dosyaların Visual Studio 'da açılması ve içerikleri öğrenmeniz bir süre harcamaktır.It's worth taking a moment to open these files in Visual Studio and familiarize yourself with the contents.

Bir veritabanı projesi oluşturduğunuzda, yapı işlemi iki dosya oluşturur:When you build a database project, the build process creates two files:

  • Bir veritabanı şeması (. dbschema dosyası).A database schema (.dbschema file). Bu, XML biçiminde oluşturmak istediğiniz veritabanının şemasını açıklar.This describes the schema of the database you want to create in XML format.
  • Dağıtım bildirimi (. DeployManifest dosyası).A deployment manifest (.deploymanifest file). Bu, veritabanınızı oluşturmak ve dağıtmak için gereken tüm bilgileri içerir.This contains all the information required to create and deploy your database. Dağıtım yönergeleri (. sqldeployment dosyası) ve dağıtım öncesi veya dağıtım sonrası SQL betikleri gibi diğer kaynaklarla birlikte. dbschema dosyasına başvurur.It references the .dbschema file along with other resources, like the deployment instructions (the .sqldeployment file) and any pre-deployment or post-deployment SQL scripts.

Bu kaynaklar arasındaki ilişkiyi gösterir:This shows the relationship between these resources:

Gördüğünüz gibi,. sqlsettings dosyası ve. sqlpermissions dosyası yapı işlemine yönelik girişlerdir.As you can see, the .sqlsettings file and the .sqlpermissions file are inputs to the build process. Veritabanı proje dosyası ile birlikte, bu dosyalar veritabanı şeması dosyasını oluşturmak için kullanılır.Along with the database project file, these files are used to create the database schema file. . Sqldeployment dosyası ve. sqlcmdvars dosyası, yapı işlemi değiştirilmeden geçer.The .sqldeployment file and the .sqlcmdvars file pass through the build process unchanged. Dağıtım bildirimi, veritabanı şemasının konumunu,. sqldeployment dosyasını,. sqlcmdvars dosyasını ve dağıtım öncesi veya dağıtım sonrası SQL betiklerini gösterir.The deployment manifest indicates the location of the database schema, the .sqldeployment file, the .sqlcmdvars file, and any pre-deployment or post-deployment SQL scripts.

Bir veritabanı projesini dağıtmak için neden VSDBCMD kullanılmalıdır?Why Use VSDBCMD to Deploy a Database Project?

Veritabanı projelerini dağıtmaya yönelik çeşitli farklı yaklaşımlar vardır.There are various different approaches to deploying database projects. Ancak, bunların hepsi bir veritabanı projesini kurumsal bir ortamdaki uzak sunuculara dağıtmak için uygun değildir.However, not all of them are suitable for deploying a database project to remote servers in an enterprise environment. Veritabanı projesi dağıtımından istediğinizi göz önünde bulundurun.Consider what you want from a database project deployment. Kurumsal dağıtım senaryolarında, muhtemelen şunları yapmak isteyebilirsiniz:In enterprise deployment scenarios, you're likely to want:

  • Veritabanı projesini uzak bir konumdan dağıtma özelliği.The ability to deploy the database project from a remote location.
  • Var olan bir veritabanında artımlı güncelleştirmeler yapma özelliği.The ability to make incremental updates to an existing database.
  • Dağıtım öncesi betikleri veya dağıtım sonrası betikleri ekleme özelliği.The ability to include pre-deployment scripts or post-deployment scripts.
  • Dağıtımı birden çok hedef ortama uyarlayabilme özelliği.The ability to tailor the deployment to multiple destination environments.
  • Veritabanı projesini daha büyük, genellikle komut dosyalı, tek adımlı bir çözüm dağıtımının parçası olarak dağıtma özelliği.The ability to deploy the database project as part of a larger, typically scripted, single-step solution deployment.

Bir veritabanı projesini dağıtmak için kullanabileceğiniz üç ana yaklaşım vardır:There are three main approaches you can use to deploy a database project:

  • Visual Studio 2010 ' de veritabanı proje türüyle dağıtım işlevselliğini kullanabilirsiniz.You can use the deployment functionality with the database project type in Visual Studio 2010. Visual Studio 2010 ' de bir veritabanı projesi derleyip dağıtırken, dağıtım işlemi, derleme yapılandırmasına özel bir SQL tabanlı dağıtım dosyası oluşturmak için dağıtım bildirimini kullanır.When you build and deploy a database project in Visual Studio 2010, the deployment process uses the deployment manifest to generate a SQL-based deployment file specific to the build configuration. Bu, zaten mevcut değilse veritabanını oluşturur veya zaten varsa veritabanında gerekli değişiklikleri yapar.This will create the database if it doesn't already exist or make any necessary changes to the database if it does already exist. Bu dosyayı hedef sunucunuzda çalıştırmak için SQLCMD. exe ' yi kullanabilir veya Visual Studio 'Yu dosyayı oluşturmak ve çalıştırmak için ayarlayabilirsiniz.You can use SQLCMD.exe to run this file on your destination server, or you can set Visual Studio to create and run the file. Bu yaklaşımın dezavantajı, dağıtım ayarları üzerinde yalnızca sınırlı denetim sahibi olmanız olabilir.The disadvantage of this approach is that you have only limited control over the deployment settings. Ayrıca, ortama özgü değişken değerleri sağlamak için SQL dağıtım dosyasını da değiştirmeniz gerekebilir.You may often also need to modify the SQL deployment file to provide environment-specific variable values. Bu yaklaşımı yalnızca Visual Studio 2010 yüklü bir bilgisayardan kullanabilirsiniz ve geliştiricinin tüm hedef ortamlar için bağlantı dizelerini ve kimlik bilgilerini bilmeleri ve sağlaması gerekir.You can only use this approach from a computer with Visual Studio 2010 installed, and the developer would need to know and provide connection strings and credentials for all destination environments.
  • Bir veritabanını bir Web uygulaması projesinin parçası olarak dağıtmakiçin Internet INFORMATION SERVICES (IIS) Web Dağıtım aracı 'nı (Web dağıtımı) kullanabilirsiniz.You can use the Internet Information Services (IIS) Web Deployment Tool (Web Deploy) to deploy a database as part of a web application project. Ancak, bir hedef sunucuda var olan bir yerel veritabanını çoğaltmak yerine bir veritabanı projesi dağıtmak istiyorsanız bu yaklaşım çok daha karmaşıktır.However, this approach is a lot more complex if you want to deploy a database project rather than simply replicate an existing local database on a destination server. Veritabanı projesinin oluşturduğu SQL dağıtım betiğini çalıştırmak için Web Dağıtımı yapılandırabilirsiniz, ancak bunu yapmak için, Web uygulaması projeniz için özel bir WPP hedef dosyası oluşturmanız gerekir.You can configure Web Deploy to run the SQL deployment script that the database project generates, but in order to do this, you need to create a custom WPP targets file for your web application project. Bu, dağıtım işlemine önemli miktarda karmaşıklık ekler.This adds a substantial amount of complexity to the deployment process. Ayrıca, Web Dağıtımı var olan veritabanlarına Artımlı güncelleştirmeleri doğrudan desteklemez.In addition, Web Deploy does not directly support incremental updates to existing databases. Bu yaklaşım hakkında daha fazla bilgi için bkz. Web yayımlama işlem hattını paketlemek için veritabanı projesi DAĞıTıLAN SQL dosyasını genişletme.For more information on this approach, see Extending the Web Publishing Pipeline to package database project deployed SQL file.
  • Veritabanı şemasını ya da dağıtım bildirimini kullanarak veritabanını dağıtmak için VSDBCMD yardımcı programını kullanabilirsiniz.You can use the VSDBCMD utility to deploy the database, using either the database schema or the deployment manifest. VSDBCMD. exe ' yi, daha büyük, komut dosyalı dağıtım sürecinin bir parçası olarak veritabanlarını yayımlamanıza olanak tanıyan bir MSBuild hedefinden çağırabilirsiniz.You can call VSDBCMD.exe from an MSBuild target, which lets you publish databases as part of a larger, scripted deployment process. . Sqlcmdvars dosyanızdaki ve diğer veritabanı özelliklerindeki değişkenleri, birden çok derleme yapılandırması oluşturmadan farklı ortamlarda dağıtımınızı özelleştirmenizi sağlayan bir VSDBCMD komutundan geçersiz kılabilirsiniz.You can override the variables in your .sqlcmdvars file and lots of other database properties from a VSDBCMD command, which allows you to customize your deployment for different environments without creating multiple build configurations. VSDBCMD, fark eden işlevsellik sağlar, yani yalnızca hedef veritabanını veritabanı şemanıza göre hizalamak için gerekli değişiklikleri yapar.VSDBCMD provides differentiation functionality, which means it will make only the necessary changes to align a destination database with your database schema. VSDBCMD, dağıtım işlemi üzerinde ayrıntılı denetim sağlayan çok çeşitli komut satırı seçenekleri de sunmaktadır.VSDBCMD also offers a wide range of command-line options, which give you fine-grained control over the deployment process.

Bu genel bakışta, genel bir kurumsal dağıtım senaryosuna en uygun yaklaşım olan VSDBCMD ' yi MSBuild ile birlikte kullanma makalesine bakabilirsiniz:From this overview, you can see that using VSDBCMD with MSBuild is the approach best suited to a typical enterprise deployment scenario:

Visual Studio 2010Visual Studio 2010 Web Deploy 2.0Web Deploy 2.0 VSDBCMD.exeVSDBCMD.exe
Uzaktan dağıtımı destekliyor mu?Supports remote deployment? EvetYes EvetYes EvetYes
Artımlı güncelleştirmeler destekleniyor mu?Supports incremental updates? EvetYes HayırNo EvetYes
Dağıtım öncesi/dağıtım sonrası betikleri destekliyor mu?Supports pre/post-deployment scripts? EvetYes EvetYes EvetYes
Çok ortamlı dağıtımı destekliyor mu?Supports multi-environment deployment? SınırlıLimited SınırlıLimited EvetYes
Betikleştirilmiş dağıtımı destekliyor mu?Supports scripted deployment? SınırlıLimited EvetYes EvetYes

Bu konunun geri kalanında, veritabanı projelerini dağıtmak için VSDBCMD ' nin MSBuild ile kullanımı açıklanmaktadır.The remainder of this topic describes the use of VSDBCMD with MSBuild to deploy database projects.

Dağıtım sürecini anlamaUnderstanding the Deployment Process

VSDBCMD yardımcı programı veritabanı şemasını (. dbschema dosyası) veya dağıtım bildirimini (. DeployManifest dosyası) kullanarak bir veritabanını dağıtmanıza olanak tanır.The VSDBCMD utility lets you deploy a database using either the database schema (the .dbschema file) or the deployment manifest (the .deploymanifest file). Uygulamada, dağıtım bildirimi, çeşitli dağıtım özellikleri için varsayılan değerler sağlamanıza ve dağıtım öncesi veya dağıtım sonrası SQL betikleri çalıştırmak istediğinizi belirleyebilmenizi sağlayan dağıtım bildirimini neredeyse her zaman kullanacaksınız.In practice, you'll almost always use the deployment manifest, as the deployment manifest lets you provide default values for various deployment properties and identify any pre-deployment or post-deployment SQL scripts you want to run. Örneğin, bu VSDBCMD komutu, ContactManager veritabanını bir test ortamındaki veritabanı sunucusuna dağıtmak için kullanılır:For example, this VSDBCMD command is used to deploy the ContactManager database to a database server in a test environment:

vsdbcmd.exe /a:Deploy
            /manifest:"…\ContactManager.Database.deploymanifest"
            /cs:"Data Source=TESTDB1;Integrated Security=true"
            /p:TargetDatabase=ContactManager
            /dd+
            /script:"…\Publish-ContactManager-Db.sql"

Bu durumda:In this case:

  • /A (veya /Action) anahtarı, VSDBCMD ' nin ne yapmak istediğinizi belirtir.The /a (or /Action) switch specifies what you want VSDBCMD to do. Bunu içeri veya dağıtımaayarlayabilirsiniz.You can set this to Import or Deploy. Içeri aktarma seçeneği, var olan bir veritabanından bir. dbschema dosyası oluşturmak için kullanılır ve Deploy seçeneği bir. dbschema dosyasını hedef veritabanına dağıtmak için kullanılır.The Import option is used to generate a .dbschema file from an existing database, and the Deploy option is used to deploy a .dbschema file to a target database.
  • /MANIFEST (veya /ManifestFile) anahtarı, dağıtmak istediğiniz. DeployManifest dosyasını tanımlar.The /manifest (or /ManifestFile) switch identifies the .deploymanifest file you want to deploy. Bunun yerine. dbschema dosyasını kullanmak isterseniz, /model (veya /ModelFile) anahtarını kullanın.If you wanted to use the .dbschema file instead, you'd use the /model (or /ModelFile) switch.
  • /CS (veya /ConnectionString) anahtarı, hedef veritabanı sunucusu için bağlantı dizesini sağlar.The /cs (or /ConnectionString) switch provides the connection string for the target database server. Bunun veritabanı oluşturmak için, VSDBCMD veritabanının—adını içermediğinden sunucuya bağlanması gerektiğini unutmayın; tek bir veritabanına bağlanması gerekmez.Note that this doesn't include the name of the database—VSDBCMD needs to connect to the server to create the database; it doesn't need to connect to an individual database. . DeployManifest dosyanız bir bağlantı dizesi içeriyorsa, bu anahtarı atlayabilirsiniz.If your .deploymanifest file includes a connection string, you can omit this switch. Anahtarı yine de kullanırsanız, anahtar değeri. DeployManifest değerini geçersiz kılar.If you use the switch anyway, the switch value will override the .deploymanifest value.
  • /P: TargetDatabase özelliği, oluşturma sırasında hedef veritabanına atamak istediğiniz adı sağlar.The /p:TargetDatabase property provides the name you want to assign to the target database on creation. Bu,. DeployManifest dosyasındaki TargetDatabase özelliğinin değerini geçersiz kılar.This overrides the value of the TargetDatabase property in the .deploymanifest file. Çok çeşitli dağıtım özellikleri ayarlamak ve. sqlcmdvars dosyanızda belirtilen tüm SQLCMD değişkenlerini geçersiz kılmak için /p: [Property Name]sözdizimini kullanabilirsiniz.You can use the /p: [property name]syntax to set a wide variety of deployment properties and to override any SQLCMD variables declared in your .sqlcmdvars file.
  • /Dd + (veya /DeployToDatabase + ) anahtarı, bir dağıtım oluşturup hedef ortama dağıtmak istediğinizi belirtir.The /dd+ (or /DeployToDatabase+) switch indicates that you want to create a deployment and deploy it to the target environment. /Dd- belirtirseniz veya anahtarı atlarsanız, VSDBCMD bir dağıtım betiği oluşturur, ancak bunu hedef ortama dağıtmaz.If you specify /dd-, or omit the switch, VSDBCMD will generate a deployment script but will not deploy it to the target environment. Bu anahtar genellikle karışıklık kaynağıdır ve sonraki bölümde daha ayrıntılı olarak açıklanmıştır.This switch is often the source of confusion and is explained in more detail in the next section.
  • /Script (veya /DeploymentScriptFile) anahtarı, dağıtım betiğini nerede oluşturmak istediğinizi belirtir.The /script (or /DeploymentScriptFile) switch specifies where you want to generate the deployment script. Bu değer dağıtım sürecini etkilemez.This value does not affect the deployment process.

VSDBCMD hakkında daha fazla bilgi için bkz . VSDBCMD Için komut satırı başvurusu. EXE (dağıtım ve şema Içeri aktarma) ve nasıl yapılır: VSDBCMD kullanarak bir veritabanını bir komut Isteminden dağıtıma hazırlama. EXE.For more information on VSDBCMD, see Command-Line Reference for VSDBCMD.EXE (Deployment and Schema Import) and How to: Prepare a Database for Deployment From a Command Prompt by Using VSDBCMD.EXE.

VSDBCMD 'yi MSBuild proje dosyasından nasıl kullanabileceğiniz hakkında bir örnek için bkz. Yapı sürecini anlama.For an example of how you can use VSDBCMD from an MSBuild project file, see Understanding the Build Process. Birden çok ortam için veritabanı dağıtım ayarlarını yapılandırma örnekleri için bkz. birden çok ortam Için veritabanı dağıtımlarını özelleştirme.For examples of how to configure database deployment settings for multiple environments, see Customizing Database Deployments for Multiple Environments.

DeployToDatabase anahtarını anlamaUnderstanding the DeployToDatabase Switch

/Dd veya /DeployToDatabase anahtarının davranışı, VSDBCMD 'yi bir. dbschema dosyası veya. DeployManifest dosyası ile kullanıp kullanmayacağınızı bağlıdır.The behavior of the /dd or /DeployToDatabase switch depends on whether you're using VSDBCMD with a .dbschema file or a .deploymanifest file. Bir. dbschema dosyası kullanıyorsanız, davranış oldukça basittir:If you're using a .dbschema file, the behavior is fairly straightforward:

  • /Dd + veya /ddbelirtirseniz, VSDBCMD bir dağıtım betiği oluşturacak ve veritabanını dağıtacaktır.If you specify /dd+ or /dd, VSDBCMD will generate a deployment script and deploy the database.
  • /DDI belirtirseniz veya anahtarı atlarsanız, VSDBCMD yalnızca bir dağıtım betiği oluşturacaktır.If you specify /dd- or omit the switch, VSDBCMD will generate a deployment script only.

. DeployManifest dosyası kullanıyorsanız, davranış çok daha karmaşıktır.If you're using a .deploymanifest file, the behavior is a lot more complicated. Bunun nedeni. DeployManifest dosyasında, veritabanının dağıtılıp dağıtılmadığını da belirleyen bir DeployToDatabase Özellik adı içerir.This is because the .deploymanifest file contains a property name DeployToDatabase that also determines whether the database is deployed.

<DeployToDatabase>False</DeployToDatabase>

Bu özelliğin değeri, veritabanı projesinin özelliklerine göre ayarlanır.The value of this property is set according to the properties of the database project. Dağıtım betiği (. SQL) oluşturmakiçin Dağıt eylemini ayarlarsanız, değer falseolur.If you set the Deploy action to Create a deployment script (.sql), the value will be False. Dağıtım betiği (. SQL) oluşturmak ve veritabanına dağıtmakiçin Dağıt eylemini ayarlarsanız değer trueolur.If you set the Deploy action to Create a deployment script (.sql) and deploy to the database, the value will be True.

Note

Bu ayarlar, belirli bir yapı yapılandırması ve platformu ile ilişkilendirilir.These settings are associated with a specific build configuration and platform. Örneğin, hata ayıklama yapılandırması için ayarları yapılandırır ve ardından Sürüm yapılandırması ' nı kullanarak yayımlarsanız, ayarlarınız kullanılmaz.For example, if you configure settings for the Debug configuration and then publish using the Release configuration, your settings will not be used.

Note

Bu senaryoda, Visual Studio 2010 ' ın veritabanınızı dağıtmasını istemediğiniz için dağıtım eylemi her zaman bir dağıtım betiği (. SQL) oluşturmaküzere ayarlanmalıdır.In this scenario, the Deploy action should always be set to Create a deployment script (.sql), because you don't want Visual Studio 2010 to deploy your database. Diğer bir deyişle, DeployToDatabase özelliği her zaman falseolmalıdır.In other words, the DeployToDatabase property should always be False.

Bir DeployToDatabase özelliği belirtildiğinde, /dd anahtarı yalnızca özellik değeri falseolduğunda özelliği geçersiz kılar:When a DeployToDatabase property is specified, the /dd switch will only override the property if the property value is false:

  • DeployToDatabase özelliği falseise ve /dd + ya da /ddbelirtirseniz VSDBCMD, DeployToDatabase özelliğini geçersiz kılar ve veritabanını dağıtır.If the DeployToDatabase property is False, and you specify /dd+ or /dd, VSDBCMD will override the DeployToDatabase property and deploy the database.
  • DeployToDatabase özelliği falseise ve /DDI belirtirseniz veya anahtarı atlarsanız, VSDBCMD veritabanını dağıtmaz.If the DeployToDatabase property is False, and you specify /dd- or omit the switch, VSDBCMD will not deploy the database.
  • DeployToDatabase özelliği trueise, VSDBCMD bu anahtarı yoksayar ve veritabanını dağıtır.If the DeployToDatabase property is True, VSDBCMD will ignore the switch and deploy the database.
  • Her durumda, veritabanını dağıtıp dağıtmaktan bağımsız olarak bir dağıtım betiği oluşturulur.A deployment script is generated in each case, regardless of whether you're deploying the database as well.

SonuçConclusion

Bu konu, Visual Studio 2010 ' deki veritabanı projelerine yönelik derleme ve dağıtım sürecine genel bir bakış sağlamıştır.This topic provided an overview of the build and deployment process for database projects in Visual Studio 2010. Ayrıca, kurumsal ölçekte veritabanı dağıtımını desteklemek için VSDBCMD. exe ' yi MSBuild ile nasıl kullanabileceğinizi da açıklanmaktadır.It also described how you can use VSDBCMD.exe with MSBuild to support enterprise-scale database deployment.

Bu uygulamada nasıl çalıştığı hakkında daha fazla bilgi için bkz. birden çok ortam Için veritabanı dağıtımlarını özelleştirme.For more information on how this works in practice, see Customizing Database Deployments for Multiple Environments.

Daha Fazla BilgiFurther Reading

Her ortam için ayrı bir dağıtım yapılandırma dosyası oluşturarak veritabanı dağıtımlarını özelleştirme hakkında daha fazla bilgi için bkz. birden çok ortam Için veritabanı dağıtımlarını özelleştirme.For information on how to customize database deployments by creating a separate deployment configuration file for each environment, see Customizing Database Deployments for Multiple Environments. Dağıtım sonrası betiği çalıştırarak veritabanı rolü üyeliklerini yapılandırma hakkında yönergeler için bkz. test ortamlarına veritabanı rolü üyelikleri dağıtma.For guidance on how to configure database role memberships by running a post-deployment script, see Deploying Database Role Memberships to Test Environments. Üyelik veritabanlarının getirmesindeki bazı benzersiz güçlükleri yönetme hakkında yönergeler için bkz. Üyelik veritabanlarını kurumsal ortamlara dağıtma.For guidance on managing some of the unique challenges that membership databases impose, see Deploying Membership Databases to Enterprise Environments.

MSDN 'deki bu konular, Visual Studio veritabanı projeleri ve veritabanı dağıtım işlemi hakkında daha geniş yönergeler ve arka plan bilgileri sağlar:These topics on MSDN provide broader guidance and background information on Visual Studio database projects and the database deployment process: