Speed4Trade GmbH Einbinden der S4T-Datenbank in SQL Server Speed4Trade-Datenbank in einen Microsoft ® SQL-Server einbinden Standardmäßig wird als Datenbank für die Speed4Trade-Software eine, freie Version des Microsoft ® SQL-Server (SQL-Server 2005 Express Edition) installiert. Die darin angelegte Datenbank "S4T" kann in eine vorhandene SQL-Server 2005 (SQL-Server >= SP2) oder SQL Server 2008 Umgebung übernommen werden. Alle im Folgenden beschriebenen Tätigkeiten den SQL Server betreffend, sind für das Microsoft ® SQL Server Management Studio 2005 beschrieben und gelten so sinngemäß auch für Microsoft ® SQL Server 2008 Diese Anleitung ist zwar in erster Linie auf Nutzer eines vollwertigen SQL-Server zugeschnitten, kann aber auch auf die Express-Versionen von Microsoft ® SQL Server 2005 und 2008 übertragen werden. Hierbei müssen Sie das passende „Server Management Studio“ von der Microsoft ® Website getrennt herunterladen und installieren. Bitte beachten Sie unbedingt: Der Datenbank-Dump der mit der Installations-CD ausgeliefert wird, wurde aus einer SQL Server 2005 Express Edition SP2 (Version 9.00.3x.x) erstellt und kann somit auch nur in eine Umgebung mit gleichem oder höherem Service-Pack-Stand übernommen werden (> Version 9.00.3000.00). Bitte lassen Sie die folgenden Tätigkeiten durch einen erfahrenen User, Ihren Systembetreuer oder einen Dienstleister durchführen. Besondere Aufmerksamkeit gilt Systemen die nicht alleine der Speed4Trade-Datenbank dienen, sondern noch Datenbanken für andere Dienste zur Verfügung stellen. Prüfen Sie die folgenden Schritte aufmerksam und stellen Sie sicher, dass Speed4Trade fremde Datenbanken nicht durch die notwendigen Maßnahmen beeinträchtigt werden. Notwendige Berechtigungen / Voraussetzungen für die Einrichtung und den Betrieb der Speed4Trade-DB in einem SQL Server Sie benötigen für die Einrichtung einer neuen Datenbank und der SQL-Benutzerkonten administrative Berechtigungen • • • Anmeldung als SA Windows-Administrator oder SQL-Benutzer mit entsprechender SQL-Server-Rolle Wir empfehlen die Anmeldung als Windows-Benutzer mit administrativen Rechten für das WindowsSystem und den SQL-Server. Die Serverauthentifizierung muss auf „SQL Server- und Windows-Authentifizierungsmodus“ eingestellt sein. Für die Kommunikation der Speed4Trade-Server und der Clients mit der DB muss in der Netzwerkkonfiguration das TCP/IP Protokoll aktiviert sein. Bei aktivierter Firewall am SQL Server Rechner muss Kommunikation • *BELIEBIG* nach 1433 • von 1433 nach *BELIEBIG* erlaubt sein. Stand: 06.03.2009 Verfasser: Dirk Jungermann 1 Speed4Trade GmbH Einbinden der S4T-Datenbank in SQL Server 1. Datenbank „s4t“ anlegen Starten Sie das Management Studio auf dem SQL-Server Rechner und verbinden Sie sich mit dem lokalen Datenbankserver. Klicken Sie mit rechts auf den obersten Knoten im Objektexplorer und wählen Sie „neue Abfrage“ Es öffnet sich ein leeres Tab. Kopieren Sie dort den folgenden Befehls-Block hinein: USE [Master] CREATE DATABASE [s4t] ON PRIMARY ( NAME = N's4t', FILENAME = N'<pfad_mdf>\s4t.mdf' , SIZE = 3072KB , FILEGROWTH = 10% ) LOG ON ( NAME = N's4t_log', FILENAME = N'<pfad_ldf>\s4t_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%) COLLATE Latin1_General_CI_AS GO EXEC dbo.sp_dbcmptlevel @dbname=N's4t', @new_cmptlevel=90 GO USE [s4t] GO IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [s4t] MODIFY FILEGROUP [PRIMARY] DEFAULT GO Ersetzen Sie die Platzhalter <pfad_mdf> und <pfad_ldf> durch die vollständigen Pfade zum gewünschten Speicherort der Datendatei (s4t.mdf) und Transaktionslog-Datei (s4t_log.ldf). Beispiel: USE [Master] CREATE DATABASE [s4t] ON PRIMARY ( NAME = N's4t', FILENAME = N'D:\SQL-Server-Data\s4t.mdf' , SIZE = 3072KB , FILEGROWTH = 10% ) LOG ON ( NAME = N's4t_log', FILENAME = N'D:\SQL-Server-Data\s4t_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%) COLLATE Latin1_General_CI_AS GO EXEC dbo.sp_dbcmptlevel @dbname=N's4t', @new_cmptlevel=90 GO USE [s4t] GO IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [s4t] MODIFY FILEGROUP [PRIMARY] DEFAULT GO Führen Sie die Abfrage über F5 oder die Ausführen Schaltfläche aus. Die Abfrage sollte ohne Fehler abgeschlossen werden. Um die Datenbank in der Liste der Datenbanken im Objektexplorer zu sehen, klicken Sie auf Datenbanken bitte rechts und führen Sie den Befehl Aktualisieren aus. Stand: 06.03.2009 Verfasser: Dirk Jungermann 2 Speed4Trade GmbH Einbinden der S4T-Datenbank in SQL Server 2. Datenbankbenutzer „s4t_user“ anlegen Öffnen Sie ein neues Abfrage-Tab oder löschen Sie den Inhalt aus Schritt 1. Kopieren Sie dort den folgenden Befehls-Block hinein: USE [master] GO CREATE LOGIN [s4t_user] WITH PASSWORD=N'<passwort>', DEFAULT_DATABASE=[s4t], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO USE [s4t] GO CREATE USER [s4t_user] FOR LOGIN [s4t_user] GO USE [s4t] GO EXEC sp_addrolemember N'db_datareader', N's4t_user' GO USE [s4t] GO EXEC sp_addrolemember N'db_datawriter', N's4t_user' GO USE [s4t] GO EXEC sp_addrolemember N'db_owner', N's4t_user' GO Ersetzen Sie die den Platzhalter <passwort> durch das Passwort, das Ihnen durch den Speed4Trade-Support mitgeteilt wurde. Sie können das Passwort nicht selbst wählen. Die Speed4Trade Programmteile können sich bei einem falschen Passwort nicht verbinden. Führen Sie die Abfrage über F5 oder die Ausführen Schaltfläche aus. Die Abfrage sollte ohne Fehler abgeschlossen werden. 3. Import der Datenbank-Sicherung (über Dump-File) Öffnen Sie ein neues Abfrage-Tab oder löschen Sie den Inhalt aus Schritt 2. Kopieren Sie dort den folgenden Befehls-Block hinein: USE [Master] RESTORE DATABASE [s4t] FROM DISK = N'<pfad>' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10 GO Ersetzen Sie den Platzhalter <pfad> durch den vollständigen Pfad zur Dump-Datei. Für die Grundinstallation finden Sie das Dump-File s4t_init.bak auf der Installations-CD im Ordner Tools. Beispiel: USE [Master] RESTORE DATABASE [s4t] FROM DISK = N ' D:\temp\s4t_init.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10 GO Führen Sie die Abfrage über F5 oder die Ausführen Schaltfläche aus. Die Abfrage sollte ohne Fehler abgeschlossen werden. Stand: 06.03.2009 Verfasser: Dirk Jungermann 3 Speed4Trade GmbH Einbinden der S4T-Datenbank in SQL Server 4. Updaten des DB-Benutzers Haben Sie unter Schritt 3 einen Dump eingespielt, der nicht am selben System erstellt wurde, müssen Sie zum Abschluss noch die SID des unter Schritt 2 angelegten Benutzer s4t_user mit der SID des durch den Datenbank-Import importierten s4t_user updaten. Öffnen Sie ein neues Abfrage-Tab oder löschen Sie den Inhalt aus Schritt 3. Kopieren Sie dort den folgenden Befehls-Block hinein: USE [s4t] go sp_change_users_login 'update_one', 's4t_user', 's4t_user' go Führen Sie die Abfrage über F5 oder die Ausführen Schaltfläche aus. Die Abfrage sollte ohne Fehler abgeschlossen werden. 5. Umstellung der Connection Strings Der Connection-String in den db.ini Dateien in den Speed4Trade Installationsordnern API, APP, Email und Update-SRV, sowie bei allen Clients mit DB Anbindung muss nun an die geänderte Datenbankanbindung angepasst werden. Standardmäßig steht hier die Verbindung als connection=Provider=SQLOLEDB.1;…… Data Source=<IP oder Rechnername> \SPEED4TRADE_DB eingetragen. Ändern Sie den String so ab, das es nur noch auf den Rechner / IP zeigt auf dem der SQL Server läuft und lassen Sie den Instanznamen SPEED4TRADE_DB weg Bei Updateserver und Clients müssen Sie in der DB-Sektion [DB] zusätzlich den Parameter KeepConnectionString=1 eintragen. Nähere Informationen zum Anpassen der Connection-Strings bzw. der db.ini Dateien entnehmen Sie bitte dem Teil I des Speed4Trade-Handbuchs. Stand: 06.03.2009 Verfasser: Dirk Jungermann 4