/* DATABASE: [EsbZertifikatManager] OBJECTNAME: Seed ACTION: INSERT IDX: 002 DATE: 2026-07-29 USER: CUR COMMENT: KOMPLETTE Seed-Datei (alles in einem Lauf): - Company: DE, PL, AT - Environment: TEST2, TEST, PROD - SonicConnection: DE-Test (TEST) - SonicContainer: ct-ZADBService - CertificateTarget: Platzhalter-Pfad Keine Credentials (Always Encrypted / Setup-Wizard). Voraussetzung: 00_DropExisting, 01_CreateDatabase, 02_CreateSchema, AlwaysEncrypted-Zertifikat importiert (Install-Certificate.ps1). */ USE [EsbZertifikatManager]; GO SET ANSI_NULLS ON; GO SET QUOTED_IDENTIFIER ON; GO /* -------------------------------------------------------------------------- */ /* Company */ /* -------------------------------------------------------------------------- */ IF NOT EXISTS ( SELECT 1 FROM [dbo].[Company] AS company WHERE company.[CompanyCode] = N'DE' ) BEGIN INSERT INTO [dbo].[Company] ( [CompanyCode], [CompanyName], [IsActive], [CreationDateTime], [CreatedBy] ) VALUES (N'DE', N'ZIEHL-ABEGG Deutschland', 1, SYSUTCDATETIME(), SUSER_SNAME()); END; GO IF NOT EXISTS ( SELECT 1 FROM [dbo].[Company] AS company WHERE company.[CompanyCode] = N'PL' ) BEGIN INSERT INTO [dbo].[Company] ( [CompanyCode], [CompanyName], [IsActive], [CreationDateTime], [CreatedBy] ) VALUES (N'PL', N'ZIEHL-ABEGG Polen', 1, SYSUTCDATETIME(), SUSER_SNAME()); END; GO IF NOT EXISTS ( SELECT 1 FROM [dbo].[Company] AS company WHERE company.[CompanyCode] = N'AT' ) BEGIN INSERT INTO [dbo].[Company] ( [CompanyCode], [CompanyName], [IsActive], [CreationDateTime], [CreatedBy] ) VALUES (N'AT', N'ZIEHL-ABEGG Oesterreich', 1, SYSUTCDATETIME(), SUSER_SNAME()); END; GO /* -------------------------------------------------------------------------- */ /* Environment */ /* -------------------------------------------------------------------------- */ IF NOT EXISTS ( SELECT 1 FROM [dbo].[Environment] AS environment WHERE environment.[EnvironmentCode] = N'TEST2' ) BEGIN INSERT INTO [dbo].[Environment] ( [EnvironmentCode], [EnvironmentName], [SortOrder], [IsActive], [CreationDateTime], [CreatedBy] ) VALUES (N'TEST2', N'Test 2', 1, 1, SYSUTCDATETIME(), SUSER_SNAME()); END; GO IF NOT EXISTS ( SELECT 1 FROM [dbo].[Environment] AS environment WHERE environment.[EnvironmentCode] = N'TEST' ) BEGIN INSERT INTO [dbo].[Environment] ( [EnvironmentCode], [EnvironmentName], [SortOrder], [IsActive], [CreationDateTime], [CreatedBy] ) VALUES (N'TEST', N'Test', 2, 1, SYSUTCDATETIME(), SUSER_SNAME()); END; GO IF NOT EXISTS ( SELECT 1 FROM [dbo].[Environment] AS environment WHERE environment.[EnvironmentCode] = N'PROD' ) BEGIN INSERT INTO [dbo].[Environment] ( [EnvironmentCode], [EnvironmentName], [SortOrder], [IsActive], [CreationDateTime], [CreatedBy] ) VALUES (N'PROD', N'Production', 3, 1, SYSUTCDATETIME(), SUSER_SNAME()); END; GO /* -------------------------------------------------------------------------- */ /* TEST-System: DE-Test + ct-ZADBService + CertificateTarget */ /* -------------------------------------------------------------------------- */ DECLARE @EnvironmentIdTest [int]; DECLARE @CompanyIdDe [int]; DECLARE @SonicConnectionIdDeTest [int]; DECLARE @SonicContainerId [int]; SELECT @EnvironmentIdTest = environment.[EnvironmentId] FROM [dbo].[Environment] AS environment WHERE environment.[EnvironmentCode] = N'TEST'; SELECT @CompanyIdDe = company.[CompanyId] FROM [dbo].[Company] AS company WHERE company.[CompanyCode] = N'DE'; IF @EnvironmentIdTest IS NULL OR @CompanyIdDe IS NULL BEGIN THROW 50002, N'Seed unvollstaendig: Environment TEST oder Company DE fehlt.', 1; END; IF NOT EXISTS ( SELECT 1 FROM [dbo].[SonicConnection] AS connection WHERE connection.[ConnectionName] = N'DE-Test' ) BEGIN INSERT INTO [dbo].[SonicConnection] ( [EnvironmentId], [ConnectionName], [ManagementHost], [ManagementPort], [DomainName], [ConnectionProtocol], [IsActive], [CreationDateTime], [CreatedBy] ) VALUES ( @EnvironmentIdTest, N'DE-Test', N'dekun-painwbdet', 13070, N'proalpha-test', N'tcp', 1, SYSUTCDATETIME(), SUSER_SNAME() ); END; SELECT @SonicConnectionIdDeTest = connection.[SonicConnectionId] FROM [dbo].[SonicConnection] AS connection WHERE connection.[ConnectionName] = N'DE-Test'; IF @SonicConnectionIdDeTest IS NULL BEGIN THROW 50003, N'Seed fehlgeschlagen: SonicConnection DE-Test nicht gefunden.', 1; END; IF NOT EXISTS ( SELECT 1 FROM [dbo].[SonicContainer] AS container WHERE container.[SonicConnectionId] = @SonicConnectionIdDeTest AND container.[ContainerName] = N'ct-ZADBService' ) BEGIN INSERT INTO [dbo].[SonicContainer] ( [CompanyId], [SonicConnectionId], [ContainerName], [ContainerDisplayName], [RestartTimeoutSeconds], [IsActive], [CreationDateTime], [CreatedBy] ) VALUES ( @CompanyIdDe, @SonicConnectionIdDeTest, N'ct-ZADBService', N'ZADBService', 180, 1, SYSUTCDATETIME(), SUSER_SNAME() ); END; SELECT @SonicContainerId = container.[SonicContainerId] FROM [dbo].[SonicContainer] AS container WHERE container.[SonicConnectionId] = @SonicConnectionIdDeTest AND container.[ContainerName] = N'ct-ZADBService'; IF @SonicContainerId IS NULL BEGIN THROW 50004, N'Seed fehlgeschlagen: SonicContainer ct-ZADBService nicht gefunden.', 1; END; /* Demo-Pfad für Zertifikat-Austausch (UNC server.p12) – immer sicherstellen */ DECLARE @DemoDirectory [nvarchar](500) = N'\\dekun-painwbdet\e$\proalpha-inwb\test\Containers\proalpha-test.ct-ZADBService\certs'; DECLARE @DemoFileName [nvarchar](260) = N'server.p12'; UPDATE [dbo].[CertificateTarget] SET [TargetDirectory] = @DemoDirectory, [TargetFileName] = @DemoFileName, [BackupEnabled] = 1, [BackupDirectoryName] = N'Backup', [IsActive] = 1, [ModifiedDateTime] = SYSUTCDATETIME(), [ModifiedBy] = SUSER_SNAME() WHERE [SonicContainerId] = @SonicContainerId AND ( [TargetFileName] IN (N'server.crt', N'server.p12') OR [TargetDirectory] LIKE N'C:\ESB\Certificates%' ); IF NOT EXISTS ( SELECT 1 FROM [dbo].[CertificateTarget] AS target WHERE target.[SonicContainerId] = @SonicContainerId AND target.[TargetDirectory] = @DemoDirectory AND target.[TargetFileName] = @DemoFileName AND target.[IsActive] = 1 ) BEGIN INSERT INTO [dbo].[CertificateTarget] ( [SonicContainerId], [TargetDirectory], [TargetFileName], [BackupEnabled], [BackupDirectoryName], [IsActive], [CreationDateTime], [CreatedBy] ) VALUES ( @SonicContainerId, @DemoDirectory, @DemoFileName, 1, N'Backup', 1, SYSUTCDATETIME(), SUSER_SNAME() ); END; GO /* Kontrolle */ SELECT company.[CompanyCode], environment.[EnvironmentCode], connection.[ConnectionName], connection.[ManagementHost], connection.[ManagementPort], connection.[DomainName], container.[ContainerName], target.[TargetDirectory], target.[TargetFileName] FROM [dbo].[SonicConnection] AS connection INNER JOIN [dbo].[Environment] AS environment ON environment.[EnvironmentId] = connection.[EnvironmentId] INNER JOIN [dbo].[SonicContainer] AS container ON container.[SonicConnectionId] = connection.[SonicConnectionId] INNER JOIN [dbo].[Company] AS company ON company.[CompanyId] = container.[CompanyId] LEFT JOIN [dbo].[CertificateTarget] AS target ON target.[SonicContainerId] = container.[SonicContainerId] ORDER BY environment.[SortOrder], company.[CompanyCode], connection.[ConnectionName]; GO