Quantcast
Channel: Für Entwickler: SQL Server Forum
Viewing all 1772 articles
Browse latest View live

Datensätze ausfiltern ....eigentlich einfach, oder?

$
0
0

Hallo zusammen,

kurz vor den Weihnachtstagen noch ein kleines Problem(chen):

Ich habe hier eine Tabelle mit Einsatzzeiten der Mitarbeiter, und zwar je Arbeitsbeleg und Datum und Mitarbeiter, da gibt es jeweils einen Arbeitscode und natürlich die Stundenzahl (vereinfacht dargestellt).

Jetzt ist es so das beim Arbeitscode TEST dieser erstmal ausgefiltert werden soll (kein Problem :-),aber auch die dazugehörenden ANF und ABF Zeiten unberücksichtigt bleiben sollen --- kurz gesagt: Suche alle Datensätze mit TEST und filtere dann die ANF und ABF Zeilen heraus für denselben Beleg, denselben Tag und denselben Mitarbeiter ,also im unten genannten Beispiel sollen die farbigen Zeilen ausgefiltert werden:

Irgendwie stehe ich hier SQL-technisch auf dem Schlauch und wäre dankbar für einen "Schubser" in die richtige Richtung :-)

Ansonsten erstmal schöne Weihnachtsfeiertage und viele Grüße

Marcus


SSMS schliesst beim Versuch Diagramme zu öffnen

$
0
0

Hallo Allerseits

Wissenstand über SQL Server:

- Totaler Anfänger

Mein System:

- Laptop mit Windows 10 aktuellster Stand

- lokales SQL Server Express 14.0.1000 und SQL Server Management Studio 15.0.18206.0

- Windows Identifizierung

- Datentabellen importiert von einer Backend-DB die noch in Access 2003 ist, soll später auf SQL Server übertragen werden

- Berechtigungen noch keine gesetzt da ich das noch nicht kann, vermutlich SA (ist das nächste Thema nach den Diagrammen)

Was ich jetzt tun will:

Erzeugen der Beziehungen zwischen den Tabellen so wie sie im Access 2003 BE waren. In SQL Server werden die Beziehungen offensichtlich Diagramme genannt.

Mein Problem:

Ich kann Diagramme erstellen und speichern. Im Diagramm kann ich Spalten ändern und Speichern und wenn ich die Spalten in den Tabellen ansehe wurden die Aenderungen auch übernommen.

Wenn ich die DB am nächsten Tag mit SSMS wieder öffne und den Knoten Datenbankdiagramme öffne sind die Diagramme vorhanden. Wenn ich irgend eines der Diagramme versuche mit Doppelklick oder Aendern zu öffnen schliesst sich SSMS nach einigen Sekunden ohne eine Meldung anzuzeigen. Windows läuft, soweit ich feststellen konnte, stabil weiter und ich kann auch SSMS wieder starten und andere Arbeiten ausführen … funktioniert, bis ich wieder ein Diagramm öffnen will und sich SSMS wieder schliesst.

Währe schön wenn mir jemand sagen kann was ich falsch mache und wie ich es richtig machen sollte.

Besten Dank schon mal

Reiner Berger

Uhrzeiten vergleichen

$
0
0

Hallo,

ich habe eine Tabelle, ähnlich eines Telefonie-Verbindungsnachweises.

Sprich, jeder Datensatz enthält eine Kunden-Kennung sowie Uhrzeit-Beginn und Uhrzeit-Ende einer Verbindung.

Nun möchte ich über alle Datensätze herausfinden wann die meisten gleichzeitigen Verbindungen stattgefunden haben.

z.B.: Kunde A war verbunden von 08:00 Uhr bis 10:00 Uhr, Kunde B von 08:45 Uhr bis 09:30 Uhr und Kunde C von 09:00 Uhr bis 09:45 Uhr. --> Dann fanden zwischen 09:00 Uhr und 09:30 Uhr drei Verbindungen statt.

Natürlich finden Verbindungen über das ganze Jahr statt, in der Regel allerdings nicht Tagesübergreifend.

Hat jemand einen Ansatz für mich, wie man dies realisieren kann?

Vielen Grüße, Alex

Principal "dbo" nicht vorhanden??

$
0
0

Hallo,

zum Ende 2019 musste ich mit meinem SLQ-Server von Win7 auf Win10 umziehen. Das hat soweit geklappt, ich kann mit der DB arbeiten, alles im Frontend funktioniert. Heute nun stieß ich auf ein Problem mit Zugriffsrechten.

Im Managent Studio (18.3) bemerkte ich, dass keine Datenbankdiagramme mehr vorhanden sind. Jeglicher Zugriff wird verweigert mit folgender Meldung:

Die Ausführung als Datenbankprinzipal ist nicht möglich, weil der Prinzipal "dbo" nicht vorhanden ist, für diesen Typ von Prinzipal kein Identitätswechsel möglich ist oder Sie nicht die erforderliche Berechtigung haben. (Microsoft SQL Server, Error: 15517)

Also dbo ist natürlich vorhanden. Soweit ich mich erinnern kann, war früher dbo der Eigentümer der betroffenen DB und jetzt bin ich das, bzw. mein Benutzerkonto. Daher kann das schon sein, dass da was klemmt.

Nur, wie krieg ich das hin? Wenn ich versuche, den Eigentümer der DB zu ändern erhalte ich die gleiche Meldung. Welche Rechte fehlen mir denn und wie kriege ich diese für meinen Account?

Gruß

H.

BCP auf Windows Server 2019

$
0
0

Hallo zusammen,

gerne würde ich BCP auf einem Windows Server 2019 installieren. Hier erhalte ich die Meldung das 'Microsoft ODBC Driver 17 for SQL Server' fehlt. Dieses habe ich installiert, erhalte jedoch die gleiche Meldung (auch nach Neustart).

Hat jemand änhliche Erfahrung machen können?

SSIS - CSV Connection mit Trennzeichen im String

$
0
0

Hallo

Ich habe folgendes Problem: eine CSV Datei soll Importiert werden, das Trennzeichen ist das Komma. Es existiert eine Spalte mit Text (also ein String) , der nicht(!) mit Anführungszeichen ummantelt ist. Im String sind nun aber auch Kommas enthalten, die mir das Leben schwer machen, weil der Assistent eine Spaltentrennung erkennt. Wie kann ich dem Assistenten nun mitteilen, dass dieses Komma kein Trennzeichen sondern eine Satzzeichen ist resp. Wie geht man mit dieser Situation um ?

Vielen Dank und einen schönen Sonntag

Gruss Oliver

SSRS Datengesteuerte Abonements: Excel Anhänge werden sporadisch nicht befüllt oder unterscheiden sich von den Reports

$
0
0

Hallo,

Es handelt sich um sehr umfangreiche Datenmenge, welche an einer Vielzahl an Abonenten als Excel Anhang verschict werden soll.

Phenomen 1:

Sporadisch werden die Anhänge nicht befüllt oder befüllt mit willkürlichen Daten, abweichend von Report.

Phenpmen 2:

Wenn 2 Abonenten gleiche Versandkriterien haben (gleiche Parameter mit entsprechend gleichen Reports), kann es sein dass einer der Abonnenten die beider Reports bekommt und der anderer gar keins.

Unternommen habe ich folgendes: Option MaxQueueThreads in der rsreportserver.config datei abwechselnd auf 1 - 4 gesetzt um Parallelität einzusrächken. Dies hat bewirkt dass der Versand in kleineren Portionen (etwa 20 Reports pro batch) befriedigend funktioniert (Phenomen 2 blieb bestehen).

Nun bin ich auf der suche nach einer Lösung, wie es am besten wäre die Reports sequentiell in kleineren Batches zu versenden. Womöglich ginge das ohne unzählige einzellne Subscriptions und Jobagent Jobs zu erstellen. Bzw diese dynamisiert zu erstellen, je nach dem, ob zusätzliche Abonnenten hinzukommen oder nicht...

Der Weg per T-SQL in einem Cursor Subscription-Jobs anzustossen würde sein Zweck erfüllen, erscheint mir aber wenig zielführend wegen einer Vielzahl von Jobs mit Kryptischen Namen...

Vielen herzlichen Dank für die Hilfe


Irina




ID aus SQL Recordset ermitteln - Geänderter Treiber?

$
0
0

Ich habe ein akutes Problem beim Zugriff auf den SQL Server. Seit vielen Jahren nutze ich folgendes Prinzip.

Im VBA lege ich einen neuen Datensatz in einem Recordset an. Da der SQL Server die ID erst nach dem Speichern vergibt mache ich folgendes.

Code ist natürlich verkürzt

...

...

tb.update

tb.movelast

vID = tb![ID]

Seit ein paar Tagen reagiert das Access / SQL nun anders und ich bekomme nun bei dem unveränderten Code eine Fehlermeldung "Datensatz ist gelöscht".

Die Fehlerursache besteht nun darin, das der Recordset nicht den neu angelegten Datensatz beinhaltet. Setze ich nun ein

tb.requery

vor die Zeile

vID = tb![ID]

so klappt es problemlos.

Nun kommt die Frage, hat sich der ODBC Treiber oder irgendetwas anderes geändert? Warum geht der Code, der seit Jahren läuft nun plötzlich nicht mehr?

Natürlich weiß ich, daß ich tausend andere Möglichkeiten hätte vorzugehen, ich muß aber wissen warum der unveränderte Code nun plötzlich nicht mehr funktioniert.

Vielen Dank für Eure Ideen!

cu Maik


EF / C#: Nachträgliche Änderung von Precision / Scale bei Decimals

$
0
0

Hallo,

ich habe in meinem Code First Entity Model mehrere Felder hinzugefügt:

[DataMember]
[Column(Order = 28)]
public Decimal? ErrorOfIndication01 { get; set; }

[DataMember]
[Column(Order = 29)]
public Decimal? ErrorOfIndication02 { get; set; }

[DataMember]
[Column(Order = 30)]
public Decimal? ErrorOfIndication03 { get; set; }

anschliessend habe ich eine Migration erstellt in welcher diese Felder dann acuh enthalten waren:

AddColumn("MyTable", "ErrorOfIndication01", c => c.Decimal(precision: 18, scale: 2));
AddColumn("MyTable", "ErrorOfIndication02", c => c.Decimal(precision: 18, scale: 2));
AddColumn("MyTable", "ErrorOfIndication03", c => c.Decimal(precision: 18, scale: 2));

Leider fiel mir erst nach den ersten Programmtests auf, daß die Nachkommastellen unzureichend waren. Ich habe die Migration mit Update-Database zurückgedreht, die Migration geändert auf

AddColumn("MyTable", "ErrorOfIndication01", c => c.Decimal(precision: 32, scale: 16));
AddColumn("MyTable", "ErrorOfIndication02", c => c.Decimal(precision: 32, scale: 16));
AddColumn("MyTable", "ErrorOfIndication03", c => c.Decimal(precision: 32, scale: 16));

und dann mit Update-Database die Dtaenbank wieder aktualisiert; die neuen Spalten wurden dann auch entsprechend angelegt:

[ErrorOfIndication01] [decimal](32, 16) NULL,
[ErrorOfIndication02] [decimal](32, 16) NULL,
[ErrorOfIndication03] [decimal](32, 16) NULL

Allerdings werden die eingegebenen Daten weiterhin nach 2 Nachkommastellen abgeschnitten. Mittels Profiler habe ich dann das Update-Statement identifiziert und hier ist dann immer noch die 18.2 drin anstatt der 32.16:

...
[ErrorOfIndication01] = @13, 
[ErrorOfIndication02] = @14, 
[ErrorOfIndication03] = @15, 
...
@13 decimal(18,2),
@14 decimal(18,2),
@15 decimal(18,2),
...

Im Code ist aber alles OK; ist entsprechend im SQL-Server irgendwas noch auf altem Stand? Wo muss ich da ansetzen?

SQL Server 11.0.3000 auf der Dev-Maschine, EF 6.20, C# 7, .NET Framework 4.72

SQL Server 2016 Developer Edition, Download nicht mehr verfügbar?

$
0
0

Hallo Community,

gibt es noch eine Chance die SQL Server 2016 Developer Edition herunterzuladen? Ich finde lediglich noch die Evaluierungs-Version für 180 Tage, gehe aber davon aus, dass diese nicht ist was ich suche.

Hoffe auf Hilfe :-)

Vielen Dank!

Performance SQL Server bei grossen Transaktionen

$
0
0

Hallo zusammen,

wir verwenden in unseren Programmen grosse Transaktionen, die am Ende mit COMMIT oder ROLLBACK abgeschlossen werden.

Nun ist neben der Tatsache, dass andere Sessions keinen Zugriff haben solange die Transaktion läuft, die Performance total im Keller. Ich habe den Eindruck, dass das an der Transaktion selber liegt, denn Verbesserungsversuche z. B. mit zusätzlichen Indizes und obtimierten Statements haben nicht die gewünschte Verbesseung gebracht.

Meine Idee ist keine Transaktion zu öffnen, weil am Anfang der Aufgabe sowieso "alte" Daten gelöscht werden.

In einem solchen Block werden viele insert, update oder merge - Befehle abgesetzt.

Kann mir jemand bestätigen, dass das etwas für die Performance bringen könnte, oder hat das keine grossen Auswirkungen?

Besten Dank im Voraus

Willi

Abfragen in DB speichern und nicht Als .sql Textdatei

$
0
0

Soll ich mich gleich im vorfeld entschuldigen :) - ich finde es leider nicht

ich habe immer für mich ein paar Abfragen die ich gerne zu der Datenbank speichern möchte aber ich weiss nicht wo

zb.

wer ist angemeldet

Indexe neu setzen

oder einach ein backup der DB erstellen

zzt. Speichere ich mir diese in eine textdatei

sprich zB

BackupMasterErstellen.sql

inhalt  BACKUP DATABASE CSRdat_Master TO DISK = 'C:\CSR\CSRdat_Master.bak' WITH INIT

kann ich dieses nicht in der Datenbank hinterlegen - würde das handling für mich einfacher machen

Danke

SSRS - leere Wert in Diagramm

$
0
0

Hallo,
in einem Diagramm werden nicht vorhandene Datumswerte angezeigt.
Leider weiß ich nicht, wo das einzustellen ist, dass dem nicht so ist.
Für einen Tipp wäre ich sehr dankbar.

Hier die zugrunde liegenden Daten:

...und hier das Ergebnis:


Vielen Dank.

Viele Grüße, Volker


SSIS Flatfile Datentypen

$
0
0

Hallo,

Ich habe mal eine banale Frage: ich richte eine flatfile connection ein,codepage 1252 (Latin1). Im weiteren Verlauf definiere ich ja die Datenypen der Spalten. Welchen Einfluss hat eigentlich ein wstr (String) bezüglich dieser codepage oder ist es egal, ob ich str oder wstr für einen String Datenryp definiere ?

Danke und Gruß

Zwei Fremdschlüssel auf zwei verschiedene Spalten

$
0
0

Hallo 

beim Wechsel einer abzulösenden SQL Datenbank  auf den SQL Server haben wir folgendes Problem:

Es besteht eine Tabelle "Texte" mit Kopf- und Fusstexte. PK ist die "Text_Nr"

eine weitere Tabelle "Formular" hat zwei Spalten "KopftextNR" und "FusstextNR"

Beim DELETE eines Textes (in TEXTE) sollen die Spalten in der FORMULAR Tabelle AUF NULL gesetzt werden. Der erste FK geht anstandslos durch. Der zweite wirft einen Fehler.  siehe unten.


Irgend ein Verständnis meinerseits fehlt hier. Bisher ging das problemlos. Wie ist hier die richtige Vorgehensweise beim SQL Server. 

ALTER TABLE [Formular ] ADD CONSTRAINT [FK_F120_REF_12924_F040] FOREIGN KEY ([UE_FussTextNr]) REFERENCES [TEXTE] ([TEXT_NR]) ON DELETE SET NULL;


ALTER TABLE [Formular ] ADD CONSTRAINT [FK_F120_REF_129240_F040] FOREIGN KEY ([UE_KopfTextNr]) REFERENCES [TEXTE] ([TEXT_NR]) ON DELETE SET NULL;

-- Failed (16 ms)
-- [Microsoft][SQL Server Native Client 11.0][SQL Server]Das Einführen der FOREIGN KEY-Einschränkung "FK_F120_REF_129240_F040" für die F120-Tabelle kann Schleifen oder mehrere Kaskadepfade verursachen. Geben Sie ON DELETE NO ACTION oder ON UPDATE NO ACTION an, oder ändern Sie andere FOREIGN KEY-Einschränkungen.




Tablix mit 2 Datasets und gruppierten Spalten

$
0
0

Ich habe zwei Datasets die als einzige gemeinsamkeit den Zeilennamen haben. Zur Verantschaulichung folgendes Beispiel:

Dataset1: ZeilenID, EigenschaftA, Wert

Dataset2: ZeilenID, EigenschaftB, Wert

Nun möchte ich ein Tablix mit der Spalte ZeilenId mit zwei SpaltenGrupierrungen, einmal nach EigenschaftA und daneben nach EigenschaftB. Ich habe es mit LOOKUP probiert, aber dafür bekomme ich nur jeweils den ersten ersten Wert für EigenschaftA und den ersten Wert von EigenschaftB als Spalten zurück und nicht alle Werte als Spalten.

= LOOKUP(
    Fields!ZeilenID.Value
    , Fields!ZeilenID.Value
    , Fields!EigenschaftA.Value
    , "Dataset2")

bzw.

= LOOKUP(
    1
    , 1
    , Fields!EigenschaftA.Value
    , "Dataset2")
Hat jemand eine Idee?

Datenaustausch mit sqlite

$
0
0
Hallo ich habe eine Datenbank auf MS SQL Server 2012 laufen und möchte Teile davon auf Android Tablet als offline Frontend verfügbar machen um dann offline mit dem Tablet neue Daten erfassen zu können und diese anschließend wieder in die MS SQL Datenbank zu integrieren und ein udate durchzuführen. Gibt es da spezielle Tools die ich dazu Benötige, oder muß ich mir diese Schnittstelle selber kreieren?

EF / C#: Alte Migrationen zusammenführen empfehlenswert?

$
0
0

Hallo,

in meinem aktuellen Projekt (C#, .NET Framework 4.7.2, EF 6.2) steht demnächst ein neues Release an. Wenn dies abgeschlossen ist, werden wir voraussichtlich auf .NET Framework 4.8 und EF 6.4 aktualisieren.

Im Projekt selbst haben wir (seit 2014) mittlerweile 58 Datenbank Migrationen. Es gibt spätestens mit Release keine Notwendigkeit mehr, auf alte Migrationsstände zurückzudrehen (gibt es auch heute schon nicht), daher würde ich gerne zum Beginn der Entwicklung am nächsten Release die alten Migrationen zusammenzuführen bzw. zu entfernen und damit dann die dann aktuelle Datenbankstruktur als 'Basis' zu definieren. Ist so etwas sinnvoll / empfehlenswert? Oder sollte ich besser weiterhin mit den ganzen Migrationen 'leben' und neue (bei Notwendigkeit) hinzufügen?

Und wenn es sinnvoll ist: Wie gehe ich sowas an?

Viele Grüße

SSRS - Summe aus Untergruppen vergleichen

$
0
0

Hallo,
es sollen die Summen der Gruppen "intern" und "extern" miteinander ins Verhältnis gebracht werden und das bis in die oberste Ebene hinauf.

Ist das möglich?

Vielen Dank.


Viele Grüße, Volker

Wie setze ich Berechtigungen für Spalten

$
0
0

Hallo Zusammen

Wie in meiner früheren Frage schon erwähnt bin ich Anfänger und arbeite im Moment lokal auf dem aktuellen Windows 10 mit SQL-Server Express als BE und Access 365 als FE. SQL-Server Express bearbeite ich mit SSMS 15.0.18206.0.

Mein Problem sind die Berechtigungen.

Ich definierte Datenbankrollen und habe auch gefunden wie man diesen Rollen Tabellen zuweist.

Aber ich habe noch nicht gefunden wie man in den Tabellen verschiedenen Rollen unterschiedliche Berechtigungen auf einzelne Spalten zuweisen kann.

Als Beispiel:

In der Tabelle Lieferung sollen die Lagermitarbeiter die Lieferdaten erfassen und ändern können und auch ansehen können aber nicht ändern, ob die Lieferung freigegeben ist. Nur die QS soll die Spalten für die Freigabe der Lieferung bearbeiten können.

Währe schön wenn mir dazu jemand einen Tip hätte wie ich die Berechtigungen auf Spaltenebene setzen kann oder einen hilfreichen Link zu diesem Thema

Besten Dank


Reiner Berger

Viewing all 1772 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>