-
Gesamte Inhalte
36 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von TriggerMichNet
-
-
Hi
ich habe mal ne Verständnisfrage:
bei Unterabfragen behauptet Microsoft:
Als Prädikat muss EXISTS nicht das Resultset der Unterabfrage zurückgeben, sondern nur true oder false, je nachdem, ob die Unterabfrage irgendwelche Zeilen liefert oder nicht.
Daher ignoriert der Abfrageoptimierer von SQL Server die SELECT-Liste der Unterabfrage. Was angeben wurde, hat keinen Einfluss auf die Optimierungsmaßnahmen, z.B. die Indexauswahl.
SELECT custid, companyname FROM Sales.Customers AS C WHERE EXISTS (SELECT * FROM Sales.Orders AS O WHERE O.custid = C.custid AND O.orderdate = '20070212' );
!! Ist das so? !! Soll heißen, dass die Unterabfragen nie den Index verwenden werden?
Wenn dass so sein soll, dann wird hier ein Performanz Problem entstehen.
Falls ich das richtig verstanden habe, dann kann ich so was schreiben:
SELECT custid, companyname FROM Sales.Customers AS C WHERE EXISTS (SELECT * FROM Sales.Orders AS O WHERE O.custid = C.custid AND YEAR(O.orderdate) = 2007 and MONTH(O.orderdate)= 2);
Da die gefilterte Spalte bearbeitet wurde, ist das Prädikat kein Suchargument, sodass SQL Server die Indexreihenfolge nicht nutzen kann, da er es eh nicht nutzen wird.
Oder verstehe ich das noch nicht richtig?
freue mich auf Rückmeldungen;-)
Viele Grüsse
Frank
-
Die andere Variante ist alles manuell zu machen, wenn Du dafür bezahlt wirst ist doch alles in Ordnung. ;)
Ich verstehe was Du meinst, aber wenn es die Arbeit erleichtert und hilft, weshalb sollte man das Tool dann nicht nehmen?
Ja, ja... du sprichst mir aus der Seele... aber da gibt es die "security restriction" in der Firma.
der admin sendet mir eine Liste "durch icacls" die mittlerweile über 500MB ist...
...und das dauert diese in eine lesbare und auswertbare Form zu bringen.
.....wenn Du dafür bezahlt wirst ist doch alles in Ordnung. ;)
Jep...werde dennoch versuchen dies hier zu plazieren...
Danke!
-
Hi Sonny61
Was ist daran schwer? Du meldest dich auf dem Server an, kopierst die EXE in dein Profil und schon kann es losgehen.
Schwer ist es die Exe auf einem Server auszuführen, das in DMZ der Firma steht und brisante Daten enthält. Ich bin nicht der Admin der Server. Da der QuellCode nicht sichtbar ist, wird es noch schwerer werden die Abteilung davon zu Überzeugen, dass die Exe vertrauenswürdig ist.
Ja Klar, auf meiner privaten Kiste und finde es ein super Tool!!!!Hast Du es denn schon probiert?
am 25 Feb 2013 - 14:07: Hast du noch andere Ideen?
Ok danke, werde da mal rein schauen.
VG
Frank
-
Hi Sunny61
so wie ich das verstehe gibt es kein WINDOS eigener Befehl, der mir dies auflistet?
Es wird schwer werden eine "Fremde EXE" auf einen Firmen-Server zu starten.
Mit SETACL von Helge Klein solltest du das hinbekommen: http://helgeklein.com/setacl/documentation/
Hast du noch andere Ideen?
-
Hallo Leute
ich bin kein WINDOWS Server Spezialist.
Meine Frage:
Wie kann ich mir von der C-Platte eine Liste erstellen in dem
alle Verzeichnisse (mit Subdirectories) , die USER und desse Berechtigungen aufgelistet werden?
was ich bisher gegoogelt hatte war der befehl icacls.exe.
Lieder listete der alles auf... das ist zuviel.....
mit Dir /AD /Q /S erhalte ich nur die Owner..... nicht aber wer noch rechte hat...
Kann man mir (noch) helfen?
vg
Frank
-
Wow, 100 GB im Profil. Stell dir vor die HDD raucht ab, .....
ja dann...ist nicht SO schlimm....
Sind die Daten so unwichtig? ....Nein:cool:
Weshalb sind die nicht auf dem Server gespeichert?....
Wer sagt das sie NICHT auf dem Server liegen?
Aber danke das du besorgt bist über meine Daten. Leider kann ich den Server nicht überall mitnehmen. bin viel unterwegs... und in der Bahn/Flieger hat man auch nicht so viel platz um ne externe platte noch aufzubauen...
Du kannst natürlich auch als neu angemeldeter Benutzer auf das alte Profil zugreifen und die Daten dort ausschneiden und in das neue Profil zugreifen.Ja mache ich bereits.
Weshalb setzt Du nicht den IE9 für W7 ein?
Hatte ich im alten Profil installiert. war eine riesen Katastrophe, der ging erst nach 1min auf. keine sanduhr oder etwas anderes, die mir mitteilt ob der ie9 gestartet wird.
So war der Rechner vorerst beschäftigt meine 4-8 klicks auf den ie9 zu verarbeiten und dann, diese nacheinander zu öffnen..... Im gegensatzt zu ie8, ging der wenigsten gleich auf und ich wartetet nur 1min, pro registerseite, auf die Verbindung.
Wenn ich ein Programm, mittels klick starte, dann muss ein Hinweis ersichtlich sein das die Anwendung gestartet wird.
Also warum sollte umsteigen, mit dem ie8 hat bisher alles prima funktioniert.
Vieleicht werde ich ein umstieg auf FireFox planen .... der ging im gegensatz zu "Google Chrom" und "IE 8/9" gleich auf UND hat auch sofort die verbindungen gehabt.
So so.... habe fast alles übertragen und kann wie gewohnt surfen ;-)
Dennoch vielen vielen dank für die anregungen und hinweise.
VG
Frank
-
Hi Sonny61
...mede mich dann nochmals um das ergebnis oder noch weitere Fragen mitzuteilen.
bis dann...
VG
Frank
Soooo... habe es mal versucht, dies zu kopieren wie im Link beschrieben aber dann abgebrochen weil hier mehr als 100GB kopiert werden wollen und der Plattenplatz auf meine platte zu gering ist.
Im neue Profil funtzt alles tip top. Werden jetzt unter dem neuen Benutzer-Profil alles manuell anlegen was ich benötige.
Habe Easys Transfer eingesetzt, um wenigstens eine Sicherung vom defekten Benutzer-Profil zu machen.
Aber eins hab ich gelernt, man muss nicht jedes Problem verstehen. Nimm es wie es ist.....
Vielen Dank
Gruß Frank
-
Der FF hat sein eigenes Profil, der IE dagegen nutzt das von Windows. Die Lösung kennst Du ja schon.
.....Dann gilt der Link, den ich bereits gepostet hatte.
Hi Sonny61
aha, das mit den FF ist mir jetzt klar. Hatte ich noch nicht gewusst.
Danke für den Hinweis.
Werde es noch ausprobieren mit dem Benuzter-Konto und mede mich dann nochmals um das ergebnis oder noch weitere Fragen mitzuteilen.
bis dann...
VG
Frank
-
Starte den IE mal mit der Option "-extoff"
In den Untiefen des Startmenüs sollte es dafür auch einen Aufruf geben "Internet Explorer (ohne Add-Ons)"
Geht das ?
Wenn ja, prüfe Dein System auf überflüssige Add-on's, Adware und Malware.
Hi zahni
hab ich gemacht ... hat sich nichts geändert... Zeitmessung 1min warten...
bei fireFox 1 sek.....
vg
frank
Welches OS hast Du im Einsatz? W7 ...[/url]hi sonny
habe win 7 enterprise mit 8 gb, intel core i5-2520m CPU 2,50 2,50 Ghz
64bit System
vg frank
-
Hi Leute
IE 8 hat seit kurzem ein Problem. Hier eine kurze beschreibung des problems:
Starte den IE 8 und warte dann......manchmal bis zu 1 min, bis dann meine Startseite( google) aufgeht. Wenn sie dann aufgeht, kann ich ganz normal, ohne wartezeit surfen. Öffne ich im selben IE eine neue Registerseite, dannn heisst es wieder .....warten ..warten ...warten :confused:
Bei Google Chrom das selbe.
Bei FireFox funtz alles prima. ohne wartezeit....
:confused:
Habe nach diesem Problem gegoogled und bekam hinweise wie z.b. man(frau) solle ein neues Benutzer-Konto auf dem rechener erstellen.
Hab ich gemacht und siehe, da es klapt wieder mit IE8 und Google Chrom .....
Nun kann ich wieder den IE 8 NORMAL öffnen, aber nur unter einem anderen Benutzer-Konto.
Was kann hier das Problem unter dem anderen, ich nenne es mal das defekte Benutzer-Konto, sein ?
Kann man ein Benutzer-Konto oder nur den IE zurückstellen?
VG Frank
-
Hallo
da hier keine Antwort kommt, werde ich wohl dies nicht mehr lernen.
Nun ja... dennoch danke das für das lesen...
vg
Frank
-
Hallo Wissende
ich bin auf der Suche nach der erklärung "Was ist ein DTC Port für Sql Server 2000"
Kann mir das einer erklären ?
Hoffe das ich dies hier richtig gepostet habe. Falls nein kann ich das noch mal in die netzwerker abteilung posten.
freue mich auf hinweise.
VG
Frank
-
Hallo NilsK
Moin,SQL 2000?! Warum so eine uralte Version? .....
Ja ja, das sage ich auch immer wieder.
Mancher Chef denkt erst dann nach, wenn es um SEIN Geld geht. Ist doch immer so.
Moin,...Da zudem Replikation eine eher selten genutzte Technik ist,.....
Ach ja? Wie ist dein Workaround, wenn bestimmte Daten aus andere Datenbanken benötigt werden? Bitte beachte hierbei immer die Zugriffsrechte!
Hintrgrund ist der Umzug auf 2008 R2 Enterprise. (wenn schon denn schon :cool:)
freue mich schon auf Anregungen
VG
Frank
-
Hi zusammen
habe hier SQL Server 2000 auf dem wird repliziert Inbount und Outbound.
Da ich noch nie was mit Replication zu schaffen hatte, hier nun die Frage:
Gibt es eine Möglichkeit eine bestehende Replication als Script generieren lassen?
Wie man die Datenbank scripten kann weiss ich, wie oder was muss ich cklicken um die bestehende Replication scripten zu lassen ?
freue mich schon auf Anregungen :cool:
danke schonmal im Voraus
VG
Frank
-
Hi Sonny61
Ich will hier niemanden verscheuchen,Ja, is ok :D
danke für den Tip.
Gruss
Frank
-
Hi Sonny61
... Aber ich denke es wird "hier" bestimmt was geben....
Frank
Nun, so wie ich sehe eher nicht.....
OK, werde mir mal sowas selber bauen... werde es dann posten, wenn ich was habe.
VG
Frank
-
Hi Sonny61
Entschuldigung, das hier sollte sein was Du suchst: SQL SERVER – 2005 – Search Stored Procedure Code – Search Stored Procedure Text « SQL Server Journey with SQL AuthorityDanke, sowas habe ich auch schon gemacht.
SELECT Name FROM sys.procedures WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%Employee%'
Das Ergebnis ist leider nicht zuverlässig. Falls eine DML oder ddl Anweisung auskommentiert wurde, wird dies dennoch als Treffer zurückgegeben.
OBJECT_DEFINITION(Object_id) gibt den Inhalt des gesamten SQL-String. sowie es auch aus der View sys_sql_modules im Attributes "definition" zurückgegeben werden kann.
hm...
habe schon viel und lange im WWW gesucht. vielleicht mit den verkehrten suchbegriffen. Aber ich denke es wird "hier" bestimmt was geben.
vg
Frank
-
Hallo Sunny61
Mit dieser SP solltest Du das gesuchte finden: Search All tables within a Database | Brad Marsh's WeblogJa, wenn man in den Tabellen was suchen möchte ist diese Routine echt hilfreich.
Leider nicht das was ich suche.
gruss
frank
-
Hi
gibt es eine System View oder ähnliches, die mir SP's, UDF's oder andere Userdefinierte Objekte listet, die den Befehl "Drop Table" oder "Truncate Tabel" beinhalten?
Hintergrund meiner Frage ist, ich muss viele viele ...viiiieeeleee SP's UDF's nach solchen dingen durchsuchen. und dann noch die verwendeten Tabellen auflisten.... hmm.. so was gibt es bestimmt schon aber wo?
Wer kann hier tipps geben ?
Wir verwenden SQL Server Enterprise 2008R2
Gruss
frank
-
Hallo GuentherH, Hallo Dukel
Danke schon mal für deine Hinweise
Mit deinen Information niemand.jep, da stimme ich dir zu.:cool:
Diese Informationen....
- mit welchem Programm wird gesichtert?
- auf welches Medium wird gesichert?
- wie hoch ist der Datendurchsatz des Backupmediums?
- welche SQL Version?
....
kann ich mal weitergeben....
Dann kann ich wohl nach Dukel's info...
Ganz pauschal: Datenmenge / transfergeschwindigkeit.100.000 MB * 1024 durchlaufzeit = --------------------------------- transfergeschwindigkeit MB/s
...berechnen.
Werde mich nochmals melden, wenn etwas unklar ist.
Danke
VG FRank
-
Hallo Leute
wie berechne ich die Backupzeit ?
Also, habe für eine SQL-Server Datenbank ein Backup von ca. 100GB.
Das erstellen und zurückspielen auf einen SQL-Server dauert seine Zeit.
Wie kann ich die Zeit pro Vorgang berechnen:confused:
Wer kann hier weiterhelfen:confused:
Gruss
frank
-
:suspect:...evtl. einfach nur mit ....:rolleyes:aha... soweit war ich auch schon....
NATÜRLICH... :schreck:... du hast vollkommen recht....
Keep it simple!
Habe seit gestern auch ne Lösung gefunden.
Problem war, dass die Entwickler zwichen dem From und dem With kein Space sondern TAB verwendet haben.
Manchmal auch zwischen With und (TABLOCKX).
Mein Filter den ich definiert hatte lieferte keine Ergebnisse.
WHERE sysc.definition LIKE '% with %(TABLOCKX) %'
Habe eine Funktion geschrieben, die mir die Anzahl der gefundenen TABLOCKX sowie die "with (TABLOCKX)" zählt.
sysc.definition wurde als Übergabewert für @SQLText verwendet.
In der Funktion wird erstmal der Text von Sonderzeichen bereinigt und dann durchsucht....
FUNCTION [dbo].[CountKeywordHits] ( @SQLText nvarchar(max).... ... set @SQLText = REPLACE(@SQLText,CHAR(9), ' ') --del tba set @SQLText = REPLACE(@SQLText,'with ', ' with ') set @SQLText = REPLACE(@SQLText,' ', ' ')-- replace double spaces to one spache set @SQLText = REPLACE(@SQLText,CHAR(13), ' ') -- recpace CR to space set @SQLText = REPLACE(@SQLText,CHAR(10), ' ') -- recpace LF to space
Anschließend können die Vorkomnisse gezählt werden.:cool::D
...set @index = PATINDEX('% WITH (TABLOCKX)%', @SQLText)
Ok, dieses Thema kann als erfolgreich geschlossen werden.
Danke für die Denkanstösse ;-)
VG Frank
-
....die korrekten Befehle hast du ja schon genannt:....
ok ok, ich weiss aber nicht wie?
Was will ich machen:
SELECT DISTINCT 'MyDB' As [DB_Name] , syso.name AS ObjectName , syso.type AS ObjectType from MyDB.sys.sql_modules AS sysc INNER JOIN MyDB.dbo.sysobjects AS syso ON sysc.object_id = syso.id WHERE (sysc.definition LIKE '%TABLOCKX%')
In der MyDB sind viele sehr viele SP's und UDF's. In denen sind einige select anweisungen die TABLOCKX verwenden. es soll nun auf sql 2008 r2 migriert werden und hier muss geprüft werden op das Schlüsselwort "With" davor steht.
wie kann ich das "EINFACH" lösen:confused:
vg f
-
hi
@sql='AAAAAAAAAA xxxx BBBBBBBBBB, AAAAAAAAAA 1 BBBBBBBBBB , AAAAAAAAAA 2 BBBBBBBBBB
hier die Frage:
suche in @sql nach folgenden Texten
- "AAAAAAAAAA 1 BBBBBBBBBB"
- "AAAAAAAAAA 2 BBBBBBBBBB"
- "AAAAAAAAAA BBBBBBBBBB"
- "AAAAAAAAAA 3 BBBBBBBBBB"
- "....."
- "AAAAAAAAAA 999 BBBBBBBBBB"
die abstände zwischen aaa und bbb sind nicht konstant.
es darf zwischen aa und bb kein [^a-z] oder [^A-Z] existieren.
Zahlen oder Space sind erlaubt.
wie kann ich das mit einem like oder patindex oder anderes suchen?:confused:
freue mich über jeden hinweis:D
vg frank
Unterabfrage hat keinen Einfluss auf die Optimierungsmaßnahmen bzw.Indexauswahl
in MS SQL Server Forum
Geschrieben
Ok ok, da hier keiner diesen Eintrag bisher gesichtete hat, somit auch keine Antworten / Hinweise kommen, gehe ich letztendlich davon aus,
meine Fragestellung keinen hier im Board anspricht.
Ok, dann werde ich diese Frage direkt an die MS-Spezialisten stellen.
Dennoch danke, falls doch jemand diesen Eintrag ließt.
Wenn ich mehr erfahren habe, werde ich das dann hier natürlich Posten.
Bis dann
VG
Frank