Serverumzug Orgasoft NET ab Version 2.0

Mehr
6 Monate 1 Tag her #1869 von toja
toja erstellte das Thema Serverumzug Orgasoft NET ab Version 2.0
Sie planen einen Umzug der Orgasoftinstallation und/oder der Datenbanken auf einen neuen Server:

Umzug der Datenbanken:
Beenden Sie alle Arbeiten in Orgasoft und erstellen Sie Backups der SQL Datenbanken. Diese Datenbanken hängen Sie nun in den neuen SQL Server ein und passen Sie danach die Orgasoft.ini wie folgt an:

<Mandant Mandantname="Mandantenname" Provider="SQLOLEDB" DBServer="Server\Instanz,Port" AdminDatabaseName="Datenbankname_VD3" User="sa" Passwort="geheim" />
Der Benutzername ist meist sa, das Passwort tragen Sie hier bitte in Klarschrift ein, es wird beim ersten Starten von Orgasoft.NET verschlüsselt.

Achten Sie bitte darauf, dass Jobs wie Backups etc. ggfs. angepasst werden müssen, da die Pfade u.U. nicht mehr stimmen oder erreichbar sind.

Wird auf dem neuen Server eine Orgasoft.NET Arbeitsplatz Installation benötigt, so benutzen Sie bitte die passende Setup.exe zu Ihrer Version. Im Zweifel lieber mit einer älteren als der eingesetzten Version installieren und dann updaten. (Updatedateien können aus einem bestehenden Arbeitsplatzverzeichnis kopiert werden)
Beachten Sie bitte auch, dass das Setup aus unseren Downloadbereich immer die aktuellste Orgasoft.NET Version enthält. Wenn Sie mit älteren Setup.exe als im Downloadbereich arbeiten, so benötigen Sie auch zwingend alle dazugehörigen Installationsdateien (DVD) auf welche das Setup während der Installation zugreifen kann. In unseren Downloadbereich können wir stets nur die aktuellsten Versionen vorhalten.
Laufen auf dem Server auch die Dienste, so sind hier die *Config Dateien im Programmverzeichnis anzupassen, die Dienste selbst werden durch das Setup mit installiert, u.U. müssen die Konten und Kennwörter manuell gesetzt werden (Eigenschaften der Dienste)

Pfade anpassen:
Sollten sich durch den neuen Server oder eine neue Freigabe Pfade geändert haben, so müssen innerhalb von Orgasoft.NET Anpassungen vorgenommen werden.
So zum Beispiel bei den verschiedenen Pfaden in den jeweiligen Datenbanken Mandantenname300 oder Mandantenname_VD3
-Verzeichnisse (früher Mandanten.INI) *_VD3 Tabelle Settings
-Scheduler *_VD3 Tabelle Scheduler
-Kassen *300 Tabelle Filialkasse
-Pfade zu den Vorfallformularen *300 Tabelle VorfallHatFormular, VorfallHatAdressFormular, VorfallHatSprachFormular
-Datenexporte *_VD3 Tabelle Datenexport
-Vorfallimporte *_VD3 Tabelle DatenImport, DateiImportDefinition,
ggf. weitere.

Clients auf neue Serverumgebung anpassen:
Um die Verknüpfungen auf den Clients anzupassen müssen Sie in der Registry unter “HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Signum GmbH Darmstadt\OrgaSoft.NET“ den Pfad zur Orgasoft.ini anpassen.

Kommt es nach der Serverumstellung zu Problemen, dass z.Bsp. Selektionen, Vorgaben etc. beim Druck oder Listen, welche aus einem Grid heraus gedruckt werden, nicht mehr gefunden werden können, weil sich Pfade oder Servername geändert haben, so können diese mit den folgenden Arbeitsschritten auf die neue Serverumgebung angepasst werden.
SQL Kenntnisse werden hierfür vorausgesetzt und sollte nur von Ihrer internen EDV durchgeführt werden!

Erzeugen Sie eine Datenbanksicherung!

Kopieren Sie die Procedure sowie die jeweiligen Arbeitsschritte in das Managementstudio und führen diese auf der Verwaltungsdatenbank(_VD3) aus.
Hinweis]
########################################################################

erzeugen Sie die benötigte Procedure in der Datenbank _VD3

CREATE PROC [dbo].[SearchAndReplace]
(
@SearchStr nvarchar(100),
@ReplaceStr nvarchar(100)
)
AS
BEGIN

SET NOCOUNT ON

DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110), @SQL nvarchar(4000), @RCTR int
SET @TableName = ''
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
SET @RCTR = 0

WHILE @TableName IS NOT NULL
BEGIN
SET @ColumnName = ''
SET @TableName =
(
SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
AND OBJECTPROPERTY(
OBJECT_ID(
QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
), 'IsMSShipped'
) = 0
)

WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
BEGIN
SET @ColumnName =
(
SELECT MIN(QUOTENAME(COLUMN_NAME))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
AND TABLE_NAME = PARSENAME(@TableName, 1)
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
AND QUOTENAME(COLUMN_NAME) > @ColumnName
)

IF @ColumnName IS NOT NULL
BEGIN
SET @SQL= 'UPDATE ' + @TableName +
' SET ' + @ColumnName
+ ' = REPLACE(' + @ColumnName + ', '
+ QUOTENAME(@SearchStr, '''') + ', ' + QUOTENAME(@ReplaceStr, '''') +
') WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
EXEC (@SQL)
SET @RCTR = @RCTR + @@ROWCOUNT
END
END
END

SELECT 'Replaced ' + CAST(@RCTR AS varchar) + ' occurence(s)' AS 'Outcome'
END

########################################################################

hiermit werden die Verzeichnisnamen getauscht, ggf. können so auch ganze Pfade angepasst werden, ServerAlt und ServerNeu sind mit Ihren Gegebenheiten anzupassen und dienen nur als Beispiel

exec SearchandReplace 'ServerAlt', 'ServerNeu'

Kommt es zu einem Fehler in der Tabelle Selection, dann muss zusätzlich der Update Trigger deaktiviert werden.
Achtung: Trigger nach der Ersetzung sofort wieder aktivieren!


########################################################################

Trigger ausschalten

exec sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'

########################################################################

exec SearchandReplace 'ServerAlt', 'ServerNeu'

########################################################################

Trigger einschalten

exec sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL'

########################################################################


Procedure löschen

DROP PROC [dbo].[SearchAndReplace]

*

Bitte Anmelden oder Registrieren um der Konversation beizutreten.