| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
|
Autor
|
Thema: Compass Datenbank (2561 mal gelesen)
|
ftg Mitglied Technischer Sklave
  
 Beiträge: 550 Registriert: 16.09.2004 DELL Xeon Workstation Windows 10 Pro Inventor Pro 2016 PSP 2011 GAIN Collaboration
|
erstellt am: 07. Okt. 2004 15:17 <-- editieren / zitieren --> Unities abgeben:         
Kurze Frage: Ich möchte einige änderungen an der Compass-DB durchführen, also neue Felder in Tabellen und neue Views definieren. Ist es irgendwie möglich die bestehende SQL-Server DB zu mir lokal auf den Rechner (mit MSDE) zu transferieren und da dann ein "Zweitsystem" aufzubauen? Ich möchte bei meinen Aktionen die anderen User nicht behindern,oder irgendwelche Daten abschießen. mfg ftg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WPiatkowski Mitglied ApplikationEngineer
 
 Beiträge: 192 Registriert: 18.10.2002 AT 286, EGA-Karte, 640KB RAM, 51/4" Floppy, 10MB Festplatte
|
erstellt am: 07. Okt. 2004 21:54 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo ftg, Du kannst mehrere Wege ausprobieren. 1. Die Datenbank mit dem EnterpriseManager sichern und auf dem gleichem SQL-Server unter anderem Namen wiederherstellen. Eine parallele Umgebung für die Compass-Entwicklung einrichten. 2. Die gesicherte Datenbank auf dem SQL-Server auf Deinem Rechner wiederherstellen. Den DB-Benutzer COMPASS mit sp_dropuser 'COMPASS' aus der Compass-Datenbank entfernen und neu einfügen und als db_owner festlegen, sonst kommuniziert Compass mit der Datenbank nicht. Gruß Waldemar Piatkowski Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KJL Mitglied Mitarbeiter Technischer Support PDM Autodesk

 Beiträge: 23 Registriert: 30.09.2004 PSP2008, AIP2008
|
erstellt am: 12. Okt. 2004 16:35 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo zusammen, manchmal kommt es übrigens vor, dass man den Benutzer COMPASS nicht mit sp_dropuser löschen kann und die Meldung kommt, dass dieser Benutzer noch Objekte/Prozeduren besitzt und deshalb nicht gelöscht werden kann. Konkret handelt es sich um die Prozeduren 'aim_RPF_xref_element' und 'aim_RPF_element' Diese haben anstatt dbo den Benutzer COMPASS als Besitzer. Hierbei reicht es den Benutzer wieder auf dbo zu switchen im Query Analyzer: sp_changeobjectowner 'COMPASS.aim_RPF_element' , 'dbo' sp_changeobjectowner 'COMPASS.aim_RPF_xref_element' , 'dbo' Danach kann man den COMPASS User wieder löschen und einen neuen anlegen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003
|
erstellt am: 13. Okt. 2004 07:41 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Desweiteren gibt es übrigens keinen bestimmten Grund, warum ausgerechnet diese Prozedur einen anderen Owner hat. Laut Compass-Systems wird dieser Owner mit dem nächsten Update ebenfalls auf dbo umgestellt. ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stefan_Übelhack Mitglied Dipl. Ing. (FH) MB

 Beiträge: 67 Registriert: 13.08.2002 XP Prof. IV 5,6,7.2,8.1,9.2 Compass 2000 5.4.2.4
|
erstellt am: 01. Mrz. 2005 11:35 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo, ich bin gerade dabei eine 2te Compass-Datenbank auf unserem Server zu installieren. Hintergrund: Kunde 1: spezielle Anpassung und AIS8 Kunde 2: spezielle Anpassung und AIS9 Nun habe ich von Kunde 2 eine leere Datenbank erhalten. Soll ich Sie nun als Wiederherstellung reinholen oder neu anhängen. Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Motzi Mitglied Anwendungsprogrammierer
 
 Beiträge: 298 Registriert: 16.06.2002 COMPASS Liebhaber, auch wenn es PSP heisst COMPASS Entwickler. 5x Windows 2003 Server, SQL 2005 AIP2009, SolidWorks 2009, EPLAN P8, Cadenas, Autodesk Productstream Professional 2009 pro, inforCOM 7.1 (ERP) d.3 DMS System
|
erstellt am: 02. Mrz. 2005 09:53 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo Stefan, das kommt darauf an ob Du die Datenbank als Sicherung bekommen hast oder die beiden Datenbank Dateien. Bei einer Sicherung geht halt nur Wiederherstellen, wenn Du eine MDF und LDF Datei bekommen hast geht nur Anhängen. Die weitere Vorgehensweise ist in beiden Fällen gleich, als COMPASS Benutzer der Datenbank ersetzen... ------------------ Gruß Motzi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stefan_Übelhack Mitglied Dipl. Ing. (FH) MB

 Beiträge: 67 Registriert: 13.08.2002 XP Prof. IV 5,6,7.2,8.1,9.2 Compass 2000 5.4.2.4
|
erstellt am: 02. Mrz. 2005 10:36 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo Motzi, die Datenbank habe ich über Wiederherstellen gestern reingebracht, aber das mir dem Benutzer ersetzen kapier ich einfach nicht. Gibt es da eine einfache Erklärung für Leute mit geringen SQL-Erfahrungen. bzw. schrittweiser Erklärung. Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stefan_Übelhack Mitglied Dipl. Ing. (FH) MB

 Beiträge: 67 Registriert: 13.08.2002 XP Prof. IV 5,6,7.2,8.1,9.2 Compass 2000 5.4.2.4
|
erstellt am: 02. Mrz. 2005 11:46 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo, und wie kann man die Clientsoftware für die 2 Datenbanken installieren? Bei mir will er immer nur die erste aktualisieren(mit allen dll und ini-Dateien) Eine 2te. Pfadangabe ist nicht möglich. Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003
|
erstellt am: 02. Mrz. 2005 13:02 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Zitat: Original erstellt von Stefan_Übelhack:
Benutzer ersetzen kapier ich einfach nicht. Gibt es da eine einfache Erklärung für Leute mit geringen SQL-Erfahrungen. bzw. schrittweiser Erklärung.
SQLServer hat eine eigenständige Benutzerverwaltung mit Benutzern und Rollen (ähnlich Gruppen in Windows). COMPASS ist ein Benutzer am SQL Server, mit dem sich Compass an der Datenbank anmeldet. Der Benutzer muss also Zugriffsrechte auf die Datenbank haben. Erstellst du ein Datenbank-Backup, so wird dort auch gespeichert, dass Benutzer COMPASS dort Zugriff hat. Stellst du die Datenbank am selben Server wieder her, dann passt das wieder. Stellst du nun die Datenbank auf einem anderen Server wieder her, ist auch dort der Benutzer COMPASS noch eingetragen. ABER: Punkt1: gibt es den Benutzer COMPASS auf diesem anderen Server überhaupt? Wenn nein, könnte man diesen anlegen, würd aber immer noch nicht funktionieren. Denn, Punkt2: Jedes Objekt am SQLServer, und auch ein Benutzer ist ein Objekt, hat eine eindeutige Objekt-ID. SQLServer arbeitet mit diesen IDs, nicht mit den Objektnamen. Der Benutzer COMPASS am Server1 hat also eine andere ID wie der auf Server2. Das bedeutet, wenn du auf Server2 die Datenbank wiederherstellst, ist dort immer noch der Benutzer von Server1 gespeichert, von dem die Datenbank stammt. Auf Server2, kann Compass also jetzt mit dem Benutzer auf die Datenbank zugreifen? Nein, weil wir hier von 2 verschiedenen Benutzern redern. Es ist also folgendes zu tun: Du musst den COMPASS-Benutzer auf Server2 die Zugriffsrechte auf die Datenbank geben. Auf der Datenbank ist aber immer noch der Benutzer von Server1 eingetragen, so dass es zu einer Fehlermeldung kommen wird, dass der Benutzer schon Zugriff hat (in diesem Fall zählt ausnahmsweise der Name). Deshalb musst du zunächst den bestehenden Benutzer aus der Datenbank rauswerfen. Also: Schritt 1: Löschen des bestehenden DAtenbank-Benutzers COMPASS aus der Datenbank: execute sp_dropuser 'COMPASS' Schritt 2: den auf diesen Server2 befindlichen Benutzer COMPASS Zugriff auf die Datenank gewähren: execute sp_grantdbaccess 'COMPASS','COMPASS' Schritt 3: den Benutzer zu einer Rolle hinzufügen, damit der Benutzer auch die nötigen Rechte hat: execute sp_addrolemember 'db_owner','COMPASS' ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003
|
erstellt am: 02. Mrz. 2005 13:08 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Zitat: Original erstellt von Stefan_Übelhack: Hallo,und wie kann man die Clientsoftware für die 2 Datenbanken installieren? Bei mir will er immer nur die erste aktualisieren(mit allen dll und ini-Dateien) Eine 2te. Pfadangabe ist nicht möglich. Gruß Stefan
Was willst??? ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! [Diese Nachricht wurde von WolfgangE am 02. Mrz. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stefan_Übelhack Mitglied Dipl. Ing. (FH) MB

 Beiträge: 67 Registriert: 13.08.2002 XP Prof. IV 5,6,7.2,8.1,9.2 Compass 2000 5.4.2.4
|
erstellt am: 02. Mrz. 2005 15:30 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
|
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003
|
erstellt am: 02. Mrz. 2005 15:37 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Ist relativ einfach: woher weiß Compass denn überhaupt, welche Datenbank verwendet werden soll? Dies steht in der compass.ini Sobald du dort einen anderen Datenbanknamen einträgst, verwendet Compass ab sofort diese Datenbank. Achte aber darauf, dass ALLE Compass-Benutzer dieselbe compass.ini verwenden!!! (kann glaub ich auch pro Benutzer festgelegt werden, weiß ich spontan aber nicht wie). Um die Compass parallel verwenden zu können, kannst dann z.B. das Programmverzeichnis kopieren und dort die compass.ini umschreiben. Dann hast du 2 vollständige Compass. (ACHTUNG: in diesem Fall müsstest du evtl. noch das Datenverzeichnis umschreiben, da die Umgebungen sonst auf dieselben Dateien zugreifen). Wenn du's nur zum Switchen brauchst, schreib einfach die compass.ini um. Ciao, WolfgangE P.S.: die Sache mit dem SQL-User jetzt klarer?  ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stefan_Übelhack Mitglied Dipl. Ing. (FH) MB

 Beiträge: 67 Registriert: 13.08.2002 XP Prof. IV 5,6,7.2,8.1,9.2 Compass 2000 5.4.2.4
|
erstellt am: 03. Mrz. 2005 19:37 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo, beim löschen vom Benutzer Compass kommt folgende Meldung: Server: Nachr.-Nr. 15183, Schweregrad 16, Status 1, Prozedur sp_MScheck_uid_owns_anything, Zeile 17 Der Benutzer besitzt Objekte in der Datenbank und kann nicht gelöscht werden. Ist sp_MScheck_uid_owns_anything der User dbo zuzuweisen? Oder sind es die 3, welche KJL meint? Zitat: Original erstellt von KJL: Hallo zusammen,manchmal kommt es übrigens vor, dass man den Benutzer COMPASS nicht mit sp_dropuser löschen kann und die Meldung kommt, dass dieser Benutzer noch Objekte/Prozeduren besitzt und deshalb nicht gelöscht werden kann. Konkret handelt es sich um die Prozeduren 'aim_RPF_xref_element' und 'aim_RPF_element' Diese haben anstatt dbo den Benutzer COMPASS als Besitzer. Hierbei reicht es den Benutzer wieder auf dbo zu switchen im Query Analyzer: sp_changeobjectowner 'COMPASS.aim_RPF_element' , 'dbo' sp_changeobjectowner 'COMPASS.aim_RPF_xref_element' , 'dbo' Danach kann man den COMPASS User wieder löschen und einen neuen anlegen.
Und warum geht bei mir im Query Analyzer nicht `sondern"? Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WPiatkowski Mitglied ApplikationEngineer
 
 Beiträge: 192 Registriert: 18.10.2002 AT 286, EGA-Karte, 640KB RAM, 51/4" Floppy, 10MB Festplatte
|
erstellt am: 03. Mrz. 2005 20:31 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo Stephan, der Benutzer COMPASS lässt sich nicht löschen, solange sich in seinem Besitz irgendwelche Elemente befinden. Du solltest einfach überprüfen welche der gespeicherten Prozeduren in Deiner Datenbank, dem Benutzer COMPASS gehören und dann den Besitz auf dbo übertragen. Gruß Waldemar Piatkowski Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Motzi Mitglied Anwendungsprogrammierer
 
 Beiträge: 298 Registriert: 16.06.2002 COMPASS Liebhaber, auch wenn es PSP heisst COMPASS Entwickler. 5x Windows 2003 Server, SQL 2005 AIP2009, SolidWorks 2009, EPLAN P8, Cadenas, Autodesk Productstream Professional 2009 pro, inforCOM 7.1 (ERP) d.3 DMS System
|
erstellt am: 03. Mrz. 2005 20:32 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo Stefan, das geht bei den meisten nicht wirklich, da die beiden Proceduren über die uid mit dem User COMPASS verknüpft sind. Der einfachste und sicherste Weg ist, die beiden Proceduren zu löschen und mit den auf der CD vorhandenen Routinen wieder herzustellen. Danach kann man ohne Probleme den COMPASS User ersetzen. ------------------ Gruß Motzi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stefan_Übelhack Mitglied Dipl. Ing. (FH) MB

 Beiträge: 67 Registriert: 13.08.2002 XP Prof. IV 5,6,7.2,8.1,9.2 Compass 2000 5.4.2.4
|
erstellt am: 04. Mrz. 2005 09:15 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
Hallo, ich war erfolgreich mit dem Löschen des Benutzers Compass, nachdem ich den 2 Elementen den Benutzer dbo zugewiesen habe. Zitat: Original erstellt von KJL:Diese haben anstatt dbo den Benutzer COMPASS als Besitzer. Hierbei reicht es den Benutzer wieder auf dbo zu switchen im Query Analyzer: sp_changeobjectowner 'COMPASS.aim_RPF_element' , 'dbo' sp_changeobjectowner 'COMPASS.aim_RPF_xref_element' , 'dbo' Danach kann man den COMPASS User wieder löschen und einen neuen anlegen. [/B]
Danach konnte ich den Benutzer Compass löschen, neu zuweisen und in die Rolle eintragen. Kann ich den Benutzer der Elemente 'COMPASS.aim_RPF_element' und 'COMPASS.aim_RPF_xref_element' auf dbo belassen oder sollte ich besser auf Compass ändern. Hatte bestimmt einen Sinn warum der Benutzer Compass war und nicht dbo. Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
   
 Beiträge: 1006 Registriert: 29.01.2003
|
erstellt am: 04. Mrz. 2005 09:18 <-- editieren / zitieren --> Unities abgeben:          Nur für ftg
nein hatte in dem Sinn keinen Sinn, kannst du auf dbo lassen (wird auch in Zukunft bei der Installation ein dbo werden). Der Besitzer Compass kommt in diesem Fall wohl aus der Entwicklung. Wenn du dich nämlich als Benutzer COMPASS (und nicht wie vermutlich die meisten als sa) anmeldest, wird der Owner bei jedem erstellten Objekt auf COMPASS gesetzt, wenn nicht dezitiert dbo angegeben wurde. Ein Punkt, der gern und leicht vergessen wird. Ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |