Sharepoint 2010 List Item Stored in SQL - column optimalization

Hi guys,
I would like to ask you whether you know how are stored, optimalized or recalculated SQL tables where are sharepoint list items stored. I know that sharepoint has the limits how many text, number, boolean and datetimes columns can list item have to be stored
on one row in SQL table. Let's asume this scenario: I have large list, more than 50 thousand items, and I have more columns in each item, so each item is stored on 3 rows in SQL table. When the list had few items, everything was smooth, now every operation
with this list take too long so I would like to optimize the list. I can delete some unnecessary columns to satisfy the limits for storing items on one row in SQL table. Will it help to new added items? Will it help to old items which are already stored in
list and are on 3 rows in SQL? Will be this items recalculated in SQL, or is there any option how can I manage this?? 
Thanks for your ideas, any help would be appreciated

Hello, thank you for you answer and interest in my problem. My list, isn't so small, it has about 180 columns and more than 50 000 items. I have taken this project after my friend who doesn't follow list recomandations and everything worked smooth around
25 000 items, since than is working with the list rapidly slowing down. Now I need to optimize it. Yes i have increased lookup treshold and I know that queries aren't ideal, but I can not optimize them any more. And from your article I have more than 24 DateTime
fields so I guess I am wrapping it to three lines. So I would like to delete some unnecessary colums at first and try to get to at least two lines, wheather it helps a bit. Dont worry, I wont modify the tables directly in SQL :-)

Similar Messages

  • Move sharepoint 2010 list to 2013 with lookup columns

    Hi all,
    Iam planning to move my sharepoint 2010 list to 2013.I done this using save site as template.But the look up columns are showing empty data.Can u please let me know the best solution to do this.
    Regards,
    Praveen

    The reason the lookup column doesn’t work anymore in your SharePoint 2013 list is because Save
    Site as Template, preserve all the list settings. Therefore, the lookup column still points to the original list which
    was located on your SharePoint 2010 list. The lookup column stores GUID of the web, list, and the field to which it points
    and GUID are unique IDs that identifies a list/library/site/feature in a farm.
    Using SharePoint Manager you can find the LookupList, LookupWebId and LookupField of
    your old SharePoint 2010 lookup column and compare it with your new 2013 lookup column. You will see the difference.
    There are two approach to get your values in lookup again.
    1(a). Create a new list and update the lookup values.
    1(b). Delete the lookup column and create a new lookup column and point it to the new list created in the above point.
    2. Update the SchemaXml property
    of the lookup column through SharePoint Manager.
    I will provide you with a good reference on how to use SharePoint Manager while managing your lookup columns. http://blog.johnsworkshop.net/moving-lists-with-lookup-columns-inside-your-site-collection/
    Please remember to click 'Mark as Answer' and Vote as Helpful if the reply answers your query.

  • Could use some help for creating KPI for Created SharePoint 2010 List Items

    Hello All,
    I am using PPS and connecting to an SP 2010 List as a Datasource.  I'd like to create KPI's against the List showing how many items each individual has created (using the Created column) and set a goal with Indicators showing visual performance (Red,
    Yellow, Green).
    Any guidance is much appreciated!

    I concur with Scott.  Check your Recycle Bin and then also check the Site Collection Recycle Bin.  Once deleted from there, it should free up space.
    As far as the database side of things go, the database would have grown to accommodate the larger list.  If you're trying to recover space on that side of the equation, you'll need to conduct a shrink operation against the database in question.
    I trust that answers your question...
    Thanks
    C
    |
    RSS |
    http://crayveon.com/blog |
    SharePoint Scripts | Twitter |
    Google+ | LinkedIn |
    Facebook | Quix Utilities for SharePoint

  • Multiple SharePoint 2010 list items edited simultaneously in InfoPath 2010?

    I am looking to distribute a list of accounts to salespeople, so they can update some of the fields for their own accounts and save the changes back to SharePoint. We are currently sending them Excel workbooks, but this isn't ideal.  Since the requirements
    include drop-down choices, conditional formatting, and data validation, I'm wondering if InfoPath can be utilized so that a salesperson can filter the list by their name and see (only) all of their own accounts (records/rows/list items) at once in InfoPath,
    then make multiple changes to different fields (columns) for their accounts, and finally submit the form--saving multiple edited records simultaneously.  Think Datasheet View, but with conditional formatting and data validation. Is this
    possible in any application?

    Hi ired25,
    Few point to mention here.
    InfoPath form will be linked with each SharePoint List item
    user can change/update their own record using Datasheet view(validation will be applied for sure if it configured as formula)
    you can think to use edit form InfoPath form to leverage infopath's powerful rule engine, which might delayed user's productivity but very safe for data.
    I dont think a InfoPath for can handle multiple item in one single form.
    For permission you can think of "Item level permission" from list settings => Advance settings
    As a thought "Content approval" can be used for data sanity.
    Hope this will help
    Please 'propose as answer' if it helped you, also 'vote helpful' if you like this reply.

  • How to Print SharePoint 2010 list Item Version History ?

    Hi Guys  . I have a requirement to implement Print Option to get all the version for list items .
    (I know this can done with CTRL + P J) 
    is there any custom solution to add Print button to custom Version History.aspx ?
    or any other solution that may work .
    txns  

    Hi,
     If you want that functionality, you have edit the Versions.aspx page (refer the below path) and include your print button and javascript to print it. I believe this is the way you can achieve it
    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS
    If you want more information, please let us know
    Sekar - Our life is short, so help others to grow
    Whenever you see a reply and if you think is helpful, click "Vote As Helpful"! And whenever
    you see a reply being an answer to the question of the thread, click "Mark As Answer

  • Update item in SharePoint 2010 list when a entry made in SQL server

    Hi there,
    I have four lists on a SharePoint 2010 site. There is a column - Equipment Name - in each of the lists. I want only this column to be updated in all the lists, when a new entry is made in SQL server.
    I referred
    http://oszakiewski.net/eric/connecting-a-sharepoint-2010-list-to-external-database-table and found it good, however I want to only update one column and not to perform CRUD. Also, can it be possible to achieve this without referring to Central Administration
    settings?
    Thanks

    Hi,
    Let’s verify the following:
    Whether your four lists are external list with SQL Server data source. If not, you can’t sync the list with SQL Server.
    External list items are sync from data source, they keep sync all the time.
    Whether you aren’t want to perform CRUD in the list. You can select some of them instead of using all of them.
    You can create all of the column from the four lists in your SQL Server database table, and then create four external lists with that table as data source.
    Modify view-> in each external list check the columns which you want display in every list. Then you can update the “Equipment” column in each external list.
    Best Regards,
    Lisa Chen
    Lisa Chen
    TechNet Community Support

  • How to implement tooltip for the list items for the particular column in sharepoint 2013

    Hi,
    I had created a list, How to implement tooltip for the list items for the particular column in SharePoint 2013.
    Any help will be appreciated

    We can use JavaScript or JQuery to show the tooltips. Refer to the following similar thread.
    http://social.technet.microsoft.com/forums/en/sharepointdevelopmentprevious/thread/1dac3ae0-c9ce-419d-b6dd-08dd48284324
    http://stackoverflow.com/questions/3366515/small-description-window-on-mouse-hover-on-hyperlink
    http://spjsblog.com/2012/02/12/list-view-preview-item-on-hover-sharepoint-2010/

  • SharePoint 2010 list to SQL 2008 table

    I would like export the data from SharePoint 2010 list to SQL 2008 table.
    At work we don't have SQL integration Services.
    What is the best way to export the data without copying and paste into the table?
    Any help will be appreciated.
    simam

    Follow the article for step by step web part creation in SP 2010.
    http://www.codeproject.com/Articles/136857/Developing-Web-Parts-for-Sharepoint-2010
    http://msdn.microsoft.com/en-us/library/ms415817(v=office.14).aspx
    You use GetDataTable method to get the datatable from SPListItemCollection.
    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitemcollection.getdatatable.aspx
    Amit

  • How to insert sharepoint list item attachment to sql server db programatically

    Hi,
    I need to insert sharepoint list item attachments to sql server db programatically. Could some one suggest some approach and if any one work on it please provide the code. Thanks in advance

    hi,
    you can do it using powershell. Use the below script to loop through all the items attachments inside list.
    $web = $site.RootWeb<br />
    $Lists = $Web.Lists[$ListName]
    $Library = $web.Lists[$LibName]
    foreach($listItem in $Lists.Items)
    if($listItem.Attachments.Count -gt 0)
    Write-Host "**************************************************"
    Write-Host $listItem.Attachments.Count"Attachment(s) available in the ListItem:" $listItem.Title
    Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    $i=0
    foreach($attachment in $listItem.Attachments)<br />
    $i++
    Write-Host $i".Attachment Name:" $listItem.Attachments.UrlPrefix$attachment
    $file = $web.GetFile($listItem.Attachments.UrlPrefix+$attachment)
    Write-Host "Adding Files to Library:"$Library.Title
    $bytes = $file.OpenBinary()
    Write-Host "Successfully Added"<br /> Write-Host "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
    Write-Host "**************************************************"
    And use the below script to insert into SQL.
    #Connect to DB
    $DB = “server=MyInstanceName;integrated security=sspi;database=Bob”
    $conn = new-object System.Data.SqlClient.SqlConnection($DB)
    #Build the command and parameters
    $cmd = New-Object System.Data.SQLClient.SQLCommand
    $cmd.CommandType = [System.Data.CommandType]‘StoredProcedure‘
    $cmd.Parameters.Add(“@Col1″, [System.Data.SqlDbType]‘VarBinary‘)
    $cmd.Parameters[“@Col1″].Size = -1
    $cmd.Parameters[“@Col1″].Value = $bytes
    $sql = "INSERT INTO <table> (Col1) VALUES " + $cmd.Parameters[“@Col1″]
    #Execute the command
    $conn.Open()
    $cmd.ExecuteNonQuery()
    P.S. There may be some syntax error you have to make it work but the concept is right.
    Whenever you see a reply and if you think is helpful,Vote As Helpful! And whenever you see a reply being an answer to the question of the thread, click Mark As Answer

  • How to copy Excel sheet data to SharePoint 2010 List?

    Hi,
       I need to export excel data to SharePoint 2010 list. I have created 22 columns in list which are of following Column types:
    Single line of text,
    Multiple line of text,
    Choice
    Number,
    Date,
    Person or Group.
    Now i need to export the excel data to SharePoint list.
    When iam trying to copy data from excel to List , it is showing as "The selected cells are read only".
    can someone guide on this to export spread sheet data to SharePoint list without importing Spreadsheet.
    Thanks in advance.
    Badri

    I've updated the example of using PowerShell to include a Person field (user field) and a choice field.
    The CSV file has the following columns:
    TRIP_NO
    VESSEL_NAME
    FLAG
    AGENT_NAME
    CURRENT_LOCATION
    RPT_DATE
    EMPLOYEE
    EMPLOYEE_TYPE
    #Get the CSV file and connect to the SharePoint list
    $vessellist = import-csv -Path C:\Temp\VesselInPortReport.csv
    $l = (Get-Spweb "http://devmy101").GetList("http://devmy101/Lists/smarInPort")
    #Get the lists EmployeeType field (choice)
    $employeeType = $l.Fields["EmployeeType"] -as [Microsoft.SharePoint.SPFieldChoice]
    #Loop through the items and add them to the list
    $r = 1;
    foreach($item in $vessellist)
    $ni = $l.items.Add();
    #Add the Title, using the rows VESSEL_NAME column
    $ni["Title"] = $item.VESSEL_NAME;
    #Add the "Date Recorded" field, using the csv rows "RPT_DATE" column
    [DateTime]$rd = New-Object System.DateTime;
    if([DateTime]::TryParse($item.RPT_DATE, [ref]$rd)){
    $ni["Date Recorded"] = $rd;
    #Add the csv rows "TRIP_NO" column to the new list items "Trip Id" field (SPFieldNumber)
    [Int64]$tn = New-Object System.Int64;
    if([Int64]::TryParse($item.TRIP_NO, [ref] $tn)){
    $ni["Trip Id"] = $tn;
    #Add some other text properties
    $ni["Flag"] = $item.FLAG;
    $ni["Agent Name"] = $item.AGENT_NAME;
    $ni["Current Location"] = $item.CURRENT_LOCATION;
    #Add user information
    $ni["employee"] = $w.EnsureUser($item.EMPLOYEE); #In this case, the $item.EMPLOYEE value from the spreadsheet is a persons name. Eg. "Matthew Yarlett"
    $employeeType.ParseAndSetValue($ni,$item.EMPLOYEE_TYPE); #In this case, the $item.EMPLOYEE_TYPE value from the spreadsheet is valid choice present in the EmployeeType list field. Eg. "Manager"
    #Update the item
    $ni.Update()
    Write-Host ([String]::Format("Added record:{0}",$r));
    $r++;
    Regards, Matthew
    MCPD | MCITP
    My Blog
    Please remember to click "Mark As Answer" if a post solves your problem or "Vote As Helpful" if it was useful.
    I just added a webpart to the TechNet Gallery that allows administrative users to upload, crop and format user profile photos. Check it out here:
    Upload and Crop User Profile Photos

  • Unknow error occured while Updating Mpp file to sharepoint 2010 list

    Hi , 
    Any body can help me here whenever i am syncing any mpp file to sharepoint 2010 list  i am getting error that 
    "Please check SharePoint  site is running or not "
    Thanks
    Abhishek 
    Abhishek Tiwari

    1- once you are done with creating MPP file save as .MPP file Type in all files and store in the same site where you would like to view/see.
    3- create new project task.
    4- now open the file and start syncing give the site name only  there you will get a drop of your project task in second column which you just created.
    5- validate and start syncing .
    NOTE :- whenever you are making any modification in file make sure that you haacve saved the file  by slecting as .MPP  in all file & stored in the same site .  
    Abhishek Tiwari

  • How to populate a sharepoint 2010 list from the active directory. How to populate a sharepoint 2010 list with all sharepoint user profiles

    How to populate a sharepoint 2010 from the active directory.
    I want a list of all the computers in the active directory,
    another one with all users.
    I want also to populate a sharepoint 2010 list from the sharepoint user profiles.
    Thanks
    sz

    While
    the contacts list is usually filled out for contacts that are outside the company, there are times when you would use a contacts list to store internal and external resources.  Wouldn’t it be nice if you didn’t have to re-type your internal contacts’
    information that are already in the system?  Now you can with a little InfoPath customization on the contacts list. 
    Here’s our plan:
    Create the contacts list, and open in InfoPath
    Create a data connection to the User Profile web service
    Customize the form adding some text, a people picker and a button
    Create InfoPath rules that will populate the contact fields from the user fields in the User Profile store
    Let’s get going!  Before we begin, make sure you have InfoPath 2010 installed locally on your computer.  I also want to give credit Laura
    Rogers and Darvish Shadravan’s book Using
    Microsoft InfoPath 2010 with Microsoft SharePoint 2010 Step by Step.  I know it looks like a lot of steps, but it’s easy once you get the hang of it.
    So obviously we need a contacts list.  If you don’t already have one, go to the SharePoint site where it will live, and create a contacts list.
    From the list, click the List tab on the ribbon, then click Customize form:
    So now we have our form open in InfoPath 2010.  Let’s add our elements to the form. 
    Above all the fields, let’s add some text instructing users what to do with the the field we’re about to add (.e.g To enter an existing user’s information, choose the user below).
    Insert a people picker control by clicking the Person/Group Picker control in the Controls section of the ribbon.  This will add a column to the contacts list called group.
    Below the people picker, insert a button control from the same section of the ribbon as above.  With the button still highlighted, click the Control Tools|Properties tab on the ribbon. 
    Then in the Label box, change the text to something more appropriate to our task (e.g. Click here to load user data!).
    You can drag the button control a little larger to account for the text.
    We should end up with something like this:
    Before we can populate the fields with user data, we need to create a connection to the User Profile Service.
    Add a data connection to the User Profile Service
    Click the Data tab on the ribbon, and click the option From Web Service, and From SOAP Web Service.
    For the location, enter the URL of your SharePoint site in the following format – http://<site url>/_vti_bin/UserProfileService.asmx?WSDL.  Click Next.
    Note - for the URL, it can be any SharePoint site URL, not just to the site where your list is.
    For the operation, choose GetUserProfileByName.  Click Next.
    Click Next on the next two screens.
    On the final screen, uncheck the box for “Automatically retrieve data when form is opened”. This is because we are going to retrieve the data when the button is clicked, also for performance reasons.
    Now we need to wire up the actions on our button to populate the fields with the information for the user in the people picker control.
    Tell the form to read the user from the people picker control
    Click the Home tab on the ribbon.
    Click the button control we created, and under the Rules section of the ribbon, click Manage Rules. Notice the pane appear on the far right.
    In the Rules pane, click New –> Action. Change the name to something like “Query and load user data”.
    Leave the condition to default (none – rule runs when button is clicked).
    Click the Add button next to “Run these actions:”, and choose “Set a field’s value”.
    For Field, click the button on the right to load the select a field dialog.  Click the Show advanced view on the bottom.  At the top, click the drop down and choose the GetUserProfileByName
    (Secondary) option.  Expand myFields and queryFields to the last option and highlightAccountName.  Click ok. 
    For Value, click the formula icon. On the formula screen, click the Insert Field or Group button. Again click the show advanced view link, but this time leave the data
    connection as Main. Expand dataFields, then mySharePointListItem_RW.  At the bottom you should see a folder called group (the people picker control we just added to the form).  Expand this, then pc:Person,
    and highlightAccountId.  Click Ok twice to get back to the Rules pane.
    If we didn’t do this and just queried the user profile service, it would load the data of the currently logged in user.  So we need to tell the form what user to load the data for.  We take the AccountID field from the people
    picker control and inject into the AccountName query field of the User Profile Service data connection. 
    Load the user profile service information for the chosen user
    Click the Add button next to “Run these actions:”, and choose Query for data.
    In the popup, for Data connection, click the one we created earlier – GetUserProfileByName and clickOk.
    We’re closing in on our goal.  Let’s see our progress.  We should see something like this:
    Now that we have the user’s data read into the form, we can populate the fields in the contact form.  The number of steps to complete will depend on how many fields you want to populate.  We need to add an action step for
    each field.  I’ll show you one example and then you will just repeat the steps for the other fields.  Let’s update the Job Title field.
    Populate the contact form fields with existing user’s data
    Click the Add button next to “Run these actions:”, and choose “Set a field’s value”.
    For Field, click the button on the right to load the select a field dialog.  Highlight the field Job Title.
    For Value, click the formula icon. On the formula screen, click the Insert Field or Group button.  Click the Show advanced view on the bottom. At the top, click the
    drop down and choose theGetUserProfileByName (Secondary) option.  Expand the fields all the way down until you see the Value field.  Highlight it but don’t click ok, but click the Filter
    Data button, then Add. 
    For the first dropdown that says Value, choose Select a field or group.   The value field will be highlighted, but click the field Name field
    under PropertyData.  Click Ok. 
    In the blank field after “is equal to”, click in the box and choose Type text.  Then type the text Title. 
    Click ok until you get back to the Manage Rules pane.  The last previous screen will look like this.
    We’re going to update common fields that are in the user’s profile, and likely from Active Directory.  You can update fields like first and last name, company, mobile and work phone number, etc.  For the other fields, the
    steps are the same except the Field you choose to update from the form, and the very last step where you enter the text will change.  Here’s what the rules look like when we’re done:
    We’re all done, good work!  You can preview the form and try it now.  Click Ctrl+Shift+B to preview the form.  Once you’re satisfied, you can publish the form back to the library.  Click File –> Quick
    Publish.  Once it’s done, you will get confirmation:
    Now open your form in SharePoint.  From the contact list, click Add new item.  Type in a name, and click the button and watch the magic happen!

  • Workflow menu option not showing up in edit form or the ribbon in SharePoint 2010 list

    In a SharePoint 2010 list I created a workflow (in SPD)  and published, but in the Edit Item form, there is no Workflow option. In the ribbon, the "Workflow" button is greyed out.
    But I see this option in other lists.  Where is the setting I can get this workflow option show up in menu?
    Thanks in advance

    Hi,
    Glad to hear your issue solved and thanks for your posting!
    Best Regards,
    Eric
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • How to design SSRS report using SharePoint 2010 List Version History

    Hello,
    I am using  Sharepoint 2010 list, i need to design SSRS report using Sharepoint List Version History. Could please let me know how to design.
    Thank you.
    Kind Regards

    You could do that with SQL Server Reporting Services, Please follow the instructions from the link below:
    http://www.mssqltips.com/sqlservertip/2068/using-a-sharepoint-list-as-a-data-source-in-sql-server-reporting-services-2008-r2/
    Hope that would work fro you.
    Please Mark as Answer, if the post works for you.
    Cheers,
    Amar Deep Singh

  • Problem in Opening Attachment of Sharepoint 2010 list in new Window?

    Hi,
        I have a sharepoint 2010 list which contains attachments in list items. As per our requirement list should open in modal dialog. when users trying to open attachment from modal dialog its closing modal dialog and opening attachment in same
    window.
       Now the requirement is to open list item attachment in new window.
      I have tried with below script.
    function AttachTargetToAttachments()
     var anchors = document.getElementsByTagName("a"); 
    for (var i=0; i<anchors.length; i++) {
            var anchor = anchors[i];
            if (anchor.getAttribute("href"))
              anchor.target = "_blank";
    This is working when list item opening in separate browser(landing in different page). But when list item opened in modal popup its not working. 
    Please help.
    Thanks in advance.

    Hi,
    If this does not work in modal dialog, the workaround is to avoid to open the dispfrom.aspx page in
    modal dialog when clicking the Title field.
    You can open Allitems.aspx page using SharePoint Designer> locate the title filed <a onfocus=”onlink(this)
    …… onclick =”EditLink2(this,….)”>, remove the onclick =”EditLink2(this,{$viewcounter)}); return false;” from the tag. It will open the dispform page in normal when clicking the field.
    Xue-Mei Chang

Maybe you are looking for