[Gelöst] SQL 2008 Standard oder Enterprise für NAV 5.0?

10. Dezember 2008 17:47

Hallo,

das ist dann meine letzte Frage zu dem Thema Navision und SQL 2008 :-)

Der SQL Server 2008 Standard ist ja im Vergleich zu einer SQL Server 2008 Enterprise Version sehr günstig. (nur 5800 € statt 22.000).

Bringt mir der SQL Server Enterprise bezogen auf Navisin denn so viel mehr??? Soweit ich das gesehen habe unterstützt der Standard keine indexed_Views, inwieweit ist das wichtig??

Viele Grüße

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

10. Dezember 2008 22:53

Indexed Views werden auch von der Standard Edition unterstützt. Wahrscheinlich sogar von (fast) jeder Edition. Die Enterprise Edition ist aber die einzige, die, wenn nicht direkt abgrefragt, auch zu Tabellen gehörige Indexed Views in die Abfrageoptimierung mit einbezieht um auch aus View Sicht indirekte Abfragen zu optimieren. NAV selbst nutzt die Indexed Views aber direkt, so dass dieses Feature im Zusammenhang mit NAV nicht benötigt wird.

Aber bezogen auf andere Features solltet ihr euch vor der Anschaffung sehr genau alle Aspekte des SQL Server Betriebs überlegen. Sprich Skalierbarkeit, Backup-Volumen, Online (Re-)Indexierung, transparente Verschlüsselung - um nur einige Dinge zu nennen.

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

10. Dezember 2008 23:14

Hallo Tesarolle,

bei deiner Datenbankgröße ist sicherlich die Enterprise- Edition das Maß der Dinge (Partitionierung, Datensicherung/Restore,...). Da die 5.0 SP1 nicht mehr mit SIFT-Tabellen sondern SIFT-Views arbeitet, könnte ich mir vorstellen, dass man die Zugriffe auf die Flowfields mit den Indexed VIews an NAV vorbei beschleunigen kann (Müsste man mal testen :wink: ).

Gruß, Fiddi

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

11. Dezember 2008 10:42

@SilverX

laut MSSQL- Vergleich der Editionen gibt es in 2008 bei der Standard keine indexed Views :!: :?:

Gruß, Fiddi

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

11. Dezember 2008 14:14

fiddi hat geschrieben:@SilverX

laut MSSQL- Vergleich der Editionen gibt es in 2008 bei der Standard keine indexed Views :!: :?:


Hmm, stimmt. Die Feature Matrix sagt zwar etwas anderes aus, aber offensichtlich stimmt die/meine Aussage nicht so ganz.

Die Standard Edition greift in keinem Fall auf eine angelegte Indexed View zu (Execution Plan), selbst wenn ich die Indexed View selbst angebe. Auf der anderen Seite wird die Indexed View von der Enterprise Edition in beiden Fällen genutzt. Standard war hier allerdings SQL Server 2008, Enterprise bzw. Developer Edition 2005. Hoffe das verzerrt nichts.

Folgendes T-SQL Script habe ich in beiden Editionen getestet:

Code:
CREATE VIEW
   [dbo].[TestIndexedView]
WITH SCHEMABINDING AS
SELECT     COUNT_BIG(*) "$Cnt", [Item No_], [Location Code], SUM([Sales Amount (Actual)]) AS SalesAmount, SUM([Cost Amount (Actual)]) AS CostAmount
FROM         dbo.[CRONUS AG$Value Entry]
GROUP BY [Item No_], [Location Code]
GO

/****** Object:  Index [VSIFTIDX]    Script Date: 12/11/2008 10:09:57 ******/
CREATE UNIQUE CLUSTERED INDEX [TestIndexedViewIndex] ON [dbo].[TestIndexedView]
(
   [Item No_] ASC,
   [Location Code] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [Data Filegroup 1]
GO


select [Item No_], [Location Code], SUM([Sales Amount (Actual)]) AS SalesAmount, SUM([Cost Amount (Actual)]) AS CostAmount
from dbo.[CRONUS AG$Value Entry]
GROUP BY [Item No_], [Location Code]
order by [Item No_], [Location Code]
go

select * from TestIndexedView
order by [Item No_], [Location Code]


Die Ausführungspläne sieht man in den angehängten Grafiken. Ich bin nun selbst etwas ratlos, warum auch im Fall der Abfrage direkt auf die Indexed View diese nicht benutzt wird...

Herr Stryk, ihr Einsatz :D
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

12. Dezember 2008 00:28

Ok, hat mir keine Ruhe gelassen. Hab noch kurz recherchiert und ggf. einen Hinweis gefunden den ich morgen prüfe. Sichwort NOEXPAND: Improving Performance with SQL Server 2005 Indexed Views.

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

12. Dezember 2008 09:05

Hallo Leute,

na Silver da habe ich eine kleine Lawine ausgelöst was :-)

Also in unserem konkreten Fall planen wir die Umstellung einer NAV 2.60 db auf SQL 2008 mit 5.0 SP1, die DB ist 100 GB groß. Da wir auch ein neues SAN anschaffen mit 20 platten und extremem Datendurchsatz sowie doppel quads mit 32 gig ram wird die Sicherung und Restore nicht das Problem sein. Ich bin mir noch nicht mal sicher ob die indexed views ob sie nun genutzt werden oder nicht überhaupt eine rolle spielen werden bei der vorgesehen hardwareausstattung.

Anderseits würde mich natürlich interessieren welchen nachteil dieser umstand hat, enterprise vs standard mit nav 5.0 sp 1 :-)

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

12. Dezember 2008 10:16

So. Hab heute morgen noch kurz geschaut. Fakt ist, dass meine erste Aussage grundsätzlich stimmt, allerdings der Hint NOEXPAND in der Standard Edition angegeben werden muss, um die Indexed View wirklich zu benutzen. Beispiel:

Code:
select * from TestIndexedView with(NOEXPAND)
order by [Item No_], [Location Code]


Obiger Code nutzt die Indexed View wie angegeben. Wichtig ist hier der Hint NOEXPAND, der von NAV aber verwendet wird:

Code:
ValueEntry.SETCURRENTKEY("Item No.","Valuation Date","Location Code","Variant Code");
ValueEntry.SETRANGE("Item No.", '1100');
ValueEntry.CALCSUMS("Cost Amount (Actual)");

Daraus wird unter anderem folgende Cursorvorbereitung:

declare @p1 int
set @p1=97
exec sp_prepexec @p1 output,N'@P1 varchar(20)',N'SELECT SUM("SUM$Cost Amount (Actual)") FROM dbo."CRONUS AG$Value Entry$VSIFT$6" WITH (READUNCOMMITTED, NOEXPAND )   WHERE (("Item No_"=@P1))','1100'
select @p1


Das bedeutet, dass, speziell das Feature der Indexed Views auch auf der Standard Edition des SQL 2008 von NAV genutzt wird.

Der Nachteil der Standard Edition ist halt, dass einige der (aus meiner Sicht) nicht unwichtigen Features der Enterprise Edition (weiter oben genannt), nicht enthalten sind oder nur im "kleineren Rahmen" implementiert.

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

12. Dezember 2008 11:40

Hallo SilverX,

hab da noch mal was bei Waldoausgegraben.

Gruß, Fiddi

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

12. Dezember 2008 12:51

... und noch was dazu: http://blogs.msdn.com/microsoft_dynamics_nav_sustained_engineering/archive/2008/05/14/index-view-matching-dynamics-nav-5-0-sp1.aspx

Re: SQL 2008 Standard oder Enterprise für NAV 5.0?

14. Dezember 2008 02:34

Danke Leute, das bestätigt was ich vermutet habe. Es bringt im Zusammenhang mit einer NAvision DB keinen vorteil den enterprise zu haben (nur bezogen auf die indexed views) Standard reicht also. Da Navision die Tabellen und indexed views direkt anspricht, vielen Dank!