SQL-Serverdatenbank duplizieren und anpassen

SQL-Serverdatenbank duplizieren und anpassen

Problem/Frage

Grössere Städte arbeiten mit zentralen Datenbanken, die in der Regel über die Software Microsoft SQL-Server erstellt und auf dem physischen Firmenserver abgelegt werden. Der dafür zuständige Netzwerk-Administrator ist dabei für die Wartung, Sicherung und Wiederherstellung der SQL-Datenbank verantwortlich.

Die Wartung einer solchen Systemumgebung umfasst unter anderem folgende Arbeiten:

  • Update des Betriebsystems Microsoft Server

  • Update der Software Microsoft SQL-Server

  • Update der Kanalinspektionssoftware WinCan VX

Wie kann man sicherstellen, dass eine bestehende SQL-Datenbank nach einem Systemupdate immer noch einwandfrei funktioniert?

Lösung/Antwort

Es empfiehlt sich, neben der Originalversion eine Kopie einer solchen SQL-Serverdatenbank zu Testzwecken zu erstellen. Gehen Sie dazu wie nachfolgend beschrieben vor:

Änderung der GUID (Global Unique Identifier):

Die GUID der Datenbank lässt sich am besten durch das nachfolgende Skript anpassen:

BEGIN TRANSACTION;

DECLARE @OldGUID UNIQUEIDENTIFIER = 'GUIDDESORIGINALS';

DECLARE @NewGUID UNIQUEIDENTIFIER = NEWID();

-- Constraints deaktivieren

ALTER TABLE dbo.NODE NOCHECK CONSTRAINT FKNODEPROJECT;

ALTER TABLE dbo.SECTION NOCHECK CONSTRAINT FKSECTIONPROJECT;

ALTER TABLE dbo.PROJHIST NOCHECK CONSTRAINT FKPROJHISTPROJECT;

ALTER TABLE dbo.PROJECTPX NOCHECK CONSTRAINT FKPROJECTPXPROJECT;

-- GUID in abhängigen Tabellen ändern

UPDATE dbo.NODE SET OBJProjectFK = @NewGUID WHERE OBJProjectFK = @OldGUID;

UPDATE dbo.SECTION SET OBJProjectFK = @NewGUID WHERE OBJProjectFK = @OldGUID;

UPDATE dbo.PROJHIST SET HProjectFK = @NewGUID WHERE HProjectFK = @OldGUID;

UPDATE dbo.PROJECTPX SET PPXProjectFK = @NewGUID WHERE PPXProjectFK = @OldGUID;

-- GUID in Haupttabelle ändern

UPDATE dbo.PROJECT SET PRJPK = @NewGUID WHERE PRJPK = @OldGUID;

-- Constraints wieder aktivieren

ALTER TABLE dbo.NODE CHECK CONSTRAINT FKNODEPROJECT;

ALTER TABLE dbo.SECTION CHECK CONSTRAINT FKSECTIONPROJECT;

ALTER TABLE dbo.PROJHIST CHECK CONSTRAINT FKPROJHISTPROJECT;

ALTER TABLE dbo.PROJECTPX CHECK CONSTRAINT FKPROJECTPXPROJECT;

COMMIT TRANSACTION;

Suche nach der GUID

Die GUID eines SQL-Projekts finden Sie in der Tabelle dbo.PROJECT im Feld PRJ_PK.

Ersetzen Sie im obigen SQL-Skript den Eintrag @OldGUID durch den Wert im Feld dbo.PROJECT.PRJ_K

Anpassung von Projektpfaden und Metadaten

Wählen Sie die Tabelle PROJECT und passen Sie die nachfolgenden Felder an:

Feldname:

Beispielwert:

Feldname:

Beispielwert:

PRJ_Key

WinCan_Oeff_Test

PRJ_Path

D:\erzwincanmedia\Oeff_Kanal\WinCan_Oeff_Test

PRJ_MetaServerOrPath

WCHWEDOEBWIN11 (SQL-Servername)

PRJ_MetaService

NULL (SQL-Serverinstanz = Standard)

Zugriff auf SQL-Datenbank von WinCanVX aus

Starten Sie WinCan und erstellen Sie ein neues Projekt, basierend auf der SQL-Serverdatenbank:

  • Die Ordnerstruktur des Projekts wird im Hintergrund automatisch erstellt.

  • Der Unterordner \DB ist dabei immer leer, da keine LOKALE Projektdatenbank benutzt wird, sondern auf eine vorhandene SERVER-Datenbank zugegriffen wird.

Projekt mit Datenbanktyp SQL-Server 20XX erstellen:

1.) Starten Sie WinCan VX und wählen Sie den Befehl Projekte > Projektverwaltung

2.) Klicken Sie auf Vorhandenes Projekt hinzufügen:

1-20251014-134350.png

3.) Wählen Sie den Datenbanktyp Microsoft SQL-Server (1):

4.) Geben Sie die Verbindungsdaten zum SQL-Server ein:

  • Servername\Instanz (2)

  • Benutzername und Passwort (4)

  • Authentifizierungsmethode: Vertrauenswürde Verbindung SSPI (3)

3-20251014-134416.png

5.) Testen Sie als letztes die Verbindung über die Schaltfläche Test Connection

6.) Sobald die Verbindung steht, erscheint das Projekt in der Liste:

4-20251014-134652.png

7.) Klicken Sie auf das Projekt, um die erfassten Haltungen anzuzeigen:

5-20251014-134732.png