SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Crosslist SPDataSource liefert zu wenig Zeilen

Unbeantwortet Dieser Beitrag hat 2 Antworten

Ohne Rang
2 Beiträge
BenjaminKrueger erstellt 13 Juni 2012 16:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Zusammen,

wollte in einem DataFormWebPart eine Zusammenfassung aller Aufgaben immerhalb einer SiteCollection darstellen. Folgender Caml-Query soll die Daten liefern.

<View>
 <Webs Scope="Recursive"></Webs>
 <Lists ServerTemplate="107" BaseType="0"></Lists>
 <Viewfields>
  <FieldRef Name="Title"/>
  <FieldRef Name="Body"/>
  <FieldRef Name="Status"/>
  <FieldRef Name="EncodedAbsUrl"/>
  <FieldRef Name="FileDirRef"/>
  <FieldRef Name="StartDate"/>
  <FieldRef Name="DueDate"/>
  <FieldRef Name="EncodedAbsUrl"/>
 </Viewfields>
 <Query>
  <Where>
   <And>
    <Eq><FieldRef Name="AssignedTo"/><Value Type="Integer"><UserID/></Value></Eq>
    <Neq><FieldRef Name="Status"/><Value Type="Text">Abgeschlossen</Value></Neq>
   </And>
  </Where>
  <OrderBy>
   <FieldRef Name="DueDate" Ascending="TRUE"/>
  </OrderBy>
 </Query>
</View>

Leider funktioniert das nicht so richtig. Teilweise werden die Daten angezeigt. Teilweise aber auch nicht. Und manche Daten, die schon angezeigt wurden, verschwinden nach einer Weile.
Da alle Aufgabenlisten gleich aufgebaut sind, stellt sich mir die Frage ob es für derartige Abfragen Einschränkungen gibt. Es dreht sich insgesamt um rund 10.000 DS aus 220 Listen.

Hat mir da vielleicht jemand einen Tip, was Schuld an diesem Verhalten sein kann? Irgendwie finde ich nichts, wo ich drehen könnte um alle Datensätze pro Benutzer anzuzeigen.

Gruß + Danke

Beni

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Juni 2012 17:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

In der Zentraladministration bei den Webanwendungen -> "Resource throttling"

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
2 Beiträge
BenjaminKrueger Als Antwort am 14 Juni 2012 11:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Da sollte alles richtig eingestellt sein. Wir haben ein paar große Listen.

Hab mal das ULS-Log angesehen.

Da kommen folgende Meldungen nach dem Aufruf der Seite:

A large block of literal text was sent to sql.  This can result in blocking in sql and excessive memory use on the front end. Verify that no binary parameters are being passed as literals, and consider breaking up batches into smaller components. If this request is for a SharePoint list or list item, you may be able to resolve this by reducing the number of fields.

Kurz danach:

Slow Query StackTrace-Managed:    bei Microsoft.SharePoint.Utilities.SqlSession.OnPostExecuteCommand(SqlCommand command, SqlQueryData monitoringData)     bei Microsoft.SharePoint.Utilities.SqlSession.ExecuteReader(SqlCommand command, CommandBehavior behavior, SqlQueryData monitoringData, Boolean retryForDeadLock)     bei Microsoft.SharePoint.SPSqlClient.ExecuteQueryInternal(Boolean retryfordeadlock)     bei Microsoft.SharePoint.SPSqlClient.ExecuteQuery(Boolean retryfordeadlock)     bei Microsoft.SharePoint.Library.SPRequestInternalClass.CrossListQuery(String bstrUrl, String bstrXmlWebs, String bstrXmlLists, String bstrXmlQuery, ISP2DSafeArrayWriter pCallback, Object& pvarColumns)     bei Microsoft.SharePoint.Library.SPRequest.CrossListQuery(String bstrUrl, String bstrXmlWebs, String bstrXmlLists, String bstrXmlQuery, ISP2DSafeArrayWriter pCallback, Object& pvarColumns)     bei Microsoft.SharePoint.SPWeb.GetSiteData(SPSiteDataQuery query)     bei Microsoft.SharePoint.WebControls.SPDataSourceView.ExecuteSelect(DataSourceSelectArguments selectArguments, String aggregateString, Boolean wantReturn, BaseXsltListWebPart webpart, SPListItem& listItem, SPListItemCollection& listItems, String[]& fieldList)     bei Microsoft.SharePoint.WebControls.SPDataSourceView.ExecuteSelect(DataSourceSelectArguments selectArguments)     bei System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)     bei Microsoft.SharePoint.WebControls.SingleDataSource.GetXPathNavigatorInternal()     bei Microsoft.SharePoint.WebControls.SingleDataSource.GetXPathNavigator()     bei Microsoft.SharePoint.WebPartPages.DataFormWebPart.GetXPathNavigator(String viewPath)     bei Microsoft.SharePoint.WebPartPages.DataFormWebPart.PrepareAndPerformTransform(Boolean bDeferExecuteTransform)     bei Microsoft.SharePoint.WebPartPages.DataFormWebPart.PerformSelect()     bei Microsoft.SharePoint.WebPartPages.DataFormWebPart.DataBind()     bei Microsoft.SharePoint.WebPartPages.DataFormWebPart.EnsureDataBound()     bei Microsoft.SharePoint.WebPartPages.DataFormWebPart.CreateChildControls()     bei System.Web.UI.Control.EnsureChildControls()     bei System.Web.UI.Control.PreRenderRecursiveInternal()     bei System.Web.UI.Control.PreRenderRecursiveInternal()     bei System.Web.UI.Control.PreRenderRecursiveInternal()     bei System.Web.UI.Control.PreRenderRecursiveInternal()     bei System.Web.UI.Control.PreRenderRecursiveInternal()     bei System.Web.UI.Control.PreRenderRecursiveInternal()     bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)     bei System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)     bei System.Web.UI.Page.ProcessRequest()     bei System.Web.UI.Page.ProcessRequest(HttpContext context)     bei System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()     bei System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)     bei System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)     bei System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)     bei System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)     bei System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)     bei System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)     bei System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)     bei System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)

Lässt dann wohl eher auf ein Kommunikationsproblem mit dem SQL Server schliessen. Aber eigentlich sind das doch keine großen Datenmengen, die da angefragt werden. Hab auch mal die 'Body'-Fieldref rausgenommen. Das Problem bleibt das gleiche.

Gruß

Beni