Blog Arksoft
  • Arksoft Bilisim
  • Scripts
    • SCCM (ConfigMgr)
    • Hyper-V
    • WSUS
    • Exchange Scripts
      • Exchange Virtual Directory Config
      • Virtual Directory Script
      • LogPath Config
  • NİSAN 2025
    • Exchange Server 2019 CU15 Apr25HU
    • Nisan 2025:Microsoft Güvenlik Güncellemeleri
    • Power BI Gateway ile On-Prem Verilerin Gücünü Keşfedin!
    • IT Personelleri Neden Adli Bilişim Farkındalık Eğitimi Almalıdır?
    • ''SCCM 2503'' Sürüm Yükseltme Rehberi
  • Mart 2025
    • SCCM Üzerinden Kritere Göre Uygulama ve Deployment’ları Otomatik Silmek
    • Mart 2025: Microsoft Güvenlik Güncellemeleri
  • ŞUBAT 2025
    • SPN Nedir, Kerberos Nasıl Çalışır ve Duplicate SPN Neden Sorun Yaratır?
    • Şubat 2025: Microsoft'un Güvenlik Güncellemeleriyle Sistemlerinizi Güçlendirin!
    • Exchange Server CU15 Güncellemesi
    • log_reuse_wait_desc Nedir ve Ne Anlatır?
  • OCAK 2025
    • Azure SQL Nedir? Temel Bilgiler ve Avantajlar
    • Live Migration için Ağ Kartı Seçerken Dikkat Edilmesi Gerekenler
    • Protected Attribute Nedir? Nasıl Oluşturulur?
    • Ocak 2025 Microsoft Güvenlik Güncellemeleri: Sistemlerinizi Güvende Tutun!
    • CLIUSR Hesabı Neden Önemlidir? CLIUSR sertifikası nedir, neden süresi doldu uyarısı alıyorum?
  • ARALIK 2024
    • TLS 1.2 Öncesi Protokollerin Güvenlik Açıkları ve TLS 1.2/1.3 Önemi
  • Kasım 2023
    • Microsoft Exchange Server Kasım Ayı Güvenlik Güncellemesi
  • Temmuz 2023
    • Microsoft Office Zero-Day Zafiyeti CVE-2023-36884
  • Mayis 2023
    • Hashing ve Salting Kavramları Nedir? Azure AD Parola Güvenliği Nasıl Sağlanır?
  • Nisan 2023
    • DDOS Saldırıları Nedir ve Korunma Yolları Nelerdir?
    • Fidye Yazılımları Nedir ve Korunma Yöntemleri Nelerdir?
    • Ransomwares And Defence Strategies
    • PowerShell Modülleri: Temel Kavramlar ve Kullanım Örnekleri
    • PowerShell Fonksiyonları: Temel Kavramlar ve Kullanım Örnekleri
    • PowerShell Cmdlet'ler: Temel Kavramlar ve Kullanım Örnekleri
    • PowerShell Değişkenleri: Temel Kavramlar ve Kullanım Örnekleri
    • PowerShell Nedir?
    • Oltalama E-Postalarından Korunma
    • CVE-2023-2033
    • Cloud Computing and Its Advantages
    • Bulut Bilişim Nedir ve Bulut Bilişimin Avantajları Nelerdir?
    • Bilgi ve İletişim Güvenliği Rehberi Nedir ve Rehbere Uyumlu Olmak Neden Önemlidir?
  • Mart 2023
    • Sık Kullanılan Portlar ve Üzerinde Çalışan Protokoller
    • Siber Güvenlik ve İnternet Dünyasında Güvende Kalmanın Yolları
    • Outlook Kullanıcılarına Uyarı: CVE-2023-23397 Güvenlik Açığına Karşı Önlem Alın
  • Şubat 2023
    • Üçüncü Parti Uygulamaların Güncellenmesinin Önemi
  • Aralık 2022
    • Siber Tehdit
    • FRS to DFSR Migration
  • Kasım 2022
    • Domain Controller 2022 Kasım Ayı Bug'ı
  • Mart 2022
    • OWA ve ECP erişim sorunu: Microsoft Exchange Server Auth Certificate is expired
    • MIM 2016 SSPR Türkçe Karakter Problemi
  • Haziran 2021
    • KMS (Key Management Service)
  • Ağustos 2020
    • Microsoft Teams Konuk (Guest) Erişimi ve Dış (External) Erişim- Sizin için hangisi uygun?1
    • SCCM 2006 Güncellemesi
    • Skype For Business 2019 Kurulumu- Hata Kodu 1603 (Server.msi(Feature_Server, Feature_HealthyAgent))
    • Skype for Business 2019 “Centralized Logging” Servisinin Başlatılamaması Problemi ve Çözümü
  • Temmuz 2020
    • Clean Inactive Agents from Operations Manager
  • Haziran 2020
    • Microsoft Teams Katılımcı Raporu İndirme
    • Microsoft Teams Toplantı ve Grup Sohbet Sınırı 300'e çıkarıldı
  • Mayıs 2020
    • MIM 2016 Service and Portal Kurulumundaki Bug
    • Telegram ve Powershell ile Sistem İzleme-Part 1
  • Ekim 2019
    • Windows Server 2019 Active Directory Domain Services Kurulumu
  • Nisan 2019
    • Huawei FusionCompute Kurulumu
  • Mart 2019
    • Password Reveal Düğmesi
  • Ocak 2019
    • ReportServer Veri Tabanı içerisinden RDL Dosyalarının Çıkartılması
  • Temmuz 2018
    • Active Directory Certificate Services - SHA1’ den SHA2’ ye Yükseltme
    • Local Administrator Password Solution
Powered by GitBook
On this page
  1. Mayıs 2020

MIM 2016 Service and Portal Kurulumundaki Bug

Samet Kara

Bu makalede MIM 2016 kurulumunda bulduğum bir bugdan bahsetmek istiyorum. MIM 2016 SP2 sisteminin Service and Portal kurulumu sırasında sıra dışı bir hata aldım ve maalesef ekrana basılan hata açıklayıcı bir hata değildi. Hata verdikten sonra ekranda "OK" tuşuna basınca RollBack işlemi başlatılıyor ve sistem kurulumu tamamlanamıyordu. Kurulum ile ilgili günlükleri incelediğimde aşağıda belirttiğim hatalar ile karşılaştım.

MSI (s) (D8:B8) [12:25:37:638]: Executing op: CustomActionSchedule(Action=UpgradeDatabase,ActionType=1042,Source=D:\Program Files\Microsoft Forefront Identity Manager\2010\Service\Microsoft.IdentityManagement.DatabaseUpgrade.exe,Target=/ConnectionString:"Data Source=SQLSERVER;Initial Catalog=MIMService;Integrated Security=SSPI;Pooling=true;Connection Timeout=225" /FimServiceAccountName:"contoso\MIMService" /FimServiceDatabaseName:"MIMService" keepSQLjobs:"false",)

CustomAction UpgradeDatabase returned actual error code -2 (note this may not be 100% accurate if translation happened inside sandbox)

MSI (s) (D8:B8) [12:25:56:454]: Note: 1: 1722 2: UpgradeDatabase 3: D:\Program Files\Microsoft Forefront Identity Manager\2010\Service\Microsoft.IdentityManagement.DatabaseUpgrade.exe 4: /ConnectionString:"Data Source=SQLSERVER;Initial Catalog=MIMService;Integrated Security=SSPI;Pooling=true;Connection Timeout=225" /FimServiceAccountName:"contoso\MIMService" /FimServiceDatabaseName:"MIMService" keepSQLjobs:"false"

Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action UpgradeDatabase, location: D:\Program Files\Microsoft Forefront Identity Manager\2010\Service\Microsoft.IdentityManagement.DatabaseUpgrade.exe, command: /ConnectionString:"Data Source=SQLSERVER;Initial Catalog=MIMService;Integrated Security=SSPI;Pooling=true;Connection Timeout=225" /FimServiceAccountName:"contoso\MIMService" /FimServiceDatabaseName:"MIMService" keepSQLjobs:"false"

MSI (s) (D8:B8) [12:25:59:829]: Product: Microsoft Identity Manager Service and Portal -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action UpgradeDatabase, location: D:\Program Files\Microsoft Forefront Identity Manager\2010\Service\Microsoft.IdentityManagement.DatabaseUpgrade.exe, command: /ConnectionString:"Data Source=SQLSERVER;Initial Catalog=MIMService;Integrated Security=SSPI;Pooling=true;Connection Timeout=225" /FimServiceAccountName:"contoso\MIMService" /FimServiceDatabaseName:"MIMService" keepSQLjobs:"false"

Ancak bu günlük bilgileri aldığım hata mesajından daha fazla bilgi içermesine rağmen hala sorunun neden kaynaklandığını belirtmiyordu. Daha sonra Event Viewer üzerinden kayıtları inceledim.

Kurulum günlüğünde karşılaştığım hatanın aynısı Event Viewerda da kendisini gösterdi.

Bu olayın kaydının altında yer alan olay kaydında ise daha fazla açıklama içerebileceğini düşündüğüm bir tracelog dosyası işaret edilmekteydi.

İlgili dosyayı incelediğimde aşağıdaki gibi bir kayıt gördüm.

Microsoft.ResourceManagement Verbose: 0 : Out-of-box object import : Completed processing configuration change ConfigurationChange0004.
DateTime=2020-05-01T09:25:56.4230833Z
Microsoft.ResourceManagement Verbose: 0 : Out-of-box object import : Started processing configuration change ConfigurationChange0006a.
DateTime=2020-05-01T09:25:56.4230833Z
Microsoft.ResourceManagement Verbose: 0 : Out-of-box object import : Started processing pre object import file NoOperation.sql.
DateTime=2020-05-01T09:25:56.4230833Z
Microsoft.ResourceManagement Verbose: 0 : Execute SQL : The following sql statement failed.
DateTime=2020-05-01T09:25:56.4230833Z
Microsoft.ResourceManagement Verbose: 0 : Execute SQL : The transaction failed with the following errors System.InvalidOperationException: Invalid operation. The connection is closed.
at System.Data.SqlClient.SqlConnection.GetOpenConnection()
at System.Data.SqlClient.SqlConnection.BeginTransaction(IsolationLevel iso, String transactionName)
at Microsoft.IdentityManagement.DatabaseUpgrade.Program.TransactionFactory.CreateTransaction()
at Microsoft.IdentityManagement.DatabaseUpgrade.Program.ExecuteSqlScript(SqlConnection connection, S
DateTime=2020-05-01T09:25:56.4230833Z
Microsoft.ResourceManagement Error: 3 : Out-of-box object import : Errors encountered in pre-process. The error message: The sql transaction running the script NoOperation.sql failed.
Exception: System.InvalidOperationException: Invalid operation. The connection is closed.
at System.Data.SqlClient.SqlConnection.GetOpenConnection()
at System.Data.SqlClient.SqlConnection.BeginTransaction(IsolationLevel iso, String transactionName)
at Microsoft.IdentityManagement.DatabaseUpgrade.Program.TransactionFactory.CreateTransaction()
at Microsoft.IdentityManagement.DatabaseUpgrade.Program.ExecuteSqlScript(SqlConnection connection, String sqlFile, Boolean embeddedAsResource, Boolean hasPlaceholders, Boolean continueOnError)
DateTime=2020-05-01T09:25:56.4230833Z
Microsoft.ResourceManagement Verbose: 0 : Database upgrade : Out-of-box object upgrade completed.
DateTime=2020-05-01T09:25:56.4230833Z
Microsoft.ResourceManagement Verbose: 0 : Database upgrade : Out-of-box object upgrade complete with errors. The sql transaction running the script NoOperation.sql failed.
Exception: System.InvalidOperationException: Invalid operation. The connection is closed.
at System.Data.SqlClient.SqlConnection.GetOpenConnection()
at System.Data.SqlClient.SqlConnection.BeginTransaction(IsolationLevel iso, String transactionName)
at Microsoft.IdentityManagement.DatabaseUpgrade.Program.TransactionFactory.CreateTransaction()
at Microsoft.Identit
DateTime=2020-05-01T09:25:56.4230833Z
Microsoft.ResourceManagement Error: 3 : Database upgrade : Encountered errors when upgrading the out-of-box objects.
DateTime=2020-05-01T09:25:56.4230833Z

Şuana kadar anlayabildiğim tek şey kurulum sırasında "Database Upgrade" isimli işlem gerçekleştirilirken bir problem yaşandığı şeklindeydi. Ben de bu konuyu araştırmaya koyuldum ve hata ile karşılaşan exe dosyasını ve bu dosya ile ilişik config dosyasını buldum. Belki bu dosyaları incelemenin bir faydası olabilir diye düşündüm.

Config dosyasınıı açıp içerisinde yukarıda tracelog dosyasında hata alınan adım olarak belirtilen "ConfigurationChange0006a" ifadesini arattım.

<ConfigurationChange Id="ConfigurationChange0006a" File="ServicePartitionNameAttribute.xml" EmbeddedAsResource="true" PreSql="NoOperation.sql" PostSql="ServicePartitionNameReconciled.sql" SourceVersion="6" />

Bu sonuç bana bir bilgi vermemişti. "ServicePartitionNameAttribute.xml" dosyasını da hiçbir yerde bulamadım ve bir çıkmaza girdim.

Ancak şunu anlamıştım SQL üzerinde veri tabanı oluştururken bir sıkıntı yoktu ancak onu güncellemeye çalışırken bir hata alıyordu. Bu durumda SQL Server Profiler aracını kullanarak kurulumu incelemeye başladım. SQL Server Profiler uygulamasını açtım, gerekli filtreleri girdim ve kurulumu yeniden başlattım. Kurulumda hata aldığım an SQL Server Profiler uygulamasına dönüp son satırlara baktım ve [setup].[EnableServiceBroker] isimli bir StoredProcedure çalıştırıldığını ve hata alındığını gördüm. Bu StoredProcedure'e göz attığımda hatanın nedeni anladım.

USE MIMService
GO

/****** Object: StoredProcedure [setup].[EnableServiceBroker] Script Date: 5/1/2020 3:02:28 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO
--********************************************************
--* *
--* Copyright (C) Microsoft. All rights reserved. *
--* *
--********************************************************

ALTER PROCEDURE [setup].[EnableServiceBroker]
AS
BEGIN
 SET NOCOUNT ON;
 ALTER DATABASE [FIMService] SET AUTO_UPDATE_STATISTICS_ASYNC OFF;
 ALTER DATABASE [FIMService] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
 ALTER DATABASE [FIMService] SET ENABLE_BROKER;
 ALTER DATABASE [FIMService] SET MULTI_USER WITH ROLLBACK IMMEDIATE;
 ALTER AUTHORIZATION ON DATABASE::[FIMService] TO [SA];
END

Kurulum sırasında aşağıdaki ekranda bizlere veri tabanının ismini değiştirebilmemiz için bir alan verilmiş. Bu alanı aşağıdaki ekran görüntüsünde belirttim.

Ancak bir bu alana FIMService dışında bir isim yazarsak bu Stored Prosedure doğru çalışmamaktadır.

Yine de daha önce pek çok farklı MIM kurulumu yaptım ve her defasında bu veri tabanının adını değiştiririm. Neden ilk defa bu şekilde bir hata aldım diye kontrol ettiğimdeyse Daha önceki MIM denemesinden FIMService diye bir veri tabanı oluşmuş ve bu veri tabanı kullanılmadığı için "Offline" durumuna getirilmiş. Daha önceki kurulumlarımda bu Stored Prosedure sadece veri tabanını bulamadım diye hata verirken bu kurulumda ilgili veri tabanı Offline olduğu için bu sıkıntıyı çıkartmış.

Bunu fark ettikten sonra bu şekilde başka hatalar yapılmış olabileceğini düşündüm ve aşağıdaki SQL cümleciğini yazdım.


SELECT DISTINCT
 s.name AS Schema_Name,
 o.name AS Object_Name,
 o.type_desc
 FROM sys.sql_modules m
 INNER JOIN
 sys.objects o
 ON m.object_id = o.object_id
 INNER JOIN sys.schemas s
 ON s.schema_id = o.schema_id
 WHERE m.definition Like '%FIMService%';

Bu cümlecik ile içerisinde FIMService terimi geçen bütün StoredProcedureların listesini oluşturdum.

Çıkan 15 sonucu da incelediğimde genellikle yorum satırlarında FIMService teriminin kullanıldığı, birkaç Stored Prosedure içerisinde ise bu terimin FIMServiceTruncateUser gibi kullanıcı isimlerinde ya da @ile başlayan değişkenlerde kullanıldığını fark ettim. Bu durumda sorun çıkartabilecek olan tek Stored Prosedure'ın [setup].[EnableServiceBroker] olduğunu görmüş oldum.

Sonuç olarak her ne kadar bizlere Veri tabanı adını değiştirebilmemiz için bir alan verilmiş olsa dahi bu Stored Prosedure'dan dolayı ilgili veri tabanının adını değiştirmemenizi önermekteyim.

PreviousMicrosoft Teams Toplantı ve Grup Sohbet Sınırı 300'e çıkarıldıNextTelegram ve Powershell ile Sistem İzleme-Part 1

Last updated 2 years ago