Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Server | Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020
Azure DevOps Server'ı Azure SQL Veritabanı ile yapılandırmak için bu makaledeki adımları kullanın. Bu topoloji, şirket içi SQL sunucusu kullanımıyla karşılaştırıldığında birkaç adım daha içerir.
Önkoşullar
| Kategori | Gereksinimler |
|---|---|
| Azure DevOps Server sürümü | Azure SQL Veritabanı yalnızca Azure DevOps Server 2019 ve sonraki sürümlerle kullanılabilir. |
| Yükleme ortamı | Azure VM'ye yüklenen Azure DevOps Server. |
| Kimlik Doğrulaması | Sanal makinede (VM), Azure SQL veritabanında kimlik doğrulaması yapmak için kullanılan sistem tarafından yönetilen kimlik etkinleştirilmiştir. |
| Etki alanı üyeliği | VM bir etki alanına katılır ancak çalışma grubuna katılmaz. |
| Veritabanı türü | Azure SQL veritabanları tek veritabanlarıdır. Yönetilen örnekler ve elastik havuzlar Azure DevOps Server 2022 ve daha yeni sürümlerde desteklenir. |
| Güvenlik duvarı kuralları | Azure SQL Veritabanı güvenlik duvarı kuralları, Azure DevOps Server'ın barındırıldığı IP adresinden veya alt ağdan gelen bağlantılara izin verir. Bunu yapmak için şu adrese gidin: Azure portalı>Azure SQL Veritabanı>Ayarları>Güvenlik duvarları ve sanal ağlar> , Azure DevOps Server'ınızın genel IP adresinden veya alt ağından erişime izin vermek için yeni bir kural ekler. |
| Araçlar | - Azure SQL Veritabanı sağlanır ve Azure'dan erişilebilir. Sunucu adı, veritabanı adı ve kimlik doğrulama yönteminin kaydı. - Şirket içi ortamınızda çalışan Azure DevOps Server 2022. - Azure DevOps Server'ın yüklü olduğu makineye yüklenen SSMS. |
Tüm Genel Amaçlı ve Premium SKU'ların yanı sıra Standart SKU S3 ve üzeri desteklenir. Ancak Temel SKU'lar ve S2 kategorisindeki Standart SKU'lar desteklenmez.
Azure SQL Veritabanı kullanan Azure DevOps Server yapılandırmaları, SQL Server Analysis Services raporlama özelliklerine sahip eski SQL Server Reporting Services'i desteklemez. Bunun yerine, raporlama ve analiz için Azure DevOps Analytics'i kullanabilirsiniz.
Azure SQL Veritabanı şifrelenmiş saklı yordamları desteklemez.
Azure SQL Veritabanı ayarlama
Sanal makinelerinizde yönetilen bir kimlik yapılandırın. Şu anda yalnızca sistem tarafından yönetilen kimlikleri destekliyoruz.
Yapılandırmayı aşağıdakiler de dahil olmak üzere tüm standart mekanizmaları kullanarak çalıştırabilirsiniz:
Yeni bir Azure DevOps Server örneği ayarlamak için iki Azure SQL veritabanı oluşturun:
- AzureDevOps_Yapılandırma
- AzureDevOps_DefaultCollection
Azure SQL Veritabanı sunucunuz için Microsoft Entra Id kimlik doğrulamasını yapılandırın. Kendinizi sunucuda Microsoft Entra yöneticisi yapın. Kalan yapılandırma adımlarını tamamlamak için veritabanında yönetici izinlerine sahip olmanız gerekir. Bu izni daha sonra değiştirebilirsiniz.
a. Ana veritabanınızda aşağıdaki T-SQL komutunu çalıştırın. VMName değerini veritabanına eklediğiniz yönetilen kimliği olan sanal makinenin adıyla değiştirin:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [dbmanager] ADD MEMBER [VMName]b. Yapılandırmada ve tüm koleksiyon veritabanlarında aşağıdaki T-SQL komutunu çalıştırın:
CREATE USER [VMName] FROM EXTERNAL PROVIDER ALTER ROLE [db_owner] ADD MEMBER [VMName] ALTER USER [VMName] WITH DEFAULT_SCHEMA=dboVeritabanınız artık VM'nizin yönetilen kimlik üzerinden iletişim kurmasına izin veriyor.
Not
Bağlantıyı geri yüklemek için Azure VM'nizde anlık görüntüyü geri yükleme veya VM'yi yeniden adlandırma gibi değişiklikler yaparsanız:
- [VMName] kullanıcısını ana veritabanından ve tüm Azure DevOps veritabanlarından kaldırın. [VMName] veritabanı nesnelerinin sahibiyse, sonraki adımdan sonra sahiplerini DBO gibi başka bir kullanıcıyla değiştirmeniz gerekebilir.
- Daha önce belirtilen SQL sorgularını değişmemiş olsa bile geçerli [VMName] ile yeniden çalıştırın.
- Azure DevOps Server hizmetlerini yeniden başlatın.
Azure DevOps Server'ı yapılandırma
Azure DevOps Server yapılandırma sihirbazına dönün. Yeni bir örnek ayarlıyorsanız, Bu, yeni bir Azure DevOps Server dağıtımıdır'ı seçin. Veritabanlarınızda mevcut veriler varsa ve yükseltme veya geçiş yapıyorsanız, bu Azure DevOps Server dağıtımı için Kullanılacak mevcut veritabanlarım var seçeneğini seçin.
Yapılandırma sihirbazında Veritabanı sayfasına gittiğinizde Azure SQL Veritabanı sunucu örneğini belirtin. Genellikle, sunucu örneği SQLInstanceName.database.windows.net biçimindedir.
Artık Azure SQL Veritabanı üzerinde çalışan bir Azure DevOps Server örneğine sahipsiniz.
Şirket içi SSMS'den Azure SQL veritabanına bağlanma
Şirket içi SSMS'nizden veritabanı bulunan bir Azure SQL'e bağlanmak için aşağıdaki adımları uygulayın:
SQL'den blob depolama/dosya paylaşımına özel uç nokta olarak aynı sanal ağda çalışan VM'den SSMS kullanarak SQL Server Management Studio aracılığıyla dışarı aktarın.
Azure SQL veritabanını bir .bacpac dosyasına aktarmak için SQL Server Management Studio Veri katmanı uygulamasını dışarı aktarma sihirbazını kullanabilirsiniz. .bacpac dosyasını Azure blob depolama veya dosya paylaşımında depolayabilirsiniz.
SSMS> üzerinde mantıksal SQL Server'daki SQL Veritabanı'na sağ tıklayın, Görevler menüsünden >Veri katmanı uygulamasını dışarı aktarma sihirbazını seçin.
sonrakiseçin.
BACPAC dosyasını depolamak için konumu seçin.
Kapat'ıseçin.
DAC paketleri burada bulunur: C:\Users\{sample-user-name}\OneDrive - Microsoft\Documents\SQL Server Management Studio\DAC Packages.
Azure DevOps Server 2022'den Azure SQL Veritabanı'nu bağlama
Azure DevOps Server 2022'den (şirket içi) Azure SQL Veritabanı'nın bağlanması, erişimi yapılandırmayı, bağlantıyı sağlamayı ve uygun kimlik bilgilerini kullanmayı içerir. Azure DevOps Server 2022'den Azure SQL Veritabanı'na bağlanmak için aşağıdaki adımları uygulayın.
Azure SQL Veritabanı'na bağlanma
Azure SQL Veritabanı bağlantı ayrıntılarını alın:
- Sunucu adı:
<your-server-name>.database.windows.net - Veritabanı adı:
<your-database-name> - Kimlik doğrulama yöntemi: SQL Server Kimlik Doğrulaması (kullanıcı adı/parola) veya Microsoft Entra Id kimlik doğrulaması.
- Sunucu adı:
SQL Server Management Studio (SSMS) kullanarak bağlanma: a. Azure DevOps Server'ın yüklü olduğu makinede SQL Server Management Studio'yu açın. b. Azure SQL Veritabanı'na bağlanın: c. SSMS'i başlatın. ö. Sunucuya Bağlan penceresinde:
- Sunucu Adını girin:
<your-server-name>.database.windows.net - Kimlik Doğrulaması: SQL Server Kimlik Doğrulaması'nı seçin.
- Kullanıcı Adınızı ve Parolanızı girin.
- Bağlan'ı seçin. Bağlandıktan sonra Azure SQL Veritabanı, SSMS'deki Nesne Gezgini altında listelenir.
- Sunucu Adını girin:
Bağlantıyı test etme: SSMS'de sorgu veya komut yürütme:
SELECT @@VERSION;Bu sorgu, bağlantının başarılı olduğunu onaylayarak Azure SQL Veritabanınızın SQL Server sürümünü döndürür.
Azure DevOps Server'da bağlantıyı kullanın: SSMS'den bağlantıyı doğruladıktan sonra, aşağıdakiler gibi çeşitli görevler için Azure DevOps Server'da bu bağlantıyı kullanabilirsiniz:
- Otomatik dağıtımlar: Veritabanı değişikliklerini dağıtmak için Azure DevOps Server'da yayın işlem hatlarını ayarlayın.
- Veri geçişi: Azure DevOps Server ile tümleştirilmiş SQL betiklerini veya veri araçlarını kullanın.
- Sürekli tümleştirme: Veritabanı değişikliklerini CI/CD işlem hatlarınızla tümleştirin.
Tavsiye
- Güvenli olun: Daha güvenli erişim için Microsoft Entra ID kullanmayı göz önünde bulundurun.
- Kimlik bilgilerini yönetme: Kimlik bilgilerini güvenli bir şekilde depolayın ve bunları betiklerde veya yapılandırmalarda sabit kodlamaktan kaçının.
- Ekran: Güvenlik ve performans sağlamak için veritabanı bağlantılarını ve kullanımını izleyin.
Şirket içinde çalışan Azure DevOps Server 2022'den Azure SQL Veritabanı'nın bağlanması, geliştirme ve dağıtım süreçlerinizle kolaylaştırılmış veritabanı yönetimi ve tümleştirmesi sağlar. Yapılandırmaları ve güvenlik ölçülerini kuruluşunuzun ilkelerine ve gereksinimlerine göre ayarlayın.
Azure DevOps Server 2022'de Azure SQL Veritabanı bağlantınızı kullanma
Azure DevOps Server'ı hazırlama:
a. Şirket içi ortamınızda Azure DevOps Server 2022'nin yüklü ve yapılandırılmış olduğundan emin olun.</
b. İşlem hatlarını oluşturmak ve yönetmek için uygun izinlere sahip Azure DevOps Sunucusu'na erişim.Azure DevOps proje ve deposunu ayarlayın (henüz yapılmadıysa):
a. Yeni bir Azure DevOps projesi oluşturun veya mevcut bir Azure DevOps projelerini kullanın.
b. İşlem hattı tanımlarınızı ve betiklerinizi depolamak için bir Git veya TFVC deposu ayarlayın.İşlem hattı oluşturma:
a. Azure DevOps projenize gidin.
b. İşlem Hatları>İşlem Hatları> seçin.
c. Gereksinimlerinize göre uygun işlem hattı şablonunu seçin. Azure SQL Veritabanı için Boş bir iş ile başlayabilir veya dağıtım gereksinimlerinize (örneğin, Azure Pipeline) uygun bir şablon seçebilirsiniz.
d. İşlem hattı YAML dosyasını düzenleyin veya işlem hattı aşamalarınızı ve görevlerinizi tanımlamak için klasik düzenleyiciyi kullanın.Azure SQL Veritabanı'na dağıtılacak görevleri ekleyin:
Görev: SQL Server Veritabanı Dağıtımı:
SqlAzureDacpacDeploymentDeğişiklikleri Azure SQL Veritabanınıza dağıtmak için bu görevi kullanın. Örnek YAML kod parçacığı:steps: - task: SqlAzureDacpacDeployment@1 inputs: azureSubscription: 'YourServiceConnectionName' # Use your Azure SQL Database service connection serverName: '<your-server-name>.database.windows.net' databaseName: '<your-database-name>' deployType: 'DacpacTask' authenticationType: 'server' sqlUsername: '$(sqlUsername)' sqlPassword: '$(sqlPassword)',
<your-server-name>,<your-database-name>ve$(sqlUsername)değerlerini uygun değer veya değişkenlerle değiştirin$(sqlPassword).Görev: Azure SQL Sorgusu:
AzureSqlQueryGörevi kullanarak Azure SQL Veritabanınızda SQL sorguları çalıştırın. Örnek YAML kod parçacığı:steps: - task: AzureSqlQuery@1 inputs: azureSubscription: 'YourServiceConnectionName' # Use your Azure SQL Database service connection serverName: '<your-server-name>.database.windows.net' databaseName: '<your-database-name>' sqlUsername: '$(sqlUsername)' sqlPassword: '$(sqlPassword)' sqlQuery: 'SELECT * FROM TableName'
Kimlik bilgilerini güvenli bir şekilde yönetin: SQL Server kimlik bilgileri (
sqlUsernamevesqlPassword) gibi hassas bilgileri yönetmek için Azure DevOps değişkenlerini veya Azure Key Vault tümleştirmesini kullanın.İşlem hattını tetikleme ve çalıştırma:
- İşlem hattı değişikliklerinizi kaydedin ve onaylayın.
- dağıtım stratejinize göre işlem hattını el ile tetikleyin veya tetikleyicileri (örneğin, kod işleme, zamanlama) ayarlayın.
İşlem hattı yürütmeyi izleme:
- Azure SQL Veritabanı'na yapılan dağıtımların başarılı olduğundan emin olmak için Azure DevOps'ta işlem hattı çalıştırmalarını izleyin.
- Dağıtım sırasındaki sorunları gidermek için günlükleri ve çıktıları gözden geçirin.
Tavsiye
- Yayın İşlem Hatları ile tümleştirme: Daha karmaşık dağıtım senaryoları ve onayları için derleme işlem hattınızı yayın işlem hatları ile tümleştirin.
- Artımlı veritabanı değişiklikleri yapın: Veritabanı şemanızda artımlı değişiklikleri yönetmek için SQL Server Veri Araçları (SSDT) veya geçişler gibi araçları kullanın.
- Sürüm denetimini kullan: Değişiklikleri izlemek ve yeniden üretilebilirliği sağlamak için SQL betiklerinizi ve veritabanı değişikliklerinizi sürüm denetimi altında tutun.
Yapılandırmaları ve görevleri belirli dağıtım gereksinimlerinize ve kuruluş gereksinimlerinize göre ayarlayın.
SQL Server yedeklemesi oluşturma
Azure DevOps Server Yönetim Konsolu'nu kullanarak Azure DevOps Server 2022 için SQL Server yedeklemesi oluşturmak, yedekleme ayarlarını yapılandırmayı ve normal yedeklemeleri zamanlamayı içerir. SQL Server yedeklemesi oluşturmak için aşağıdaki adımları uygulayın.
Yedekleme önkoşulları
| Kategori | Gereksinimler |
|---|---|
| Erişim | Azure DevOps Server'ın yüklü olduğu sunucuya yönetici erişimi. |
| İzinler | Yedeklemeleri yapılandırma ve SQL Server Management Studio'ya erişme izni. |
Yedekleme oluşturma
Azure DevOps Server'ın yüklü olduğu sunucuda Azure DevOps Server Yönetim Konsolu'nu başlatın ve Uygulama Katmanı>Zamanlanmış Yedeklemeleri Zamanlanmış Yedeklemeler>Oluştur'u seçin.
Ağ yedekleme yolunu girin ve İleri'yi seçin.
İstediğiniz e-posta uyarılarını seçin ve ardından İleri'yi seçin.
Gereksinimlerinize göre bir yedekleme zamanlaması seçin ve ardından İleri'yi seçin.
Yapılandırma ayarlarınızı onaylayın ve Doğrula'yı seçin.
Yedekleme sihirbazı, yedekleme yolunun mevcut olduğunu ve bir ağ yolu olduğunu doğrular.
Hataları giderme
Hazırlık denetimi hatası varsa sorun giderme konusunda yardım için aşağıdaki bilgilere bakın.
Hata: Hizmet Hesabı Erişimi
Hata mesajı:TF401009: The Azure DevOps service account NT AUTHORITY\LOCAL SERVICE cannot access network shares. Change to an account that can access the backup path. Bu hata, hizmet hesabı NT AUTHORITY\LOCAL SERVICE olduğunda oluşur.
Çözüm:
Gerekli erişim izinlerine sahip bir yerel kullanıcı oluşturun.
Azure DevOps Server Yönetim Konsolu'nda Uygulama Katmanı ekranına gidin ve Hesabı Değiştir'i seçin.
Hizmet hesabını yeni oluşturulan yerel kullanıcı hesabıyla değiştirin.
Yedeklemeyi başarıyla oluşturmak ve hazırlık denetimlerini yeniden çalıştırmak için yedekleme işlemini yineleyin.
Başarılı yedekleme yapılandırması:
Zamanlanmış yedekleme günlükleri:
Yönetim Konsolu zamanlanmış yedeklemeleri:
Hata: Günlük Dosyası
Örnek günlük dosyası konumu:
C:\ProgramData\Microsoft\Azure DevOps\Server Configuration\Logs\Azure_DevOps_Server_Scheduled Backups_0627_192409.log
Örnek günlük dosyası hata iletisi:
[7/1/2024 7:28:37 AM] [Error]``Exception Message: The backup of the file or filegroup "LeadingKey" is not permitted because it is not online. Container state: "Offline" (7). Restore status: 0. BACKUP can be performed by using the FILEGROUP or FILE clauses to restrict the selection to include only online data.``BACKUP DATABASE is terminating abnormally. (type SqlException)
Çözüm:
Yedeklemeyi gerçekleştirmeden önce tüm dosya gruplarının çevrimiçi olduğundan emin olun.
LeadingKeyOffline örneği:
Belirli dosya gruplarıyla ilgili sorunları belirlemek ve çözmek için SQL sorgularını kullanarak yedekleme işlemini test edin.