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

Abfrage mit Unterabfrage

$
0
0

Ich habe eine Abfrage:

Select

dbo.Msn_Stat(id_msgrp)AsGrpStat,COUNT(*)AsAnzaFromMsnGrupWhereloesch=0ANDdbo.Msn_Stat(id_msgrp)IN(3,16,32)GroupBydbo.Msn_Stat(id_msgrp)

In dieser kommt 3x dbo.Msn_Stat(id_msgrp) vor. Ich denke, das geht sicherlich eleganter.


Mittelung vom Forum


Replication. Transactional - eine Kette an Fehlermeldungen

$
0
0

Hallo Zusammen,

hat jemand Erfahrungen im Behandlung von Replications Peroblemen solcher Art? Besteht ein Zusammenhang zw. den ersten Fehlermeldung und Darauffolgenden?

Im Logfile auf dem Subscriber sind keinerlei zum Ursprung passenden Einträge vorhanden

Gegeben ist eine Transactional Replication.

Publisher:

Microsoft SQL Server 2008 R2 (SP1) - 10.50.2861.0 (X64)   Aug 20 2012 19:28:58   Copyright (c) Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)

Subscriber:

Microsoft SQL Server  2000 - 8.00.760 (Intel X86)   Dec 17 2002 14:22:05   Copyright (c) 1988-2003 Microsoft Corporation  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

Seit dem 1.09 zieht sich eine Kette an Fehlermeldungen:

1.09:

Eine Zeile mit doppeltem Schlüssel kann in das xxx-Objekt mit dem eindeutigen xxx-Index nicht eingefügt werden.  The step failed.

2.09:

Eine Zeile mit doppeltem Schlüssel kann in das xxx-Objekt mit dem eindeutigen xxx-Index nicht eingefügt werden.  The step failed.

3.09:

Eine Zeile mit doppeltem Schlüssel kann in das xxx-Objekt mit dem eindeutigen xxx-Index nicht eingefügt werden.  The step failed.

4.09:

Die Abonnements wurden als inaktiv markiert und müssen erneut initialisiert werden. NoSync-Abonnements müssen gelöscht und neu erstellt werden.

5.09:

Die Abonnements wurden als inaktiv markiert und müssen erneut initialisiert werden. NoSync-Abonnements müssen gelöscht und neu erstellt werden.

5.09:

Die Zeile konnte bei der Anwendung des replizierten Befehls auf dem Abonnenten nicht gefunden werden.

Dank und Gruß

Irina


Irina

SQL 2016: Vermisse Verbindungstyp Oracle

$
0
0

Hallo,

wir haben vor unseren Reportserver auf 2016 zu migrieren. Wir haben nun festgestellt, dass dort der gewohnte Datenbankverbindungstyp Oracle nicht verfügbar ist. Wir konnten uns zwar teilweise über eine OLEDB-Verbindung die Funktionalität wiederherstellen, aber nicht ganz.

Lt. der MSDN-Seite https://msdn.microsoft.com/de-de/library/ms159219.aspx?f=255&MSPPError=-2147217396 sollte dieser Typ verfügbar sein.

Wer kann uns weiterhelfen, damit wir diesen Typ auch auf der Oberfläche wieder zur Verfügung haben?

Der Oracle-Client ist bereits auf dem Server installiert und hat nach unserer Meinung auch die notwendigen Komponenten zur Verfügung.

Vielen Dank.


Gruß Chris

Problem mit CONTAINS ->Syntax error

$
0
0

Ich versuche viele Dokumente in einer filetable nach bestimmten Begriffen zu durchsuchen.

Es handelt sich um - Geburtsdaten

- Aktenzeichn

- Nachnamen

Dazu verwende ich etwas in der  Art "SELECT * FROM myfiletable WHERE CONTAINS(file_stream,<suchstring>)"

Das funktioniert nicht schlecht, schlägt aber mit einem Syntax error in der Nähe von <suchstring> fehl, falls ein >SPACE> enthalten ist.

Beispiel: Suche nach "I4711" -> geht

Suche nach "I 4711" -> Syntax error

Meine Recherchen haben ergeben, daß CONTAINS wohl den Suchstring nicht unbedingt als "I 4711" interpretieren möchte, sondern gerne als "I or 4711". Somit würde die Verknüpfung fehlen und der Syntax error wäre erklärt.

Wie aber suche ich nach exakt dem Suchstring "I 4711"? CONTAINS geht eigentlich sehr schnell während eine Suche mit LIKE '%I 4711%' elend lange dauert.

Ich schätze, daß liegt daran das CONTAINS den Volltextindex benutzt, während LIKE alles durchkämmt.

Andererseits müsste ich dann versuchen, dem Volltextindex all die Daten, Aktenzeichn und Namen einzuverleiben.

Oder mache ich da einen generellen Denkfehler ?

Zertifizierung für SQL Express

$
0
0

Wir haben eine Anwendung geschrieben, die SQL Server Express verwendet. Wir installieren das auch auf dem lokalen PC.

In einer grossen Firma hat uns der Systemadministrator allerdings mitgeteilt, dass er solche Installtionen nur dulden kann, wenn wir ein entsprechendes Zertifikat von Microsoft mitliefern.

Mir ist nicht bekannt, dass es solche Zertifikate gibt.

Wert aus gespeicherter Procedure an Report Builder

$
0
0

Hallo Experten,

ich habe ein Problem, was aber keines sein dürfte. Eine gepeichert Procedure liefert ein Output (funzt) siehe hier:

ALTER PROCEDURE [dbo].[MD_MDPERS_GET]
(
	@What as nvarchar(50),
	@Over as nvarchar(50),
	@MDPERS_ID as nvarchar(50)='',
	@Klient_ID as int = 1,
	@Output as nvarchar(100) output
)
AS
BEGIN
       ...
       return
end

Nur im Report Builder bekomme ich das Output nicht. Ich habe ein Dataset erstellt und es werden auch schön die Parameter abgefragt, das war es dann aber auch. Unter Berichtsdaten steht zwar das Dataset aber ein "Feld" oder sonstiges ist nicht da was man auf den Bericht ziehen können. Es gibt zwar einen Parameter"Output", der ist aber immer leer ?!?! Also, ihr seht null Durchblick ...

Vielen Dank vorab für Eure Hilfe ... Monarch

SSAS - MDX: Ausblenden von Werten in bestimmten Elementkombinationen

$
0
0

Hallo zusammen,

für ein Projekt innerhalb unseres BI-Systems ist es gewünscht einen Betriebsabrechnungsbogen, den es derzeit nur im SAP über den Report Painter gibt, nachzubilden.

Die Datenherkunft ist schon geklärt und die Daten sind auch bereits im BI-System. So weit, so gut.

Für die korrekte Darstellung wurde eine Kostenartenhierarchie angelegt, über die verschiedene Kostenarten zusammengefasst werden zu Kostenartengruppen.

Grundsätzlich werden anhand des BAB Kostenstellen ausgewertet. Für einzelne Kostenstellen sind die Ergebnisse korrekt dargestellt.

Hier beginnt das eigentliche Problem. Die Kostenstelle 4711 IT verrechnet Kosten an andere Kostenstellen, teilweise auch an andere IT Kostenstellen. Da es für die Kostenstellen auch eine Hierarchie gibt, werden so mehrere IT Kostenstellen zu einer IT-Gruppe zusammengefasst. Will man nun auswerten wie viel Kosten von der Gruppe an andere Kostenstellen verrechnet wurden, sollen die Kosten die innerhalb der Kostenstellengruppe IT verrechnet wurden NICHT dargestellt werden.

Folgendes Beispiel:

4711 IT verrechnet an 5711 Produktion 100 € und an 4712 IT-ERP 100 €.

Bei der Auswertung für die Kostenstelle 4711 sollen jetzt als Verrechnung an andere Kostenstellen 200 € ausgewiesen werden.

Wertet man jetzt aber die IT-Kostenstellengruppe (Kostenstellen 4711 und 4712) aus, sollen nur noch die 100 € die an die Kostenstelle 5711 verrechnet wurden dargestellt werden.

Gibt es eine Möglichkeit, dies über MDX oder auch gerne eine andere Möglichkeit, zu realisieren?

Ich tappe an dieser Stelle derzeit leider sehr im Dunkeln.

Freundliche Grüße

MuenchM


Cluster index & SSRS: Was bringt er in meinem Fall und wie setzte ich ihn auf?

$
0
0

Hallo zusammen,

ich habe unter SSRS div. relationale Berichte laufen, die recht langsam geworden sind. Die Endabfrage gibt 70.000 Datensätze aus und läuft ca. 3 Sekunden und basiert auf Subabfragen. Eine neue Extratabelle möchte ich nicht erzeugen. Die Berichte hingegen sind mit mehreren Datasets recht langsam und brauchen teilweise bis 25Sek. Die Basistabellen haben einen Index. Due Basistabellen werden täglich per truncate gelöscht und neu gefüllt.

So wie ich es verstanden habe, wird beim clustered index das Ergebnis der Abfrage morgens einmal erstellt, so dass ich hier nicht bei jedem select erneut die Abfrage durchführe, also ähnlich wie bei der Cubeaufbereitung.

Frage:

1.) Ist in meinem Fall mit einer deutlichen Performanceverbesserung zu rechnen, da die basierende Abfrage nur 3 Sek. für den Durchlauf braucht? Führt SSRS die Datasets parallel aus oder warum kann ein Bericht so lange brauchen (Gruppierungen sind minimal)?

2.) Wie erstelle ich das ganze bzw. habe ich den Sachverhalt überhaupt verstanden. Gerne hätte ich ein einfaches Beispiel wie sowas erstellt wird, denn create unique clustered index Vw_Test on (Schlüsselfeld1, Schlüsselfeld2, Schlüsselfeld3, usw.) geht nicht. Leider fehlt mir hier der Zusammenhang oder ein einfaches Beispiel für mein Verständnis.

Vielen Dank.

Gruß Chris


Validierung mithilfe von Data Quality Services

$
0
0

Liebe Forenmitglieder,

ich habe eine allgemeine Frage hinsichtlich den Data Quality Services von MSSQL. Meiner Recherche nach ist es weder möglich Beziehungen von Validierungsregeln herzustellen, mithilfe einer Programmierschnittstelle weitere Funktionalitäten hinzuzufügen (wie zum Beispiel bei Drools). [Ergo: DQS ist sehr begrenzt und reicht für komplexe Validierungsherausforderungen nicht aus - die Validierungsregeln verändern sich ständig).
Um nicht eventuell etwas übersehen zu haben, möchte ich nachfragen ob diese Informationen bestätigt werden können, ob es Erweiterungsmöglichkeiten gibt und ob Andere Tools bekannt sind, die sich bewährt haben.

Viele liebe Grüße

A_Frosch


Service broker von MS SQL Server ist nach eine Zeit nicht mehr ansprechbar

$
0
0

Wir benutzten in unsere software Service Broker um die Enderungen in datenbank mitzukriegen.(wir benutzten ADO).Nach gewisse zeit (in Betrieb einige Tage, in entwicklung system wochen). Ist den Broker nicht mehr Ansprechbar, und man muss dem wieder einschalten. Es gibt kein Grund, dem wir für auschalten (abstürtzen) von Service Broker herausfinden könnten.

Hat jemand vieleicht eine Idee woran es liegen könnte? Den Datenbank wird direkt von mehreren Clents(Desktop anwendungen) angesprochen werden. Die verbindngen werden normale weise nicht gespeichert und jedes mal neu aufgebaut.(Wegen nebenläufigkeit)

sql convert datum in woche

$
0
0

Guten Morgen zusammen,

ich möchte die Daten eine resultierende Tabelle (LieferTermin) in eine andere tabelle (Lieferwoche) conventieren.

Ich habe im Netz die funcktion 

Datepart und dbo.fn_ISOweek(Datum) gelesen und probiert aber es fincktioniert nicht. 

Anbei den code beispiel und die Fehlermedung

Select Tabelle1.ID,
  (Select Top 1 Min(Tabelle2.Liefertermin)
  From Tabelle2
  Where Tabelle2.ID =
    Tabelle1.ID) As Liefertermin
	dbo.fn_ISOweek([Liefertermin]) As [Lieferwoche] -- fehler :Die dbo-Spalte oder die benutzerdefinierte Funktion bzw. das benutzerdefinierte Aggregat 'dbo.fn_ISOweek' wurde nicht gefunden, oder der Name ist mehrdeutig.
	DatePart(Liefertermin, GetDate()) As [Lieferwoche] --'Liefertermin' wird nicht als Option für datepart erkannt.
	From Tabelle1
Where Tabelle1.Mandant =1
Hat jemand eine Idee? Danke im Vorraus

Aus Datenbankabfrage .docx, xlsx und .pdf generieren.

$
0
0

Hallo Entwicklergemeinde,

ich absolviere derzeit eine Ausbilfung zum Fachinformatiker AE.

Zur Zeit befinde ich mich im Praktikum und habe folgende Aufgabe.

Ich soll eine Möglichkeit finden, aus einer Webanwendung heraus (auf IIS 6) und MS SQL Server, zur Zeit noch 2005, Dokumente wie .docx, .xslx und auf jeden Fall noch .pdf generieren zu lassen.

Benutzer klickt quasi auf einen Link, daraufhin wird eine Abfrage an den SQL Server gesendet und ein XML-String zurück gegeben.

Habe bereits mit openXML und C# experimentiert und Inhalt eines .docx geändert bzw. ein neues Dokument erzeugt, was mir aber etwas umständlich scheint.

Nun meine Frage, hat jemand einen Tipp für mich?

Gibt es eventuell irgendwelche Tools, die man z.B. per Kommandozeile ansteuern kann, um solche Dokumente zu erstellen? Dieses Tool muss nicht unbedingt kostenlos sein, wenn es meinen/unseren Vorstellungen entspricht.

Wichtig ist eigentlich nur, das es auf/ab Windows Server 2003 Enterprise Edition x64 und MS SQL Server 2003 läuft.

Ich danke euch vielmals für Eure Tipps.

Grüße Mathias


Slowly Changing Dimension mit SSIS

$
0
0

Hallo BI Entwickler,

soweit ich feststellen könnte, bei der SCD-Type2 kann man zwischen zwei Verlaufsattribute unterscheiden:

a) Einzelne Spalte zum Anzeigen der aktuellen und abgelaufenen Datensätze verwenden.

b) Start- und Enddatum zum Identifizieren aktueller und abgelaufenen Datensätze verwenden.

in meinem Beispiel kriege ich entweder das Datum gesetzt oder das Flag. gibt es einen Möglichkeit sowohl das Datum als auch das Flag der jeweilige DS zu setzte? (siehe Angang) 

SCD

wünsch Ergebnis:

Ergebnis

Danke und Viele Grüße

Fabi

SQL Reporting Services 2016 & Sharepoint 2016

$
0
0

Hallo liebe Community,

ich versuche gerade, die Reporting-Services (SQL 2016) unter Sharepoint 2016 zum Laufen zu bekommen.
Reporting Services sind im Sharepoint-integrated-Modus installiert, Anwendungs-Dienst läuft.

Aber:
ich versuche, einen Report mit einer Sharepoint-Liste als Datenquelle zu erstellen.
Bereitstellen in der Sharepoint-Bibliothek funktioniert, aber beim Aufruf des Berichts erscheint die Meldung:
"Fehler bei der Berichtsverarbeitung. (rsProcessingAborted). Die Verbindungszeichenfolge ist ungültig. (rsSPDataProviderError)"

Als Anmeldeinformationen der Datenquelle habe ich "Windows-Authentifizierung verwenden (integrierte Sicherheit) gewählt, aber auch mit allen anderen Einstellungen funktioniert der Bericht nicht.
Im Vorschaufenster des Visual Studios wird der Bericht korrekt angezeigt.

Hat vielleicht jemand schon diese Kombination zum Laufen bekommen und kann mir hier weiterhelfen?

Güßle Steffi_H

Snapshots für Replikation

$
0
0

Hallo,

ich bin immer noch am Experimentieren mit der Replikation zwischen zwei 2008R2 Standard-Servern.

Ein Frage habe ich zur Ergänzung der Replikation um neue Tabellen. Irgendwo in der MS-Hilfe habe ich als Vorgehensweise gelesen, dass ich in den Eigenschaften der Replikation der Replikation die neue Tabelle anhake und dann einfach den Snapshot-Agent starte. So weit so gut.

Wenn aber etwas Zeit zwischen den Snapshots liegt, erstellt er nicht nur die Momentaufnahme der neuen Tabelle sondern ein komplettes Abbild aller Tabellen der Replikation. Das sind in meinem Fall viele Daten und dauert dann auch mehrere Stunden. Lässt es sich irgendwie konfigurieren, dass er nur einen Snapshot der neu hinzugekommenen Tabelle macht?

Gruß Ulf


SQL Reporting Services SSRS Einen Parameter als komplette where Bedingung übergeben

$
0
0

Hallo zusammen,

ich bin gerade am evaluieren einer SSRS Report Anforderung, welche einen Report zur Verfügung stellt wo der Parameter eine komplette where Bedingung bereitstellt. Diese Bedingung würde als Parameter dann innerhalb des Reports diese Daten dann einschränken.

Daher die Frage: Ist es möglich, eine komplette where Bedingung als Reportparameter zu übergeben?

Ich kenne nur folgende Möglichkeit den Parameter zu verwenden:

select * from Tabelle where Spalte = @Parameter

Ich hätte gerne folgende Konsellation abgebildet:

select * from Tabelle @Parameter

Würde denn auch folgendes funktionieren?

select * from @Parameter

Kann so etwas ggf. mit einem Subreport realisiert werden? Wenn ja wie geht das?

Ich würde mich über eine Antwort sehr freuen!

Gruß zingo255



Authentifizierungsmechanismen

$
0
0

Hallo,

auf meinem lokal installierten SQL Server 2012 ist die Serverauthentifizierung "SQL Server- und Windows-Authentifizierung" konfiguriert.

Bei den Anmeldungen ist kein Domänen-User aufgeführt.

Meine lokal ausgeführte Anwendung kann mittels der Windows-Authentifizierung eine ODBC Connection öffnen.

Ich verstehe nicht warum dies möglich ist. Mein Domänen-Account, unter welchem die lokale Anwendung ausgeführt wird, ist nicht bei den Anmeldungen des SQL Servers aufgeführt.
Kann mir das jemand bitte erklären?

Danke,
Christian

Service Broker: Queue deaktiviert sich trotz error handling

$
0
0

Hallo zusammen,

ich habe Probleme mit meinem Service Broker, der sich aus mir unbekannten Gründen, hin und wieder deaktiviert. Folgende Informationen finde ich im Log:

The current transaction cannot be committed and cannot support operations that write to the log file. Roll back the Transaction

Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1

Hier mal meine Prozeduren, offenbar mache ich das error handling falsch. Weiß jemand, wie ich das verbessern kann?

CREATE PROCEDURE [dbo].[Start_Queue]
AS
BEGIN
	SET NOCOUNT ON;

	DECLARE @tableMessages TABLE
	(
		nachricht_typ sysname
		, nachricht xml
		, handle uniqueidentifier
		, queuing_order BIGINT
	);

	DECLARE cursorMessages CURSOR FORWARD_ONLY READ_ONLY FOR SELECT nachricht_typ, nachricht, handle FROM @tableMessages ORDER BY queuing_order;

	DECLARE @conversation_handle UNIQUEIDENTIFIER;
	DECLARE @nachricht XML;
	DECLARE @nachricht_typ sysname;

	BEGIN TRY
		WHILE (1=1)
		BEGIN
			BEGIN TRANSACTION UndoReceive;

			WAITFOR
			(
				RECEIVE
					message_type_name
					, message_body
					, conversation_handle
					, queuing_order
				FROM Async_Start_Queue
				INTO @tableMessages
			), TIMEOUT 1000;

			IF (@@ROWCOUNT = 0)
			BEGIN
				IF @@TRANCOUNT > 0 -- transaction is committable
				BEGIN
					COMMIT TRANSACTION;
				END

				BREAK;
			END

			OPEN cursorMessages;

			WHILE (1=1)
			BEGIN
				FETCH NEXT FROM cursorMessages INTO @nachricht_typ, @nachricht, @conversation_handle;

				IF (@@FETCH_STATUS != 0)
					BREAK;

				IF @nachricht_typ = N'AsyncRequest'
				BEGIN
					DECLARE @uid uniqueidentifier = NEWID();

					INSERT INTO dbo.ServiceBroker ([uid], start, nachricht) VALUES (@uid, sysdatetime(), @nachricht);

					EXEC [dbo].[proc_test];

					IF @@ERROR <> 0
					BEGIN
						ROLLBACK TRANSACTION UndoReceive;

						-- Kommunikation beenden
						END CONVERSATION @conversation_handle WITH ERROR = 127 DESCRIPTION = 'Unable to process message.';
					END;

					-- Antwort senden
					SET @nachricht = CAST(REPLACE(REPLACE(CAST(@nachricht AS NVARCHAR(max)), '<AsyncRequest>', '<AsyncResponse uid="' + CONVERT(varchar(255), @uid) + '">'), '</AsyncRequest>', '</AsyncResponse>') AS XML);

					SEND ON CONVERSATION @conversation_handle
					MESSAGE TYPE [AsyncAntwort] (@nachricht);
				END
				ELSE IF (@nachricht_typ = 'http://schemas.microsoft.com/SQL/ServiceBroker/Error' OR @nachricht_typ = 'http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog')
				BEGIN
					END CONVERSATION @conversation_handle;
				END;
			END

			CLOSE cursorMessages;

			DELETE FROM @tableMessages;

			IF @@TRANCOUNT > 0 -- transaction is committable
			BEGIN
				COMMIT TRANSACTION;
			END
		END
	END TRY
	BEGIN CATCH
		INSERT INTO dbo.ServiceBrokerErrorLog (nachricht) VALUES (ERROR_MESSAGE());

		IF @@TRANCOUNT > 0 -- transaction is committable
		BEGIN
			COMMIT TRANSACTION;
		END
	END CATCH

	DEALLOCATE cursorMessages;
END
GO

CREATE PROCEDURE dbo.End_Queue
AS
BEGIN
	SET NOCOUNT ON;

	DECLARE @tableMessages TABLE
	(
		nachricht_typ sysname
		, nachricht xml
		, handle uniqueidentifier
		, queuing_order BIGINT
	);

	DECLARE cursorMessages CURSOR FORWARD_ONLY READ_ONLY FOR SELECT nachricht_typ, nachricht, handle FROM @tableMessages ORDER BY queuing_order;

	DECLARE @conversation_handle UNIQUEIDENTIFIER;
	DECLARE @nachricht XML;
	DECLARE @nachricht_typ sysname;

	BEGIN TRY
		WHILE (1=1)
		BEGIN
			BEGIN TRANSACTION;

			WAITFOR
			(
				RECEIVE
					message_type_name
					, message_body
					, conversation_handle
					, queuing_order
				FROM Async_End_Queue
				INTO @tableMessages
			), TIMEOUT 1000;

			IF (@@ROWCOUNT = 0)
			BEGIN
				ROLLBACK TRANSACTION;

				-- Kommunikation beenden
				END CONVERSATION @conversation_handle;
				BREAK;
			END

			OPEN cursorMessages;

			WHILE (1=1)
			BEGIN
				FETCH NEXT FROM cursorMessages INTO @nachricht_typ, @nachricht, @conversation_handle;

				IF (@@FETCH_STATUS != 0)
					BREAK;

				IF @nachricht_typ = N'AsyncResponse'
				BEGIN
					DECLARE @uid uniqueidentifier = @nachricht.value('(AsyncResponse/@uid)[1]', 'NVARCHAR(MAX)');

					-- Beendigung der Kommunikation protokollieren
					UPDATE dbo.ServiceBroker SET ende = sysdatetime() WHERE [uid] = @uid;

					-- Kommunikation beenden
					END CONVERSATION @conversation_handle;
				END
				ELSE IF (@nachricht_typ = 'http://schemas.microsoft.com/SQL/ServiceBroker/Error' OR @nachricht_typ = 'http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog')
				BEGIN
					END CONVERSATION @conversation_handle;
				END;
			END

			CLOSE cursorMessages;

			DELETE FROM @tableMessages;

			IF @@TRANCOUNT > 0 -- transaction is committable
			BEGIN
				COMMIT TRANSACTION;
			END
		END
	END TRY
	BEGIN CATCH
		INSERT INTO dbo.ServiceBrokerErrorLog (nachricht) VALUES (ERROR_MESSAGE());

		IF @@TRANCOUNT > 0 -- transaction is committable
		BEGIN
			COMMIT TRANSACTION;
		END
	END CATCH
END
GO
Ich habe die Prozeduren auf das wesentliche gekürzt und hoffe dadurch keine anderen Fehler eingebaut zu haben.

Viele Grüße

webbie

Zugriffsrechte mit/ohne Ececute

$
0
0
Hallo zusammen,

ich habe ein Verständnisproblem.

Ich möchte den direkten Zugriff auf einige Daten unterbinden und über stored procedures steuern wer was machen darf.
Im folgenden hat der angemeldete Benutzer keine select-Rechte auf die view vPAB_Rechnung_Std.
Darum erhalte ich auch erwartungsgemäß einen Fehler, wenn ich in der SP
    exec('SELECT * FROM vPAB_Rechnung_Std WHERE id = ' + @intId);
aufrufe.

Wenn ich aber den Aufruf in
    SELECT * FROM vPAB_Rechnung_Std WHERE id = @intId;
ändere, bekome ich keinen Fehler.

Ist das richtig?

Division

$
0
0

Hi,

ich benutze normalerweise eine ORACLE Datenbank.

Aber meiner SQLServer DB habe ich eine einfache Division eingegeben

SELECT 36/8

Das Ergebnis hat mich doch überrascht. Ich hatte 4.5 erwartet, aber nur 4 zurück erhalten. Was muss ich eingeben, um das richtige Ergebnis zu erhalten?

Danke für eure Hilfe

Siegwin

Viewing all 1772 articles
Browse latest View live


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