Veritabanı Dağıtma (VB)Deploying a Database (VB)

Scott Mitchell tarafındanby Scott Mitchell

Kodu indirin veya PDF 'yi indirinDownload Code or Download PDF

Bir ASP.NET Web uygulaması dağıtmak, geliştirme ortamından üretim ortamına gerekli dosyaları ve kaynakları almayı gerektirir.Deploying an ASP.NET web application entails getting the necessary files and resources from the development environment to the production environment. Veri odaklı web uygulamaları için bu veritabanı şemasını ve verilerini içerir.For data-driven web applications this includes the database schema and data. Bu öğretici, veritabanını geliştirme ortamından üretime başarıyla dağıtmak için gereken adımları ele alan ilk bir seridir.This tutorial is the first in a series that explores the steps needed to successfully deploy the database from the development environment to production.

GirişIntroduction

Bir ASP.NET Web uygulaması dağıtmak, geliştirme ortamından üretim ortamına gerekli dosyaları ve kaynakları almayı gerektirir.Deploying an ASP.NET web application entails getting the necessary files and resources from the development environment to the production environment. Son altı öğreticilerin, basit bir Book Incelemeleri Web uygulaması dağıtmaya baktık.Over the course of the past six tutorials we looked at deploying a simple Book Reviews web application. Bu tanıtım sitesi bir dizi sunucu tarafı kaynağı-ASP.NET sayfa, yapılandırma dosyası, bir Web.sitemap dosyası ve benzer bir şekilde, görüntüler ve CSS dosyaları gibi istemci tarafı kaynaklarla birlikte oluşur.This demo site was comprised of a number of server-side resources - ASP.NET pages, configuration files, a Web.sitemap file, and so forth - along with client-side resources, like images and CSS files. Ancak veri odaklı web uygulamaları hakkında ne var?But what about data-driven web applications? Veritabanı kullanan bir Web uygulamasını dağıtmak için hangi ek adımların alınması gerekir?What extra steps must be taken to deploy a web application that uses a database?

Bir sonraki birkaç öğreticilerde, veri odaklı bir Web uygulamasını dağıtmak için gereken adımları ele alınacaktır.Over the next several tutorials we will address the steps needed to deploy a data-driven web application. Bu öğretici, sonraki öğreticide gereken yapılandırma değişikliklerine baktığı sırada, geliştirme ortamından üretim ortamına bir veritabanı şeması ve içeriği alma hakkında inceleyerek başlar.This tutorial starts by examining how to get a database s schema and contents from the development environment to the production environment, while the subsequent tutorial looks at the needed configuration changes. Aşağıda, Uygulama Hizmetleri (üyelik, roller, profil vb.) kullanan bir veritabanını dağıtmanın sorunlarını araştıracağız.Following that we'll explore challenges of deploying a database that uses the Application Services (Membership, Roles, Profile, and so on).

Güncelleştirilmiş kitap Incelemeleri Web uygulamasını İncelemeExamining the Updated Book Reviews Web Application

Veri odaklı bir Web uygulamasının dağıtılmasını göstermek için, Book Incelemeleri Web uygulamasını basit ve statik bir Web sitesinden veri odaklı bir Web sitesine güncelleştirdim.In order to demonstrate deploying a data-driven web application, I ve updated the Book Reviews web application from a simple, static website to a data-driven one. Daha önce olduğu gibi, bu öğreticide uygulamanın iki sürümü indirilir: Web uygulaması proje modelini kullanan bir tane ve Web sitesi proje modelini kullanan bir.As before, there are two versions of the application in this tutorial s download: one that uses the Web Application Project model and one that uses the Web Site Project model.

Güncelleştirilmiş kitap Incelemeleri Web uygulaması, site s App_Data klasöründe (~/App_Data/Reviews.mdf) depolanan SQL Server 2008 Express Edition veritabanını kullanır.The updated Book Reviews web application uses a SQL Server 2008 Express Edition database, which is stored in the site s App_Data folder (~/App_Data/Reviews.mdf). Bilgisayarınızda SQL Server 2008 yüklüyse tanıtım, hatasız çalışmalıdır.If you have SQL Server 2008 installed on your computer then the demo should run without error. SQL Server eski bir sürümüne sahipseniz ücretsiz SQL Server 2008 Express sürümünü yükleyebilir ya da bu öğreticide bulunan veritabanı betiklerini kullanarak veritabanını kendiniz oluşturabilirsiniz.If you have an older version of SQL Server you can either install the free SQL Server 2008 Express Edition or you can use the database scripts available in this tutorial s download to create the database yourself.

Reviews.mdf veritabanı dört tablo içerir:The Reviews.mdf database contains four tables:

  • Genres-teknoloji, kurgu ve Iş gibi her bir tarz için bir kayıt içerir.Genres - includes a record for each genre, such as Technology, Fiction, and Business.
  • Books, diğerleri arasında Title, GenreId, ReviewDateve Reviewgibi sütunlarla her İnceleme için bir kayıt içerir.Books - includes a record for each review, with columns like Title, GenreId, ReviewDate, and Review, among others.
  • Authors-gözden geçirilmiş bir kitaba katkıda bulunan her yazar hakkında bilgi içerir.Authors - includes information about each author who has contributed to a reviewed book.
  • BooksAuthors, hangi yazarların hangi defterlere yazıldığını belirten çoktan çoğa bir JOIN tablosu.BooksAuthors - a many-to-many join table that specifies what authors have written what books.

Şekil 1 ' de bu dört tablonun bir ER diyagramı gösterilmektedir.Figure 1 shows an ER diagram of these four tables.

Kitap Incelemelerinin Web uygulaması veritabanının dört tablodan oluşan .The Book Reviews Web Application s Database is Comprised of Four Tables

Şekil 1: kitap Inceleme Web uygulaması veritabanı dört tablodan oluşur (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 1: The Book Reviews Web Application s Database is Comprised of Four Tables (Click to view full-size image)

Book Incelemeleri Web sitesinin önceki sürümünde, her kitap için ayrı bir ASP.NET sayfası vardı.The previous version of the Book Reviews website had a separate ASP.NET page for each book. Örneğin, 24 saat Içinde kendinize ASP.NET 3,5 öğretmekiçin gözden geçirmeyi içeren ~/Tech/TYASP35.aspx adlı bir sayfa vardı.For example, there was a page named ~/Tech/TYASP35.aspx that contained the review for Teach Yourself ASP.NET 3.5 in 24 Hours. Web sitesinin bu yeni veri odaklı sürümünde, veritabanında depolanan incelemeler ve tek bir ASP.NET sayfasında, belirtilen kitap için gözden geçirmeyi gösteren Review. aspx? ID =BookIDbulunur.This new data-driven version of the website has the reviews stored in the database and a single ASP.NET page, Review.aspx?ID=bookId, which displays the review for the specified book. Benzer şekilde, belirtilen tarzda gözden geçirilmiş kitapları listeleyen bir tarz. aspx? ID =Genreıd sayfası vardır.Likewise, there is a Genre.aspx?ID=genreId page that lists the reviewed books in the specified genre.

Şekil 2 ve 3, Genre.aspx ve Review.aspx sayfalarını eylemde görüntüleyin.Figures 2 and 3 show the Genre.aspx and Review.aspx pages in action. Her sayfanın adres çubuğundaki URL 'YI aklınızda edin.Note the URL in the Address bar for each page. Şekil 2 ' de bu tarz. aspx? ID = 85d164ba-1123-4c47-82a0-c8ec75de7e0e.In Figure 2 it s Genre.aspx?ID=85d164ba-1123-4c47-82a0-c8ec75de7e0e. 85d164ba-1123-4c47-82a0-c8ec75de7e0e, teknoloji tarzı için GenreId değer olduğundan, sayfa başlığı "teknoloji Incelemelerini" okur ve madde işaretli liste bu tarz kapsamında olan sitede bu İncelemeleri numaralandırır.Because 85d164ba-1123-4c47-82a0-c8ec75de7e0e is the GenreId value for the Technology genre, the page s heading reads "Technology Reviews" and the bulleted list enumerates those reviews on the site that fall under this genre.

Teknoloji tarzı sayfasını The Technology Genre Page

Şekil 2: teknoloji tarzı sayfası (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 2: The Technology Genre Page (Click to view full-size image)

ASP.NET 3,5, 24 saat içinde kendi kendinize eğitim The Review for Teach Yourself ASP.NET 3.5 in 24 Hours

Şekil 3: ASP.NET 3,5 (tam boyutlu görüntüyü görüntülemek Için tıklayın) için gözden geçirin.Figure 3: The Review for Teach Yourself ASP.NET 3.5 in 24 Hours (Click to view full-size image)

Book Incelemeleri Web uygulaması, yöneticilerin tarzlar, incelemeler ve yazar bilgilerini ekleyebilecekleri, düzenleyebildiği ve silebileceği bir yönetim bölümü de içerir.The Book Reviews web application also includes an administration section where administrators can add, edit, and delete genres, reviews, and author information. Şu anda herhangi bir ziyaretçi Yönetim bölümüne erişebilir.Currently, any visitor can access the administration section. Gelecekteki bir öğreticide Kullanıcı hesapları için destek ekleyecek ve yalnızca yetkili kullanıcılara yönetim sayfalarına izin vereceğiz.In a future tutorial we'll add support for user accounts and only permit authorized users into the administration pages.

Book Incelemeleri uygulamasını indirdiğinizde, bunun amacını, veri tabanlı bir uygulama dağıtma hakkında dikkat edin.If you download the Book Reviews application please keep in mind that its purpose is to demonstrate deploying a data-driven application. Uygulama tasarımı kadar en iyi yöntemleri göstermez.It does not exhibit best practices as far as application design. Örneğin, ayrı bir veri erişim katmanı (DAL) yoktur; ASP.NET sayfaları, kod arkasındaki sınıflarda bulunan SqlDataSource Control veya ADO.NET Code aracılığıyla doğrudan veritabanıyla iletişim kurar.For example, there is no separate Data Access Layer (DAL); the ASP.NET pages communicate directly with the database through the SqlDataSource control or ADO.NET code in their code-behind classes. Katmanlı bir mimari kullanarak veri odaklı uygulamalar oluşturmaya yönelik daha ayrıntılı bir bakış için veri öğreticilerle çalışma bölümüne bakın.For a more in-depth look at creating data-driven applications using a tiered architecture, refer to my Working with Data tutorials.

Geliştirme ve üretime yönelik veritabanlarıDatabases on Development Versus Production

Veri odaklı bir Web uygulamasında geliştirme başlattığınızda, veritabanına bağlanma hakkında uygulama ayrıntıları sağlayan bir veritabanı bağlantı dizesi belirtmeniz gerekir.When you start development on a data-driven web application you must specify a database connection string, which provides the application details on how to connect to the database. Bu bağlantı dizesi, diğer şeyleri, veritabanı sunucusunu, veritabanı adını ve güvenlik bilgilerini belirtir.This connection string specifies, among other things, the database server, the database name, and security information. Çoğu zaman, geliştirme sırasında uygulama tarafından kullanılan veritabanı, üretimde olduğu zaman kullanılan veritabanından farklıdır.Most often, the database used by the application during development is different than the database used when it s in production. Geliştirme ve üretime karşı farklı veritabanlarını kullanmanın birçok avantajı vardır.There are many benefits of using different databases for development versus production. Geliştirme sırasında farklı bir veritabanı olması, canlı verileri yanlışlıkla değiştirme veya silme konusunda endişelenmeniz gerekmediği anlamına gelir.Having a different database in development means you don t have to worry about accidentally modifying or deleting live data. Ayrıca, üretimde uygulamadaki etkilerle ilgili endişelenmenize gerek kalmadan kukla test verilerini veya veri modelinde önemli değişiklikler yapmanızı sağlar.It also lets you put in dummy test data or make breaking changes to the data model without having to worry about the effects on the application in production. Geliştirme ve üretim ortamlarında farklı bir veritabanına sahip olmanın dezavantajı, uygulamanın veritabanını dağıtmasının yanı sıra veritabanı şemasında veya verilerde yapılan ilgili değişikliklerin de dağıtılması gerekir.The downside of having a different database in the development and production environments is that when the application is deployed the database and any pertinent changes to the database s schema or data must also be deployed.

İlk dağıtımdan önce, veritabanının yalnızca bir örneği vardır ve bu örnek geliştirme ortamında bulunur.Prior to the first deployment, there is only one instance of the database, and that instance is in the development environment. Uygulamayı üretime ilk kez dağıttığınızda, yalnızca gerekli sunucu tarafı ve istemci tarafı dosyalarını kopyalamamız, ayrıca veritabanını geliştirme ortamından üretim ortamına kopyalamanız gerekir.When deploying the application to production for the first time we must not only copy up the necessary server-side and client-side files, but also copy the database from the development environment to the production environment. Bu, şu anda Book Incelemeleri Web uygulamasıyla birlikte sunduğumuz, veritabanının geliştirme ortamımızda App_Data klasöründe yer aldığı ancak henüz üretim ortamına gönderilmemiş olduğu yerdir.This is where we stand right now with the Book Reviews web application - the database resides in the App_Data folder in our development environment but has not yet been pushed up to the production environment.

Uygulama dağıtıldıktan sonra veritabanının iki kopyası vardır.Once the application has been deployed there are two copies of the database. Uygulama geliştikçe, yeni özellikler eklenebilir, veri modelinde bir değişiklik tasarımda (varolan tablolara yeni sütunlar ekleme, mevcut sütunlarda değişiklik yapma, yeni tablolar ekleme vb.).As the application matures, new features may be added, necessitating a change to the data model (such as adding new columns to existing tables, making changes to existing columns, adding new tables, and so on). Web uygulaması bir sonraki dağıtıldığında, son dağıtımın üretim veritabanına uygulanması gerektiğinden bu değişiklikler geliştirme ortamında veritabanına uygulanır.When the web application is next deployed, the changes applied to the database in the development environment since the last deployment must be applied to the production database. Bu işlemi yönetmeye yönelik bazı stratejiler gelecekteki bir öğreticide ele alınmıştır.Some strategies for managing this process are discussed in a future tutorial. Bu öğretici, tüm veritabanını geliştirme ortamından üretime dağıtmaya odaklanır.This tutorial focuses on deploying the entire database from the development environment to production.

Veritabanını üretim ortamına dağıtmaDeploying the Database to the Production Environment

Bu öğreticinin geri kalanı, veritabanını geliştirme ortamından üretim ortamına nasıl dağıtacağınızı inceler.The remainder of this tutorial looks at how to deploy the database from the development environment to the production environment. Aşağıdaki durumlarda, Web ana bilgisayar sağlayıcınızla hesabınızın Microsoft SQL Server veritabanı desteği içerdiğinden emin olmanız gerekir.If you are following along you need to make sure that your account with your web host provider includes Microsoft SQL Server database support. Ayrıca, veritabanı sunucu adı, veritabanı adı ve veritabanına bağlanmak için kullanılan Kullanıcı adı ve parola gibi bazı bilgilere de sahip olmanız gerekir.You'll also need to have some information at hand, namely the database server name, the database name, and the username and password used to connect to the database.

Bu öğreticide daha önce belirtildiği gibi kitap, Web sitesi s veritabanını, App_Data klasöründe depolanan bir SQL Server 2008 Express Edition veritabanıdır.As noted earlier in this tutorial, the Book Reviews website s database is a SQL Server 2008 Express Edition database stored in the App_Data folder. Bu tür bir veritabanını dağıtmak, App_Data klasörünü geliştirme ortamından üretim ortamına kopyalamak kadar basit hale gelir.It would stand to reason that deploying such a database would be as simple as copying the App_Data folder from the development environment to the production environment. Ancak, Web ana bilgisayar sağlayıcılarının çoğu güvenlik nedeniyle veritabanlarının App_Data klasöründe barındırılmasını desteklemez.However, most web host providers do not support hosting databases in the App_Data folder because of security reasons. Bunun yerine, Web Konakları, ortamları içinde SQL Server veritabanı sunucusu üzerinde bir hesap sağlar.Instead, web hosts provide an account on a SQL Server database server within their environment. Veritabanını geliştirme ortamınızdan üretim ortamına dağıtmak için veritabanınızın Web ana bilgisayar s veritabanı sunucusunda kayıtlı olması gerekir.Deploying the database from your development environment to the production environment requires getting your database registered on your web host s database server.

Bu nedenle, veritabanınızı geliştirme ortamından üretim ortamına nasıl alabilirim?So how do you get your database from the development environment to the production environment? Web ana bilgisayarın sunduğu hizmetlere bağlı olarak bunu yapmanın birkaç yolu vardır.There are a couple ways to accomplish this depending on what services your web host offers. DiscountASP.NET gibi bazı konaklarla, bir veritabanının veya gerçek .mdf dosyanın bir yedeğini Web sitenize yükleyebilir ve sonra denetim masasından, yedekleme dosyasını geri yükleyebilir veya .mdf dosyasını SQL Server veritabanı sunucusuna ekleyebilirsiniz.With some hosts, such as DiscountASP.NET, you can FTP a backup of the database or the actual .mdf file to your website and then, from the Control Panel, restore the backup file or attach the .mdf file to the SQL Server database server. Bu tür araçlarla veritabanını dağıtmak, App_Data klasörünü üretim ortamına kopyalamak ve sonra bunu Denetim Masası aracılığıyla eklemek kadar basittir.With such tools deploying the database is as simple as copying the App_Data folder to the production environment and then attaching it via the Control Panel. Bu muhtemelen veritabanınızı ilk kez yayımlamanın en kolay ve en hızlı yoludur.This is perhaps the easiest and quickest way to publish your database for the first time.

Başka bir yaklaşım de veritabanı Yayımlama Sihirbazı 'nı kullanmaktır.Another approach is to use the Database Publishing Wizard. Veritabanı Yayımlama Sihirbazı, veritabanınızı, saklı yordamları, görünümleri, Kullanıcı tanımlı işlevleri, vb. ve isteğe bağlı olarak tablolardaki verileri oluşturmak için SQL komutlarını oluşturacak bir Windows masaüstü uygulamasıdır.The Database Publishing Wizard is a Windows desktop application that will generate the SQL commands to create your database s schema - the tables, stored procedures, views, user-defined functions, and so forth - and, optionally, the data in its tables. Daha sonra SQL Server Management Studio aracılığıyla Web ana bilgisayar sağlayıcısı veritabanı sunucunuza bağlanabilir ve ardından veritabanını üretimde çoğaltmak için bu betiği yürütebilirsiniz.You can then connect to your web host provider s database server through SQL Server Management Studio and then execute this script to duplicate the database on production. Daha da iyisi, Web ana bilgisayar sağlayıcınız Microsoft s veritabanı yayımlama hizmetlerini destekliyorsa, veritabanı Yayımlama Sihirbazı tarafından oluşturulan betiğin sizin adınıza veritabanı sunucusunda otomatik olarak yürütülmesini sağlayabilirsiniz.Even better, if your web host provider supports Microsoft s Database Publishing Services you can have the script generated by the Database Publishing Wizard automatically executed on the database server on your behalf. Veritabanı Yayımlama Sihirbazı veritabanı şemasını ve verilerini oluşturan bir betik oluşturduğundan, Web ana bilgisayar sağlayıcınız karşıya yüklenen bir .mdf dosyası iliştirme gibi özellikler sunmadığına bakılmaksızın çalışacaktır.Because the Database Publishing Wizard generates a script that creates the database s schema and data, it will work regardless of whether your web host provider offers features like attaching an uploaded .mdf file.

Veritabanı oluşturma Sihirbazı 'Nı kullanarak veritabanı şemasını ve verilerini oluşturmak için SQL komutları oluşturmaGenerating the SQL Commands to Create the Database Schema and Data Using the Database Publishing Wizard

Kitap Incelemelerinin veritabanını üretime dağıtmak için veritabanı Yayımlama Sihirbazı 'nı kullanmayı görelim.Let s walk through using the Database Publishing Wizard to deploy the Book Reviews database to production. Visual Studio 2008 veya sonrasını kullanıyorsanız, veritabanı Yayımlama Sihirbazı zaten yüklüdür.If you are using Visual Studio 2008 or beyond, the Database Publishing Wizard is already installed. Visual Studio 2005 kullanıyorsanız, öncelikle Sihirbazı indirmeniz ve yüklemeniz gerekecektir.If you are using Visual Studio 2005 then you will need to first download and install the wizard.

Visual Studio 'Yu açın ve Reviews.mdf veritabanına gidin.Open Visual Studio and navigate to the Reviews.mdf database. Visual Web Developer kullanıyorsanız, Veritabanı Gezgini gidin. Visual Studio kullanıyorsanız, Sunucu Gezgini kullanın.If you are using Visual Web Developer, go to the Database Explorer; if you are using Visual Studio, use the Server Explorer. Şekil 4 ' te, Visual Web Developer Veritabanı Gezgini Reviews.mdf veritabanı gösterilmektedir.Figure 4 shows the Reviews.mdf database in the Database Explorer in Visual Web Developer. Şekil 4 ' te gösterildiği gibi, Reviews.mdf veritabanı dört tablodan, üç saklı yordamdan ve Kullanıcı tanımlı bir işlevle oluşur.As Figure 4 shows, the Reviews.mdf database is composed of four tables, three stored procedures, and a user-defined function.

Veritabanını Veritabanı Gezgini veya Sunucu Gezgini bulunLocate the Database in the Database Explorer or Server Explorer

Şekil 4: Veritabanı Gezgini veya Sunucu Gezgini veritabanını bulun (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 4: Locate the Database in the Database Explorer or Server Explorer (Click to view full-size image)

Veritabanı adına sağ tıklayın ve bağlam menüsünden "sağlayıcıya Yayımla" seçeneğini belirleyin.Right-click on the database name and choose the "Publish to provider" option from the context menu. Bu, veritabanı Yayımlama Sihirbazı 'Nı başlatır (bkz. Şekil 5).This launches the Database Publishing Wizard (see Figure 5). Ileri ' ye tıklayarak giriş ekranını ilerletin.Click Next to advance past the splash screen.

Veritabanı Yayımlama Sihirbazı Giriş ekranını The Database Publishing Wizard Splash Screen

Şekil 5: veritabanı Yayımlama Sihirbazı Giriş ekranı (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 5: The Database Publishing Wizard Splash Screen (Click to view full-size image)

Sihirbazdaki ikinci ekran, veritabanı Yayımlama Sihirbazı 'Nın erişebileceği veritabanlarını listeler ve seçili veritabanındaki tüm nesneleri betiğe veya betiğe yönelik nesneleri seçmenizi sağlar.The second screen in the wizard lists the databases accessible to the Database Publishing Wizard and lets you choose whether to script all objects in the selected database or to pick which objects to script. Uygun veritabanını seçin ve "seçili veritabanındaki tüm nesneleri komut dosyası" seçeneğini işaretlenmiş olarak bırakın.Select the appropriate database and leave the "Script all objects in the selected database" option checked.

Note

Şekil 6 ' da gösterilen ekranda Ileri ' ye tıklandığınızda, "Bu sihirbaz tarafından komut dosyası \ dosya adı \ Betik veritabanı \ ' de bir nesne yok" hatasını alırsanız, veritabanı dosyanızın yolunun aşırı uzun olmadığından emin olun.If you get the error "There are no objects in database databaseName of the types scriptable by this wizard" when clicking Next in the screen shown in Figure 6, make sure that the path to your database file is not overly long. Veritabanı Yayımlama Sihirbazı proje sayfasında Bu tartışma öğesinde belirtildiği gibi, veritabanı dosyasının yolu çok uzun olduğunda bu hata ortaya çıkabilir.As noted in this discussion item on the Database Publishing Wizard project page, this error can arise if the path to the database file is too long.

Veritabanı Yayımlama Sihirbazı Giriş ekranını The Database Publishing Wizard Splash Screen

Şekil 6: veritabanı Yayımlama Sihirbazı Giriş ekranı (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 6: The Database Publishing Wizard Splash Screen (Click to view full-size image)

Bir sonraki ekranda bir betik dosyası oluşturabilir veya Web ana bilgisayarınız destekliyorsa, veritabanını doğrudan Web ana bilgisayar sağlayıcınız s veritabanı sunucusuna yayımlayabilirsiniz.From the next screen you can generate a script file or, if your web host supports it, publish the database directly to your web host provider s database server. Şekil 7 ' de gösterildiği gibi, betiğe dosya C:\REVIEWS.MDF.sqlyazıldığını yaşıyorum.As Figure 7 shows, I am having the script written to the file C:\REVIEWS.MDF.sql.

Veritabanını bir dosyaya betik olarak veya doğrudan Web ana bilgisayar sağlayıcınızda yayımlayınScript the Database to a File or Publish it Directly to Your Web Host Provider

Şekil 7: veritabanını bir dosyaya komut dosyasına koyun veya doğrudan Web ana sağlayıcınıza yayımlayın (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 7: Script the Database to a File or Publish it Directly to Your Web Host Provider (Click to view full-size image)

Sonraki ekranda çeşitli komut dosyası seçenekleri istenir.The subsequent screen prompts you for a variety of scripting options. Bu mevcut nesneleri kaldırmak için betiğin DROP deyimlerini içerip içermediğini belirtebilirsiniz.You can specify whether the script should include drop statements to remove these existing objects. Bu varsayılan olarak true değerini alır, bu, bir veritabanını ilk kez dağıtmada ince bir değerdir.This defaults to True, which is fine when deploying a database for the first time. Hedef veritabanının SQL Server 2000, SQL Server 2005 veya SQL Server 2008 olduğunu da belirtebilirsiniz.You can also specify whether the target database is SQL Server 2000, SQL Server 2005, or SQL Server 2008. Son olarak, şemayı ve verileri, yalnızca verileri veya yalnızca şemayı betiğin yapılıp yapılmayacağını belirtebilirsiniz.Finally, you can indicate whether to script the schema and data, just the data, or just the schema. Şema, veritabanı nesneleri, tablolar, saklı yordamlar, görünümler vb. koleksiyonudur.The schema is the collection of database objects, the tables, stored procedures, views, and so on. Veriler, tablolarda bulunan bilgiler.The data is the information residing in the tables.

Şekil 8 ' de gösterildiği gibi, Sihirbazı var olan veritabanı nesnelerini bırakacak, SQL Server 2008 veritabanı için betik oluşturacak ve hem şemayı hem de verileri yayınlayacak şekilde yapılandırdım.As Figure 8 illustrates, I ve got the wizard configured to drop existing database objects, to generate script for a SQL Server 2008 database, and to publish both the schema and data.

yayımlama seçeneklerini belirtinSpecify the Publishing Options

Şekil 8: yayımlama seçeneklerini belirtin (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 8: Specify the Publishing Options (Click to view full-size image)

Son iki ekran, alınması gereken eylemleri özetler ve sonra betik durumunu görüntüler.The final two screens summarize the actions that are about to be taken and then display the status of the scripting. Sihirbazı çalıştırmanın net sonucu, üretimde veritabanını oluşturmak için gereken SQL komutlarını içeren bir betik dosyası ve geliştirmeyle aynı verilerle doldurulmaktır.The net result of running the wizard is that we have a script file that contains the SQL commands needed to create the database on production and populate it with the same data as on development.

Üretim ortamı veritabanında SQL komutları yürütülüyorExecuting the SQL Commands On the Production Environment Database

Artık veritabanını oluşturmak için SQL komutlarını içeren betiğimize ve bu durumda kalan tüm veriler, betiği üretim veritabanında çalıştırmaktır.Now that we have the script that contains the SQL commands to create the database and its data all that remains is to execute the script on the production database. Bazı Web ana bilgisayar sağlayıcıları, veritabanınızdaki yürütmek üzere SQL komutları girebileceğiniz Denetim Masası 'nda bir metin kutusu sunar.Some web host providers offer a textbox in their Control Panel where you can enter SQL commands to execute on your database. Çok büyük bir betik dosyanız varsa, bu seçenek çalışmayabilir (örnek için REVIEWS.MDF.sql betik dosyası 425 KB 'tan fazla olabilir).If you have a very large script file then this option might not work (the REVIEWS.MDF.sql script file is over 425 KB in size, for instance).

Daha iyi bir yaklaşım, SQL Server Management Studio (SSMS) kullanarak doğrudan üretim veritabanı sunucusuna bağlanmasıdır.A better approach is to connect directly to the production database server using SQL Server Management Studio (SSMS). Bilgisayarınızda yüklü SQL Server Express olmayan bir sürümüne sahipseniz, büyük olasılıkla SSMS zaten yüklüdür.If you have a non-Express Edition of SQL Server installed on your computer then you likely already have SSMS installed. Aksi takdirde, SQL Server Management Studio Express Edition 'ın ücretsiz bir kopyasını indirebilir ve yükleyebilirsiniz .Otherwise, you can download and install a free copy of SQL Server Management Studio Express Edition.

SSMS 'yi başlatın ve Web ana bilgisayar sağlayıcınız tarafından sunulan bilgileri kullanarak Web ana bilgisayar s veritabanı sunucunuza bağlanın.Launch SSMS and connect to your web host s database server using the information provided by your web host provider.

Web ana bilgisayar sağlayıcınız s veritabanı sunucusuna bağlanmaConnect to Your Web Host Provider s Database Server

Şekil 9: Web ana bilgisayar sağlayıcınızda veritabanı sunucusuna bağlanma (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 9: Connect to Your Web Host Provider s Database Server (Click to view full-size image)

Veritabanları sekmesini genişletin ve veritabanınızı bulun.Expand the Databases tab and locate your database. Araç çubuğunun sol üst köşesindeki Yeni sorgu düğmesine tıklayın, veritabanı Yayımlama Sihirbazı tarafından oluşturulan betik dosyasından SQL komutlarını yapıştırın ve Yürüt düğmesine tıklayarak bu komutları üretim veritabanı sunucusunda çalıştırın.Click the New Query button in the upper left corner of the Toolbar, paste in the SQL commands from the script file created by the Database Publishing Wizard, and click the Execute button to run these commands on the production database server. Betik dosyanız özellikle büyükse, komutların yürütülmesi birkaç dakika sürebilir.If your script file is especially large it may take several minutes to execute the commands.

Web ana bilgisayar sağlayıcınız s veritabanı sunucusuna bağlanmaConnect to Your Web Host Provider s Database Server

Şekil 10: Web ana bilgisayar sağlayıcınızda veritabanı sunucusuna bağlanma (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 10: Connect to Your Web Host Provider s Database Server (Click to view full-size image)

İşte bu kadar!That s all there is to it! Bu noktada, geliştirme veritabanı üretime çoğaltılır.At this point the development database has been duplicated to production. SSMS 'de veritabanını yenilerseniz yeni veritabanı nesnelerini görmeniz gerekir.If you Refresh the database in SSMS you should see the new database objects. Şekil 11 ' de, geliştirme veritabanını yansıtan üretim veritabanı tabloları, saklı yordamlar ve Kullanıcı tanımlı işlevler gösterilir.Figure 11 shows the production database s tables, stored procedures, and user-defined functions, which mirror those on the development database. Veritabanı Yayımlama Sihirbazı 'nın verileri yayımlamasını sağladığımızda, üretim veritabanı tabloları, sihirbazın yürütüldüğü sırada geliştirme veritabanı s tablolarıyla aynı verilere sahiptir.And because we instructed the Database Publishing Wizard to publish the data, the production database s tables have the same data as the development database s tables at the time the wizard was executed. Şekil 12 ' de, üretim veritabanındaki Books tablosundaki veriler gösterilir.Figure 12 shows the data in the Books table on the production database.

veritabanı nesneleri üretim veritabanında yinelenmişThe Database Objects Have Been Duplicated on the Production Database

Şekil 11: veritabanı nesneleri üretim veritabanında yinelendi (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 11: The Database Objects Have Been Duplicated on the Production Database (Click to view full-size image)

Üretim veritabanı geliştirme veritabanıyla aynı verileri IçerirThe Production Database Contains the Same Data as on the Development Database

Şekil 12: üretim veritabanı geliştirme veritabanıyla aynı verileri içerir (tam boyutlu görüntüyü görüntülemek için tıklayın)Figure 12: The Production Database Contains the Same Data as on the Development Database (Click to view full-size image)

Bu noktada, yalnızca geliştirme veritabanını üretime dağıttık.At this point we have only deployed the development database to production. Web uygulamasını dağıtmaya henüz bakmadınız veya üretimde uygulamanın üretim veritabanını kullanması için hangi yapılandırma değişikliklerinin gerekli olduğunu inceliyoruz.We have not yet looked at deploying the web application itself or examined what configuration changes are needed to have the application on production use the production database. Bu sorunları sonraki öğreticide ele alacağız!We'll cover these issues in the next tutorial!

ÖzetSummary

Veri odaklı bir Web uygulamasının dağıtımı, geliştirme sırasında kullanılan veritabanının üretim ortamına kopyalanmasını gerektirir.Deploying a data-driven web application requires copying the database used during development to the production environment. Birçok Web ana bilgisayar sağlayıcısı, bir veritabanını dağıtma işlemini basitleştirmek için araçlar sunar.Many web host providers offer tools to simplify the process of deploying a database. Örneğin, DiscountASP.NET ile veritabanınızın .mdf dosyanızı (veya bir yedeklemeyi) ve ardından veritabanını denetim masasından veritabanı sunucusuna ekleyebilirsiniz.For example, with DiscountASP.NET you can FTP your database .mdf file (or a backup) and then attach the database to the database server from the Control Panel. Web ana bilgisayar sağlayıcınız tarafından sunulan özelliklerden bağımsız olarak çalışarak, geliştirme veritabanı şemasını ve verilerini oluşturmak için bir SQL komutları betiği üreten Microsoft s veritabanı Yayımlama Sihirbazı aracı olan bir diğer seçenektir.Another option that works regardless of what features your web host provider offers is Microsoft s Database Publishing Wizard tool, which generates a script of SQL commands to create the development database s schema and data. Bu komut dosyası oluşturulduktan sonra üretim veritabanında yürütebilirsiniz.Once this script has been generated you can execute it on the production database.

Artık kitap, Web uygulaması veritabanını gözden geçirdiklerinde uygulamayı dağıtabileceğiniz bir üretim.Now that the Book Reviews web application s database is on production we can deploy the application. Ancak, Web uygulaması yapılandırma bilgileri veritabanına yönelik bağlantı dizesini belirtir ve bu bağlantı dizesi geliştirme veritabanına başvurur.However, the web application s configuration information specifies the connection string to the database, and that connection string references the development database. Siteyi üretime dağıttığınızda Bu bağlantı dizesi bilgilerini güncelleştirmemiz gerekir.We need to update this connection string information when deploying the site to production. Sonraki öğretici bu yapılandırma farklarına bakar ve veri odaklı kitap Incelemeleri sitesini üretime yayımlamak için gereken adımları adım adım açıklar.The next tutorial looks at these configuration differences and walks through the steps needed to publish the data-driven Book Reviews site to production.

Programlamanın kutlu olsun!Happy Programming!

Daha Fazla BilgiFurther Reading

Bu öğreticide ele alınan konular hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:For more information on the topics discussed in this tutorial, refer to the following resources: