OKB-000228 | Für die SQL Server-Replikation ist der tatsächliche Servername erforderlich

Betrifft: ab orgAnice 2008, ab SQL-Server 2000

Problem:

Bei der Veröffentlichung einer Replikation bekommen Sie folgende Fehlermeldung:

Assistent für eine neue Veröffentlichung

SQL Server kann keine Verbindung mit Server ‘Servername‘ herstellen. 

Zusätzliche Informationen: 

Für die SQL Server-Replikation ist der tatsächliche Servername erforderlich, um eine Verbindung mit dem Server herzustellen. Verbindungen mithilfe eines Serveralias, einer IP-Adresse oder eines sonstigen Namens werden nicht unterstützt.

Ursache: 

Dieses Problem tritt in der Regel dann auf, wenn der Computername nach der Installation des SQL Servers geändert wurde.

Lösung:

Der ursprüngliche Servername muss gelöscht und durch den neuen Servernamen erzetzt werden. Öffnen Sie dazu im Management Studio eine neue Abfrage und führen Sie folgenden Code aus:

-- Use the Master database

USE master

GO

-- Declare local variables

DECLARE @serverproperty_servername varchar(100), 

@servername varchar(100)

-- Get the value returned by the SERVERPROPERTY system function

SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))

-- Get the value returned by @@SERVERNAME global variable

SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)

-- Drop the server with incorrect name

EXEC sp_dropserver @server=@servername

-- Add the correct server as a local server

EXEC sp_addserver @server=@serverproperty_servername, @local='local'

OKB-000222 | Fehlercode: 80040E37 Ungültiger Objektname ‚dbo.sysmergepublications‘

Betrifft: ab orgAnice CRM 2008

Problem: 

Beim Übertragen der Strukturänderungen erscheint die Fehlermeldung:

OrgSqlExportEgine

Fehler beim Ausführen einer SQL-Abfrage.

Abfragetext:

sp_helpmergepublication

Fehlercode: 80040E37

Beschreibung: Ungültiger Objektname ‚dbo.sysmergepublicaton‘

Ursache: 

Es wurde eine Replikation eingerichtet, die nicht mehr vorhanden ist.

Lösung: 

Führen Sie im SQL-Management-Studio folgende Code-Zeile aus: sp_RemoveDbReplication 'Datenbankname' 

OKB-000227 | Zugriff für neue Benutzergruppen einrichten

Betrifft: ab orgAnice 2008, SQL-Server 2000

Frage: 

Wie richte ich im SQL Server 2000 den Zugriff auf die orgAnice-Datenbank für bestimmte Windows-Benutzergruppen ein?

Lösung: 

Gehen Sie folgendermaßen vor:

1. Öffnen Sie den SQL Server Enterprise Manager und positionieren Sie auf den Zweig „Sicherheit – Benutzernamen“ innerhalb des gewünschten SQL Servers.

2. Führen Sie einen Rechtsklick auf „Benutzernamen“ aus und wählen Sie „Neuer Benutzername …“ aus.

3. Klicken Sie auf bei „Name“ auf die Schaltfläche „…“

4. Wählen Sie die gewünschte Domain und Benutzergruppe aus.

5. Bestätigen Sie mit OK und wechseln Sie zu der Registerkarte „Datenbankzugriff“.

6. Aktivieren Sie das Kontrollkästchen in der Spalte „Zulassen“ für die gewünschte Datenbank.

7. Bestätigen Sie mit OK.

Die Mitglieder der ausgewählten Benutzergruppe haben nun grundsätzlich Zugriff die ausgewählte Datenbank. Es müssen allerdings noch weitere Berechtigungen vergeben werden.

8. Wechseln Sie im Enterprise Manager zu der gewünschten Datenbank und wählen Sie den Zweig „Benutzerdefinierte Funktionen“

9. Klicken Sie mit der rechten Maustaste auf die erste Benutzerdefinierte Funktion und wählen Sie „Eigenschaften …“

10. Klicken Sie auf „Berechtigungen…“

11. Aktivieren Sie in der Zeile mit der gewünschten Benutzergruppe das Kontrollkästchen in der Spalte „EXEC“.

12. Bestätigen Sie 2x mit OK.

13. Führen Sie die Schritte 9-12 für die weiteren Benutzerdefinierten Funktionen aus.

Das war es. Die Mitglieder der ausgewählten Benutzergruppe können mit der Datenbank innerhalb von orgAnice arbeiten.

OKB-000226 | Umstellung auf die SQL Server-Authentifizierung

Betrifft: ab orgAnice 2008

Problem: 

Beim Starten von orgAnice werden des öfteren keine Tabellendaten angezeigt. Nach einem Rechnerneustart bzw. Neuanmelden steht die Daten aber zur Verfügung.

Ursache:

Nicht genau bekannt, möglicherweise interne Probleme bei der Übergabe der Windows-Anmeldedaten ab den MS SQL-Server.

Lösung: 

Umstellung der Authentifizierungsart am SQL-Server auf die „SQL Server-Authentifizierung“.

Gehen Sie folgendermaßen vor:

1.) Stellen Sie sicher, dass die SQL Server-Authentifizierung auf Ihrem SQL Server erlaubt ist. Rufen Sie im Enterprise Manager die Eigenschaften Ihres Server auf (Extras – SQL Server-Konfigurationseigenschaften – Registerkarte „Sicherheit“)

Als „Authentifizierung“ muss „SQL Server und Windows“ eingestellt sein, falls das nicht der Fall ist, stellen Sie die Option entsprechend ein.

2.) Öffnen Sie im Enterprise Manager den Zweig „Sicherheit“. Klicken Sie mit der rechten Maustaste auf „Benutzernamen“ und wählen Sie den Menüpunkt „Neuer Benutzername…“

a. Geben Sie in dem Dialog „SQL Server-Anmeldungseigenschaften – Neuer Benutzernamen“ unter „Name“ einen Benutzernamen (bspw. „orgAnice“) ein. Über die Benutzernamen wird später die Anmeldung an der SQL-Datenbank erfolgen.

b. Wählen Sie als „Authentifizierung“ die „SQL Server-Authentifizierung“ aus.

c. Geben Sie ein Kennwort ein.

d. Wechseln Sie zur Registerkarte „Datenbankzugriff“ und setzen Sie ein Häkchen bei Ihrer orgAnice SQL-Datenbank (bspw. „OfficeSQL“)

e. Setzen Sie bei „In Datenbankrolle zulassen“ Häkchen bei „public“ und „db_owner“

f. Bestätigen Sie mit OK. Sie werden aufgefordert das Kennwort zu bestätigen – geben Sie also das unter c. eingegebene Kennwort zur Überprüfung erneut ein.

3.) Öffnen Sie Ihre orgAnice SQL-Datenbank mit Datenbankverwaltungsrechten.

4.) Wählen Sie im Konfigurationsmodus den Menüpunkt „Datenbank-Objekte – orgAnice Datenbank“ und wechseln Sie in dem Objekt-Editor zum Zweig „SQL“

5.) Passen Sie die „Verbindungsparameter“ folgendermaßen an:

a. Entfernen Sie aus der Zeichnkette den Teil „Integrated Security=SSPI;“

b. Fügen Sie am Ende der Zeichenkette „;User ID=<Benutzername>;Password=<Kennwort>“ hinzu. Ersetzen Sie dabei <Benutzername> durch den in 2.a. vergebenen Benutzernamen, <Kennwort> durch das in 2.c. vergebene Kennwort. Bsp.: Aus

Provider=SQLOLEDB;Data Source=Servername;Integrated Security=SSPI;Initial Catalog=OfficeSQL

wird

Provider=SQLOLEDB;Data Source=Servername;Initial Catalog=OfficeSQL;User ID=orgAnice;Password=geheim

6.) Bestätigen Sie mit OK. Falls eine Fehlermeldung erscheint, überprüfen Sie die Angaben in der Zeichenkette – schon ein vergessenes Semikolon wird als Fehler seitens des SQL Servers gewertet.

Das war es. Die Anmeldung am SQL Server geschieht ab sofort über die SQL Server-Authentifizierung, die Probleme mit leeren Tabellenanzeigen werden nicht mehr auftreten.

OKB-000225 | Einbindung von Tabellen aus anderen SQL-Datenbanken

Betrifft: ab orgAnice 2008

Frage:

Wie kann ich in orgAnice Tabellen aus anderen SQL-Datenbanken einbinden?

Lösung: 

Die Einbindung von Tabellen aus anderen SQL-Datenbanken geschieht über Sichten (Views). Eine im orgAnice Database Server definierte Tabelle kann nämlich sowohl auf einer „echten“ SQL-Tabelle, als auch auf einer Sicht basieren.

Im SQL-Server in der orgAnice-Datenbank wird hierfür eine neue Sicht erzeugt, die auf der Fremdtabelle und einer zusätzlichen internen Hilfstabelle basiert. Die Hilfstabelle ist für die Verwaltung der orgAnice-spezifischen Spalten __Org_RecordOID und __Org_RecordNo zuständig. Hier die Vorgehensweise im Detail, mit Beispielanbindung der Customers-Tabelle aus der Northwird-Datenbank:

1.) Erstellen der Hilfstabelle

Die Hilfstabelle ist für die Verwaltung der orgAnice-spezifischen Spalten __Org_RecordOID und __Org_RecordNo zuständig. Die Existenz dieser Spalten ist für die Zusammenarbeit mit orgAnice notwendig. Es muss sichergestellt werden, dass für jeden Datensatz in der Sicht ein entsprechender Datensatz in der Hilfstabelle existiert. Die Hilfstabelle beinhaltet außer diesen beiden Spalten auch die Spalte für den Primärschlüssel der Fremdtabelle.

Erstellen Sie eine neue Tabelle vwCustomers mit den folgenden Spalten:

 

2.) Füllen der Hilfstabelle mit Daten

Das Füllen der Hilfstabelle mit Daten geschieht über einen Auftrag des SQL-Server-Agenten. Er sorgt dafür, dass für jeden Datensatz in der Fremdtabelle Customers ein neuer Datensatz in der Hilfstabelle vwCustomers erstellt wird.

a. Erstellen Sie einen neuen Auftrag

b. Erstellen Sie einen neuen Auftragsschritt mit dem folgenden Befehl:

INSERT INTO vwCustomers

(CustomerID)

SELECT CustomerID

FROM Northwind.dbo.Customers

WHERE (NOT EXISTS

(SELECT *

FROM vwCustomers

WHERE vwCustomers.CustomerID COLLATE Latin1_General_CI_AS = Northwind.dbo.Customers.CustomerID))

c. Erstellen Sie einen neuen Zeitplan, bspw. für eine Aktualisierung jede Minute

3.) Erstellen der Sicht

Die Sicht kombiniert die Spalten aus der Fremdtabelle Customers mit den Spalten der Hilfstabelle vwCustomers mit Hilfe des Primärschlüssels CustomerID. Die Daten der Sicht werden in einer Tabelle innerhalb des orgAnice Database Servers zur Verfügung gestellt.

Erstellen Sie eine neue Sicht Customers mit der folgenden SQL-Abfrage:

SELECT dbo.vwCustomers.__Org_RecordOID, dbo.vwCustomers.__Org_RecordNo, Northwind.dbo.Customers.*

FROM Northwind.dbo.Customers 

INNER JOIN dbo.vwCustomers ON Northwind.dbo.Customers.CustomerID = dbo.vwCustomers.CustomerID COLLATE Latin1_General_CI_AS


4.) Erstellen einer neuen Tabelle in orgAnice

In orgAnice muss nun eine neue Tabelle erstellt werden, die den gleichen Namen und Struktur, wie die Sicht im SQL-Server besitzt.

Erstellen Sie in orgAnice eine neue Tabelle Customers mit den abgebildeten Feldern:

Sie können ebenfalls Indizes erstellen, die allerdings nur auf einem Feld basieren dürfen.


5.) Zugriff auf die neue Tabelle

Auf die neue Tabelle kann nun ganz normal mit orgAnice-Mitteln zugegriffen werden.

Erstellen Sie ein neues Tabellenlayout für die Tabelle Customers und binden Sie es in die Oberfläche ein:

OKB-000224 | Fehler Installation Microsoft SQL Server Desktop Engine (MSDE)

Betrifft: ab orgAnice SQL

Problem: 

Bei der Installation der MSDE wird ein Netzwerkpfad nicht gefunden

Ursache: 

Das Setup der MSDE erstellt ein temporäres Verzeichnis vom Typ:

C:\Dokumente und Einstellungen\Benutzername\Lokale Einstellungen\Temp\_is20*

Der letzte Teil variiert und enthält statt des Sternchens eine Hexadezimalzahl.

Lösung: 

Den oben genannten Pfad manuell im Explorer aufrufen und den vollständigen Namen per Drag and Drop in das Fenster kopieren.

OKB-000223 | Benutzerrechte für die Verwendung von orgAnice SQL

Betrifft: ab orgAnice SQL

Frage: 

Welche Rechte muss ein Benutzer für die Verwendung von orgAnice SQL haben?

Lösung:

Das Windows-Anmeldekonto muss zum einen vollen Zugriff auf die odb-Datei haben um Sie überhaupt öffnen zu können. Zum anderen muss das Anmeldekonto für die SQL-Datenbank, welche die Datensätze der orgAnice SQL-Datenbank enthält, Lese- und Schreibrechte besitzen.

Empfehlenswert ist der Einsatz von speziellen Windows-Benutzergruppen. Dieser Gruppe kann dann im SQL-Server für die entsprechende Datenbank die „db_datareader“ und „db_datawriter“ erhalten. Neue Benutzer brauchen dann nur noch dieser Gruppe zugewiesen werden.

Hinweis: 

Alle Benutzer haben ebenfalls noch die Datenbankrolle „Public“, welche jedoch standardmäßig über keine Schreibrechte verfügt/ verfügen sollte.

Sollen die Benutzer auch die Daten in den SQL-Server exportieren können, dann muss die Benutzergruppe/ der Benutzer noch zusätzlich über die Serverrollen „Database Creators“ und „Bulk Insert Administrators“ verfügen.