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

Löschen einer Replikation

$
0
0

Hallo,

ich habe gestern Testweise eine Transaktionsreplikation erstellt. Die Datenbank hat allerdings über 8 GB, was das ganze System sehr verlangsamt, daher möchte ich die Replikation nun wieder löschen.

Allerdings funktioniert das nicht, ich erhalte folgende 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.
Der Datenbankkontext wurde auf 'marvin' geändert. (Microsoft SQL Server, Fehler: 15517)

Mit der Meldung weiß ich irgendwie nichts anzufangen :-(


Doppelte Werte erweitern

$
0
0

Hallo zusammen,

ich habe verschiedene Tabellen die ich in eine Tabelle überführen möchte. Die neue Tabelle soll ein Unique-Feld haben, wodurch ich gleiche Werte vermeiden muss.

Wie kann ich eine Tabelle so einlesen/überführen, erkennen wenn ein Feld mehrere gleichen Werte hat und diese dann in der neuen Tabelle numerisch erweitert einfügen?

Wenn also 5 Datensätze im Feld X den Wert 4711 haben, sollen diese 5 Datensätze in der neuen Tabelle mit 4711-1, 4711-2 ... überführt werden.

Viele Grüsse,
Daniel

1. Hilfe - SQL-Server mit speicheroptimierten Tabellen startet ewig nicht

$
0
0

Für einen gemeinnützigen Jugendverband / NGO mit nachgeordneten Landesverbänden administriere ich ehrenamtlich einen Windows Server 2012 R2, auf dem ein SQL Server 2017 Express läuft. Die Datenbanken beinhalten speicheroptimierte Tabellen und auch nativ kompilierte Stored Procedures, sowie "normale" SPs.

Gestern Abend / Nacht hat nun Windows ein automatisches Update auf dem Server eingespielt und anschließend einen Neustart des Systems erzwungen. Ich weiß nicht genau was dabei nicht geklappt hat - auf jeden Fall gibt es jetzt ein Problem beim Start des SQL-Servers.

Zwar wird im Server-Manager der Dienst korrekt als gestartet angezeigt - die Systemleistung (CPU) wird aber zu knapp 70 % für den SQL-Server-Dienst verbraucht. Das System hat 64 GB RAM und ist damit eigentlich gut speichermäßig ausgestattet. Mir ist auch klar, dass der Start der speicheroptimierten Datenbanken (es sind ca. 8 Stück mit jeweils vielleicht 15 Tabellen) auch seine Zeit benötigt. Aber man merkt vom Speicherverbrauch auch keine Änderung bzw. kein laden der speicheroptimierten Datenbanken.

Normalerweise brauchte der SQL-Server so 1 GB RAM. Seit Umstellung auf die speicheroptimierten Tabellen zog er ca. 5 GB RAM (was ja auch so gewollt war, weil ausreichend Speicher vorhanden ist und die Tabellen dort reingeladen wurden). Jetzt zeigt der Taskmanager nur einen Speicherverbrauch von ca. 1.3 GB an und irgendwie weiß ich jetzt auch nicht weiter, wo genau das Problem jetzt steckt.

Weiß jemand, ob man als NGO von Microsoft vergünstigt Supportleistungen einkaufen kann? Ich glaube, dass sich das ein echter Profi mal angucken sollte.

Nächtliche Ausführung eines DTSX-Pakets schlägt fehl

$
0
0

Hallo zusammen,
wir laden Nachts Daten per DTSX-Paket in unser Data Warehouse. Seit einiger Zeit haben wir das Problem, dass sich ein Datenfile (FlatFile --> CSV) sich nicht öffenen lässt.

Die Fehlermeldung lautet:

   Errormessage from DataFlow: 'Cannot open the datafile "\\ServerName\Share\FlatFile.csv".
   Flat File Source failed the pre-execute phase and returned error code 0xC020200E.

Ich bin beim Googeln mehrfach auf die Aussage gestoßen, dass hier wohl ein Rechteproblem vorliegt. Da aber weitere DTSX-Pakete aufgerufen werden die die FlatFiles aus dem immer gleichen Verzeichnis erfolgreich laden, kann ich mir das nicht vorstellen. Es ist immer der gleiche Benutzer der die Pakete aufruft...der zudem im DWH-Bereich überall Adminberechtigung hat.

Vielen Dank für Eure Tipps, Tricks und Hilfestellungen :)

@Edit: Wir verwenden SQL Server 2014 mit entsprechenden SSIS auf einem Windows Server 2012 R2...


Viele Grüße Holger M. Rößler


Aus T-SQL Aufgaben in Outlook erzeugen

$
0
0

Hallo,

meine DB produziert aufgrund von Ereignissen im Geschäftsbetrieb Termine und Aufgaben, die ich gerne in Outlook übertragen möchte.

Für Termine habe ich mich auf ICS-Dateien festgelegt. Das funktioniert einfach und gut.

Gibt es für die Aufgaben ein ähnliches Format? Weiß jemand, wie sich diese erzeugen lassen? Eine gespeicherte Aufgabe kann ich im ASCII-Editor leider nicht lesen. Oder hat jemand eine ganz andere Idee?

Für jede Unterstützung und Idee danke ich schon im Voraus,

Wolfgang

Wunsch: Nächtliche Aktualisierung einer User-/SID-Tabelle

$
0
0

Hallo liebes Forum und liebe Spezialisten...

Ich habe eine Frage. Ich soll eine Tabelle erstellen (SQL-Server 2012), in der unsere Domänennutzer (Loginname) und deren SID stehen. Diese soll des Nächtens aktualisiert werden.

Frage: Wie kann ich das realisieren? Wie gehe ich an den DC ran und hole mir die gewünschten Informationen? Hat doch bestimmt schon mal jemand gemacht?

Falls mir da jemand helfen kann, wäre ich sehr erfreut. Vielen Dank schon mal vorab...

Hintergrund: Wir fragen in Anwendungen bislang nur den NT-Nutzernamen ab. Das wurde von der IT-Sicherheit bemängelt und wir sollen auf SID umstellen...

SQL Tabelle per Prozedur nach Excel exportieren

$
0
0

Hallo zusammen,

Ziel ist es eine Prozedur zur Verfügung zu stellen welche möglichst global konfigurierbar eine Tabelle in ein Excel Sheet exportiert.

Der Aufruf soll in etwa wie folgt ablaufen:

exec excel_export 'c:\zielverzeichnis\zieldatei.xlsx','ExcelTabelle1','DBTabelle'

Logging / Meldung mal weggelassen

Aktuell versuche ich das per Linked Serververbindung

 EXEC sp_addlinkedserver @server = N'ExcelDataSource',              @srvproduct=N'ExcelData', @provider=N'Microsoft.ACE.OLEDB.12.0',              @datasrc=@ExcelDateiNameMitPfad,             @provstr=N'EXCEL 12.0' 


um dann per

insert into [ExcelDataSource]...[Tabelle1$]
select * from [DBTabelle]

In das Excel Sheet zu schreiben

Der OLE DB-Anbieter 'Microsoft.ACE.OLEDB.12.0' für den Verbindungsserver 'ExcelDataSource' hat die Meldung 'Das Lesezeichen ist ungültig.' zurückgeben.
Meldung 7343, Ebene 16, Status 2, Zeile 1
Der OLE DB-Anbieter 'Microsoft.ACE.OLEDB.12.0' für den Verbindungsserver 'ExcelDataSource' konnte INSERT INTO für die [ExcelDataSource]...[Tabelle1$]-Tabelle nicht ausführen. 

Das Excel Sheet ist erstellt und die Tabellen Definition passt. Es wird immer trotz dieser Fehlermeldung genau der erste Datensatz der SQL Tabelle in das Excel Sheet eingefügt.

Der Weg andersherum, also Import Excel nach SQL funktioniert hingegen problemlos.

Habe absichtlich SSIS bisher außen vorgelassen, da die Möglichkeit Prozedururen zu nutzen bisher die Vorgabe war.

Falls es keine sinnvolle andere Möglichkeit gibt muss ich halt per Procedur ein SSIS Paket aufrufen..

Edit:

Microsoft SQL Server 2008 R2 (SP3) - 10.50.6220.0 (X64)

Access database engine 2010 14.0.6029.1000

Kommentare im SQL-Code des VS2013 werden automatisch entfernt?

$
0
0

Hallo zusammen,

ich arbeite hier mit einem per CITRIX bereitgestellten VS2013 um Berichte mittels SSRS zu erstellen, dabei möchte ich gerne in den SQL-Abfragen der Datasets inline-Kommentare nutzen, also mit /*  ... und ... */

Die kann ich auch eingeben, aber wenn ich die Abfrage im Abfrage-Designer einmal ausgeführt habe werden die Kommentare entfernt!

Wie bekomme ich das hin das die Kommentare dauerhaft gespeichert bleiben? ----- und, haben diese Kommentare dann irgendeine Auswirkung auf die Laufzeit des Codes?

Danke euch schon mal,

Marcus


ReportViewer Datumsformat englisch

$
0
0

Hallo Team,

in einer eigenen App wird über den ReportViewer ein Bericht ausgegeben. Auf allen Tablets läuft der Report problemlos.

Bei zwei neuen Tablets mit ursprünglich englischer Betriebssystemsprache haben wir alle erdenklichen Sprach- und Datumseinstellungen auf Deutsch geändert (Anzeige- u. Eingabesprache, Format, Aufenthaltsort). Auch das Datumsformat in der Systemsteuerung ist richtig. Nur im Report selbst wird das Datum mit dem Format MM/TT/JJJJ (7/20/2018) angezeigt.

Auf den Tablets ist der Microsoft ReportViewer 2010 SP1 Redistributable installiert. Mit diesem wird der Report generiert.

Im Report wird das Datumsfeld so gefüllt:

<Textbox Name="Belegdatum">
        <KeepTogether>true</KeepTogether>
        <Paragraphs>
          <Paragraph>
            <TextRuns>
              <TextRun>
                <Value>=FormatDateTime(First(Fields!Belegdatum.Value, "Beleg"), DateFormat.ShortDate)</Value>...

Gibt es eine Konfigurationsmöglichkeit wo der ReportViewer das deutsche Datum verwendet?

Über eine Rückmeldung würde ich mich freuen.

Samuel Schmidt

View wird ausgeführt aber nicht gespeichert - Incorrect syntax near the keyword 'DECLARE'

$
0
0

Hallo,

ich habe folgendes Script auf dem SQL-Server erstellt:

DECLARE @ColumName NVARCHAR(MAX) = ''
DECLARE @SQL NVARCHAR(MAX) =''

SELECT @ColumName +=   QUOTENAME(username) + ','
FROM   dbo.MEINETABELLE
WHERE (jobfunction LIKE N'elh_%')
GROUP BY username

SET @ColumName = LEFT(@ColumName, LEN(@ColumName)-1)

PRINT @ColumName

SET @SQL =
'SELECT *
FROM (select username
		,jobfunction
		,jobfunction AS JobRolle
		FROM MEINETABELLE
		WHERE (jobfunction LIKE N''xxx_%'')
		) as myData
PIVOT
(COUNT(jobfunction)
FOR username IN (' + @ColumName +')) AS myPivotTable'

EXECUTE sp_executesql @SQL

Das Script läuft wunderbar problemlos über "Sichten" ab und zeigt mir auch die richtigen Werte. Nur wenn ich das Script abspeichern möchte bekomme ich folgenden Fehler angezeigt:


Ich verstehe nur nicht warum?

Hat evtl. jemand einen Tipp für mich?

Row_Number() in multiple Join

$
0
0

Hallo allerseits,

ich habe eine relative Anfängerfrage. Ich bin gerade dabei mich autodidaktisch in das Thema Datenbanken einzuarbeiten.

Ich suche ständig in irgendwelchen Foren, habe aber für meine spezifische Problemstellung nichts gefunden, was mir weiterhilft.

Es geht darum eine Row_Number() Column in die Ausgabe eines Querys einzufügen. Prinzipiell habe ich, für einfache Queries, ungefähr verstanden wie es funktioniert, glaube ich.

Hier mein Query:

SELECT
	Topics.TopicText,
	Questions.QuestionText,
	Actions.ActionId,
	Actions.ActionDescription, 
	Actions.ActionText, 
	Actions.ActionStart, 
	Actions.ActionEnd,
	Questions.TopicId,  
	Actions.QuestionID,
	Actions.ActionRotSlider01, 
	Actions.ActionRotSlider02, 
	Actions.ActionHorzSlider01, 
	Actions.ActionIntInput01, 
	Actions.ActionIntInput02, 
	Actions.List01, 
	Actions.List02, 
	Actions.List03, 
	Actions.List04, 
	Actions.Data, 
	Actions.Kpi, 
	Actions.Reporting, 
	Actions.Processes, 
	Actions.Systems, 
	Actions.NewOld, 
	Actions.EyInput      

	FROM Sessions RIGHT JOIN Topics 
		ON Sessions.SessionId = Topics.SessionId
		RIGHT JOIN Questions
		ON Topics.TopicId = Questions.TopicId
		RIGHT JOIN Actions
		ON Questions.QuestionId = Actions.QuestionID

	WHERE Sessions.SessionId = 1

Ich möchte die Ausgabe nach der Höhe der Actions.ActionId aufsteigend sortiert mit einer Row Number versehen.

da hier die Joins sind, weiss ich nicht wo und wie ich das Subquery für die Zeilennummerierung eintragen soll. 

Ich bedanke mich im Vorraus.

lg

SSRS 2016 Excel 2010 Export Problem Gruppierung

$
0
0

Hallo zusammen,

leider kann ich im Moment noch keine Bilder posten, da mein Account irgendwie noch nicht verifiziert wurde, daher versuche ich mein Problem mal zu umschreiben.

Ich habe ein Problem bei dem Export eines SSRS-Berichts nach Excel. In dem Bericht befindet sind eine Matrix, die mit dem Matrix-Assistenten angelegt wurde. Für die Matrix wurden im Assistenten die Teilergebnisse sowie das Erweitern/Reduzieren von Gruppen eingerichtet. Interessant ist hier, dass im Header das Feld-Auswahl-Symbol angezeigt wird.

Im Browser sieht die Matrix richtig aus und funktioniert auch. Exportiere ich jedoch die Matrix nach Excel ist die Gruppierung um jeweils eine Zeile verschoben. Es wird also jeweils das Element eine Ebene tiefer erweitert.

Erstelle ich die Matrix von Hand ohne den Assistenten habe ich dieses Problem nicht in Excel.

Die Konfigurationen sind in beiden Matrizen identisch.

Ist dieses Problem bekannt? Übersehe ich vielleicht noch eine Konfiguration, die diesen Effekt herbeiführt?

Vielen Dank für die Hilfe schon im Voraus.

SSISDB bei Paket ausführen Fehler.

$
0
0

Guten Tag,

Bitte um Hilfe -bin langsam am Verzweifeln.

Ich habe ein Projekt - Integration Services im Visual Studio erstellt . Daten werden aus einer csv -Datei in eine Tabelle/Datenbank hochgeladen. Die ganze Sache funktioniert ja fein, wenn ich das im Visual Studio ausführe. 

Da ich das automatisieren möchte, habe ich das Projekt am SQL-Server bereitgestellt - auch kein Problem.

Nur wenn ich das Paket ausführe, bekomme ich diese Fehlermeldungen... 

Verwende Visual Studio: 2015 

MSSSQL: 2012 hängt das, weil die Versionen - Visual Studio und DB unterschiedlich sind?

Bitte um Info

Danke 

Grüße Danijel

Strings Ersetzen

$
0
0

Hallo allerseits, 

einfache Frage: Gibt es in MS SQL die Möglichkeit einen String wie "Strasse" global durch "Straße zu ersetzen? Wenn ja wie geht das? Für Anregungen wäre ich recht dankbar

Gruß

Chris

Fehlermeldung im SSRS: "Falschen Systax in der Nähe des is-Schlüsselwortes" (case when in where-Bedingung des SQL-Statements)

$
0
0

Hallo zusammen,

ich möchte mittels true/falsch-Parameter (boolescher Wert) eine Where-Bedingung de-/aktivieren. Die Bedingung alleine läuft. doch die case-Anweisung verursacht in div. Varianten immer eine Fehlermeldung. Was ist falsch bzw. wie muss ich das SQL anpassen? Wenn der Parameter auf true steht möchte ich, dass der Filter aktiv ist, ansonsten soll nichts passieren:

where  case when @cancel_selection = false then (Rechnungsdatum is not null and Rechnungsdatum >= (@Rechnungsdatum) and Rechnungsdatum <= (@Rechnungsdatum_bis)) else '' end

Leider schmeisst das SQL in der oben genannten Form den besagten Fehler aus, den ich nicht zuordnen kann.

Vielen Dank.

Gruß

Christian


SSRS - Berechnung für Hierarchien bei Tabellenwert in Matrix

$
0
0
Ich habe folgendes Problem. Für eine Matrix möchte ich aus dem relationalen Dataset einen Wert als Tabellenspalte darstellen.

An einem Beispiel:

Ich habe ein Dataset wie folgend:

(Hersteller, Typ, Telefon, Anzahl_vorhanden, Farbe, Umsatz)
('Apple','iPhone','SE', 5, 'rose', 299)
('Apple','iPhone','SE', 5, 'gold', 305)
('Apple','iPhone','SE', 5, 'gold', 304)
('Apple','iPhone','SE', 5, 'rose', 298)
('Apple','iPhone','X', 8, 'rose', 799)
('Apple','iPhone','X', 8, 'rose', 800)

Der Wert Anzahl_vorhanden ist statisch bzw. unabhängig für die Farbe des Telefons. Meine Matrix soll hierarisch folgendes darstellen:

(Hersteller, Typ, Telefon, Anzahl_vorhanden, "rose", "gold")
('Apple','iPhone','SE', 5, 299+298, 305+304)
('Apple','iPhone','X', 8, 799+800,0)
('Apple','iPhone', ALL, 5+8, 299+298+799+800,305+304)
('Apple', ALL, ALL, 5+8, 299+298+799+800,305+304)

Wie kann ich die Tabellenwerte berechnen. Mit der Summenfunktion würde er jede Zeile in die Summe einbeziehen. Also für 'SE' 5+5+5+5. Und mit der MaxFunktion würde er für 'SE' den richtigen Wert 5, aber für 'iPhone' 8 statt 13 liefern.

Verbindungsversuch mit x86 System DSN zum SQL Server schlägt fehl

$
0
0

Hi,

ich versuche mit einer über den x86 (C:\Windows\SysWOW64) ODBC-Datenquelle-Administrator angelegter System-DSN eine Verbindung zum SQL Server herzustellen.

Beim Verbindungsaufbau erhalte ich folgende Fehlermeldung:

ERROR [IM002][Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht nicht gefunden und es wurde kein Standardtreiber angegeben.

Mit der x64 Version des Treibers habe ich keine Probleme.

  • ODBC Treiber V.10.00.14393.00 vom 16.07.2016.
  • OS: Windows Server 2016 (V.1607 Build 14393.2273).

Kann mir jemand einen Hinweis geben, warum die 32-Bit Version nicht funktioniert?

VG,
Christian

SplitString

$
0
0

Hallo MS SQL_er :-)

ich habe in einem spalte ein lange String der so aus sieht 

AAAAA/; BBBBBBBB/; CCCCCCC/; DDDDDDD /; EEEEEEEEE /; FFFFFFFF /; ....

kann mir jemand sagen wie ich die Inhalt dieses spalte in mehre spalten splinten kann?

also in spalte [A's] und Spalte [B's] usw. (siehe Anhang)produktliste gesamt

produktliste gesplietet

VG

Fabi

Dubletten

$
0
0

moin moin,

in ne Tabelle habe ich kunden, die mehrmals vor kommen, aber in unterschiedlichen Kategorien.

kunden Tabelle

nun weiß nicht wie ich ne Query schreiben soll, der mir 

wenn ich Kategorie A wähle mir für den Kunden ID (11214791) 3 Datensätze zeigt und für den (10531502) und (2487961) zwei Datensätze.  Bei der Kategorie B soll er mir für den Kunden ID (11214791) 2 Datensätze Zeigt und für den (10531502) und (2487961) jeweils einen Datensatz.

danke für eure Hilfe im voraus :-)

fabi 


CLR stored proc und Berechtigung

$
0
0

Guten Morgen,

ich habe hier eine Express 2008R2-Instanz und kann laut OH Datenbankmail nicht benutzen (es funktioniert trotzdem, ich will mich aber nicht darauf verlassen, dass das mit dem nächsten SP auch noch so ist)

Deshalb habe ich mir mit VB2010 eine dll geschrieben, die mailen kann.
Diese registriere ich mit

create assembly fhsendmail from 'C:\Scripts\fhsendmail.dll'
with permission_set  =  EXTERNAL_ACCESS
(SAFE geht ja wohl nicht, weil ich externe Ressourcen anspreche)

Dann noch die Proc erstellt, die die assembly benutzt:

create procedure dbo.fhSendMail (...)
WITH EXECUTE AS CALLER AS
EXTERNAL NAME [fhsendmail].[fhsendmail.sendmail].[SMTPMail]

CLR-Erweiterungen sind auch erlaubt.

 

So, nun das Problem: Daheim auf Windows 7/64 funktioniert das; hier auf Windows Server 2008R2 funktioniert das nicht 

"Meldung 10314, Ebene 16, Status 11, Zeile 5

Fehler in Microsoft .NET Framework beim Laden der Assembly mit der ID 65542. Auf dem Server sind möglicherweise nicht genügend Ressourcen verfügbar, oder die Assembly ist mit PERMISSION_SET = EXTERNAL_ACCESS oder UNSAFE nicht vertrauenswürdig. Führen Sie die Abfrage erneut aus, oder lesen Sie in der Dokumentation nach, wie Sie Probleme mit der Vertrauenswürdigkeit von Assemblys lösen. Weitere Informationen zu diesem Fehler finden Sie unter: " Wo ich das finde, steht wirklich nicht da.

Als nächstes habe ich die dll signiert und neu erstellt und einen Schlüssel auf dem SQL-Server erstellt

 

USE master
GO
CREATE ASYMMETRIC KEY fhSendMailKey FROM EXECUTABLE FILE = 'C:\Scripts\fhsendmail.dll'
CREATE LOGIN fhSendMailLogin FROM ASYMMETRIC KEY fhSendMailKey
GRANT EXTERNAL ACCESS ASSEMBLY TO fhSendMailLogin

 

Auch das - erfolglos.

 

Hilft mir jemand auf die Sprünge?

 

Danke schonmal,
Frank

Viewing all 1772 articles
Browse latest View live


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