Jump to content

tutter

Members
  • Gesamte Inhalte

    75
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von tutter

  1. Hallo an alle, wenn ich mich noch richtig erinnere logt der SQL Server das Login einzelner User nicht mit. Ich bräuchte aber genau eine solche Funktion. Da es vorkommen kann das sich ein Account erst sehr spät wieder einloggt (mehrere Wochen erst) bringt mir das mitloggen über den Profiler auch nicht viel. Gibt es noch ein paar Möglichkeiten?
  2. Leider besitzt die Express-Edition dieses Modul nicht. so bin ich gezwungen was anderes mir einfallen zu lassen . zb. über linked Server und dann auf einem anderen Server (Höher als Express ) über Scheduling abzusetzen. Also dafür folgendes Skript: DECLARE @MyFileName_SKEMSSTE varchar(200) SELECT @MyFileName_SKEMSSTE='D:\SKEMSSTE\POWER'+ convert(nvarchar(20),GetDate(),112) +'.bak' exec SKEMSSTE.POWER.dbo.sp_executesql 'EnergieMonat TO DISK=@MyFileName_SKEMSSTE ' Leider bekomme ich immer folgende Fehlermeldung. Meldung 214, Ebene 16, Status 2, Prozedur sp_executesql, Zeile 1 Die Prozedur erwartet den @statement-Parameter vom ntext/nchar/nvarchar-Datentyp. Kann wer helfen? Ist Weg gut oder gibt es noch bessere Lösung?
  3. so zur Info an alle nach zig Stunden des probieren´s habe ich mehr durch Zufall einen lokalen User gefunden der auch im SQL Server angelegt ist. Das beste aber daran war das dieser User Admin auf dem System war. Auch hier war natürlich das Passwort verschwunden. Also Lokalen User Passwort knacken damit dann das SA Passwort zurückgesetzt werden kann.
  4. Ziel wäre für mich die schrittweise Umstellung des Servers. Ich könnte die einzelnen Datenbanken erst mal replizieren auf den neuen SQL Server. Wenn dies läuft könnte ich jede einzelne Anwendung im Bereich Einstellungen die SQL Datenbanken anpassen (von alten SQL Server auf Neu umstellen) Danach würde ich mich um die Quellen kümmern (sind leider zig Quellen!) die würde ich nach und nach auf den neuen SQL Server schicken lassen. So könnte ich Schritt für Schritt den alten SQL Server abbauen und irgendwann ganz abschalten. Wäre nicht auch noch ein Triggerevent eine Möglichkeit den Job immer an zu stoßen. Durch einen Trigger könnte doch die Transaktion auch zu den neuen SQL Server übertragen werden?! was haltet ihr von der Idee? hat hierzu jemand ein wenig Lektüre?
  5. @NilsK ja genau diese Vorgehensweise habe ich auch in einem Blog gefunden. Ich werde diese auch mal anwenden. mal sehen was passiert vorher muss ich mich noch etwas absichern und gewährleisten das es auch im schlimmsten Fall wieder umkehrbar ist ;) Was mich aber noch mehr interessieren würde. Ich würde gern auf dieser murksbude ein Replikationsdienst installieren, aber dieser geht nur mit einem eindeutigen Erkennungsmerkmal (Primärschlüssel) eine ID ist Vorhanden, nur ist eben nicht der Schlüssel für die ID angelegt. Wenn ich den Primärschlüssel nachträglich setze sollte doch mein Replikationsdienst machbar sein oder? Das würde mir erstmal ein paar Tage Luft verschaffen.
  6. ja da habe ich schon das ein oder andere überflogen aber mir erschien das doch gewagt an einem live-System gebe es nicht noch einen anderen Weg? vielleicht habe ich ja einen übersehen?!
  7. wie vielleicht schon einige bemerkt habe muss ich gerade eine bestehende MS SQL Serverlandschaft gerade ziehen. Dabei ist natürlich so manches im argen. (historisch gewachsen :rolleyes: ) Hier zum Beispiel wieder eine harte Nuss. ein bestehender SQL Server 2005 Express. Natürlich fehlen die Passwörter für das SA-Konto oder ein vergleichbares Administrator Konto welches hinterlegt ist. Auch besitzt das zur Verfügung stehende Konto nicht mal die Rechte um ein Backup anzustoßen. Das ist ja aber kein Problem (dachte ich mir zu mindestens) richte ich halt ein Replikation Dienst auf dem SQL Server ein! Aber! keine einzige Tabelle hat auch nur einen Primärschlüssel und so verweigert der Dienst die Aufgabe. Was kann ich noch tuen? Als Erschwernis kommt hinzu das der Server genutzt wird es kein Backup gibt und wichtige! Daten Hostet. Bin über jeden ach so kleinen Tipp sehr dankbar! :thumb1:
  8. ja das wäre mir auch sehr lieb aber du weißt ja so manche Mühle mahlt sehr langsam
  9. genau so war auch meine Idee zur Vorgehensweise. Wartungspläne laufen jetzt da Auslagerungsdatei vergrößert wurde. Danke! Das mit dem SP4 klappt nicht mit dem System scheint noch einiges anderes im argen zu liegen.
  10. Auslagerungsdatei ist händig gesetzt auf 4975 MB das scheint wohl zu klein zu sein für den Backup Job. Es stehen auch nur 4 GB Ram zur Verfügung. Das mit dem Servicepack ist bekannt, jedoch wollte dies bis jetzt keiner machen(wird wohl an mir hängen bleiben :( ) und ein Servicefenster für ein Update ist erst mal nicht in Sicht.
  11. Ich finde man kann das Bild gut lesen hatte es ja extra vorher getestet. Aber egal hier noch mal der Text: TITLE: Microsoft.SqlServer.Smo ------------------------------ Start failed for Job 'Holding DB.Wartungsplan'. For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.4035.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Start+Job&LinkId=20476 ------------------------------ ADDITIONAL INFORMATION: An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) ------------------------------ Unable to post notification to SQLServerAgent (reason: MapViewOfFile() returned error 8, 'Für diesen Befehl ist nicht genügend Speicher verfügbar.') (Microsoft SQL Server, Error: 22022) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4035&EvtSrc=MSSQLServer&EvtID=22022&LinkId=20476 ------------------------------ BUTTONS: OK ------------------------------ Genügend Speicher (Ram sowie HDD) sind verfügbar. Es ist ein SQL Server 2005 SP3 Standard Edition. Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) Nov 24 2008 13:01:59 Copyright © 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
  12. Hallo an alle, einen Wartungsplan zu erstellen ist eigentlich keine Kunst. Auch unter SQL Server 2005 lässt sich das über das Management Studio einfach realisieren. Jedoch was tuen wenn er absolut nicht will :rolleyes:. Das Ziel ist klar ich möchte auf einem Standart SQL Server 2005 einen Wartungsplan einrichten. Dazu entsprechende Datenbank auswählen und den Wartungsplan erstellen. Anschließend Job einrichten und das ganze Testweise starten. Schon tausend mal gemacht und ... - nein denkste Fehlermeldung. http://www.bilder-upload.eu/show.php?file=946642-1411721777.png Ok also die Meldung mal bei MS eingegeben und folgendes kommt raus. http://support2.microsoft.com/kb/911841 Dienst läuft aber das mit der Registry kann ich nicht verstehen, wobei die Übersetzung dran schuld sein könnte ;) Kann wer helfen?
  13. Hallo an alle, ich möchte mit PHP eine Quittierung (erfolgreich oder Fehlschlag) über PHP abfangen bzw. dieses dann ausgeben. Ein Beispiel: Es wird über PHP eine gewisse Routine zur Verfügung gestellt die am Ende ein SQL Statement erstellt zb. Insert neuen Datensatz mit Variablen X und Y in Datenbank Test. Wenn er das reinschreiben kann dann gib über PHP die Nachricht aus "Erfolgreiche Transaktion" Wenn nicht gib die Nachricht aus "Transaktion fehlgeschlagen" an sich ist das ausgeben der Nachricht kein Thema aber an welchen Event kann ich das festmachen? Gibt es irgendein Ereignis oder eine Variable oder oder die ich für meine Zwecke nutzen kann? Also ähnlich wie im SQL Server Management Studio wo dann steht 1 Datensatz betroffen. Vielleicht kann mir jemand einen Tipp geben oder einen Denkanstoß da ich nicht so recht weiß nach was ich suchen soll.
  14. hallo zahni danke noch mal für den Denkanstoß ja mit: echo $_SERVER['LOGON_USER']; echo $_SERVER['AUTH_USER']; kann man das SSO auslesen. Ich wollte aber beide Varianten verstehen und nutzen können. Wie lange ich daran arbeite bzw. wie viel Zeit ich noch dafür habe spielt keine Rolle, ich will es nur verstehen und so viel lernen wie nur möglich. Sicher gelingt mir das nicht immer schnell aber ich habe Ausdauer. ;) Danke noch mal an alle die geholfen haben!
  15. warum ist der source so schlecht?
  16. puh das müsste ich mir erst mal ganz genau anschauen, vor allem infrastrukturtechnisch wäre das hier ein Großprojekt wahrscheinlich! declare @1 nvarchar(50); set @1 = cast((select [Function] = CONVERT(sql_variant, ORIGINAL_LOGIN())) as nvarchar(50)); select substring(@1,7,50) as Benutzername; werde jetzt erstmal das nutzen je nach Domainnamenlänge muss der Substring angepasst werden aber ansonsten sollte es passen
  17. deswegen ja die Thematik mit der User Identifikation. Problematisch wäre es aber bei der Anwendung auch nicht, da hierauf keinerlei wert gelegt wird (ja richtig gelesen! solche Anforderungen soll es geben :D ) aber wie schon geschrieben es ist leider Pflicht das es eine Authentifizierung sein soll die ohne zusätzliche Passworteingabe stattfindet am besten eben AD. Naja und das tut es ja auch :wink2:
  18. Sorry ich verstehe nicht ganz die Thematik mit dem Passwort. Nehmen wir an ich führe eine Datenbank in welcher die Logindaten hinterlegt sind und der User logt sich ein mit einer HTTP Authentifizierung. Auch hier kann das Passwort abgegriffen werden und der User hat eventuelle Rechte die den SQL Server gefährden. Klar der User kann sich nicht direkt am SQL Server sondern nur an der Datenbank/Tabelle anmelden (über ein Service-Konto) aber mit SQL injection oder php injection kann er dann doch genau den gleichen Schaden anstellen, als wenn er sich direkt am SQL Server anmeldet und dort innerhalb seiner Rechte Schaden anrichtet oder sehe ich hier was falsch? @Dukel habe deinen Tipp mal umgesetzt aber er bringt mir die Fehlermeldung : Undefined index: PHP_AUTH_USER . Wenn ich das richtig gelesen habe funktioniert doch echo $_SERVER['PHP_AUTH_USER']; nur unter HTTP Authentifizierung oder?
  19. ich hatte mal einen ähnlichen Fall da habe ich Views genutzt. Ich habe Spalte Name 1 und Vorname 1 in einem View und das gleiche mit dem Rest auch. dann habe ich jeden Datensatz eine automatische fortlaufende Nummer gegeben (sozusagen die ID) und konnte diese dann als eindeutigen Schlüssel miteinander auswerten. Klar ist die Lösung nicht gerade elegant aber in meinem Fall ging dies sehr gut. Vielleicht hilft es dir ja
  20. Einwand zur Kenntnis genommen! Aber die Anforderung ist genau jene das die Nutzer sich eben ohne zusätzliches Login bei der Anwendung anmelden sollen. Um den gegen zu wirken, habe ich versucht die Rechte so extrem wie möglich zu beschneiden, damit nur das nötigste gemacht werden kann! Es geht mir außerdem nur um den User Name aus Komfortgründen damit in diversen Formularen nicht immer der Name eingegeben werden muss. anmelden tut sich der User nur über seine Windows Authentifizierung sprich er meldet sich in Windows an (an der Domain). Wenn er über ein Windowsauthentifizierungs Login am SQL Server hat kann er die Anwendung nutzen wenn nicht kommt eine Meldung und er kann ein Workflow starten um eine Anmeldung zu erhalten. Diese Applikation läuft intern in einem Netzwerk mit Domain. Damit sollten doch auch Cookies gehen! Somal darin ja nur der Name des Users stehen soll.
  21. Leider fiel mir keine beschreibendere Überschrift ein als diese. Ich mache eine SQL Server Verbindung über die Windows Authentifizierung mit PHP sqlsrv_connect. Das funktioniert auch (endlich) jedoch weiß ich gar nicht wer sich angemeldet hat. ich bekomme naturlich raus wer alles auf dem SQL Server angemeldet ist aber ich würde gern wissen wer der Domain User ist der sich gerade über sqlsrv_connect mit PHP angemeldet hat. Dabei geht es mir um den Namen im weiteren Verlauf den ich in einem Cookie anderen Skripten zur Verfügung stellen will. Kann hier vielleicht jemand mir helfen? danke schon mal
  22. hallo NilsK ich wollte dir noch mal ein Feedback zukommen lasen! dein Tipp hat geklappt und wird von mir auch sehr ausgiebig genutzt! danke nochmal!
  23. deine vermeintlich sicheren Lösungen sind vorallem eins sehr teuer! Deswegen nutze den Wartungsplan dem du im SQL Management Studio hast. Dort kannst du auch Fehlerereignisse hinterlegen zb. Mail schicken wenn das Backup nicht geklappt hat oder andere Ereignisse. schau mal rein - ich denke du wirst sehen das es mehr kann als du dachtest
  24. das sieht schon mal ganz gut aus! Für Datenbankebene funktioniert es! aber kannst du mir auch einen Tipp geben wie ich das auf Tabellenebene hinbekomme? USE [TESTDB]; EXECUTE AS USER = 'tester'; --klappt wunderbar --EXECUTE AS USER = 'DOMAIN\tester'; ist ein Domain User! den kann ich leider nicht auslesen! SELECT * FROM fn_my_permissions('NULL', 'DATABASE') ORDER BY subentity_name, permission_name ; REVERT; GO auch das funktioniert: USE [TESTDB]; SELECT * FROM fn_my_permissions (NULL, 'DATABASE'); GO Aber ich hätte es gern auf Tabellenebene: USE [TESTDB].[dbo].TESTTABELLE; SELECT * FROM fn_my_permissions (NULL, 'DATABASE'); GO kannst du da noch mal aushelfen? oder geht das nicht auf Tabellenebene?
  25. Hallo an alle, die Aufgabe klingt eigentlich ganz einfach aber ich habe leider noch nichts passendes gefunden, aber vielleicht könnt ihr ja helfen. Meine User melden sich alle per Windowsauthorisierung an meinem SQL Server an. Nun will ich aber wissen was die angemeldete Person für Rechte hat! So zu sagen eine Art Selbstkontrolle aber nur für den aktuell gerade angemeldeten User(bei eingeschränkten Rechten würde er eh nicht mehr machen können ;) ). Schön wäre ein Weg wo ich das auf Tabellenebene sehen könnte. Kann mir jemand einen Tipp geben?
×
×
  • Neu erstellen...