which country user step here?

Tag Cloud

MOSS (47) SharePoint 2007 (37) SharePoint 2013 (23) SharePoint 2010 (22) MOSS admin (17) admin (17) PowerShell (16) developer (16) List (15) WSS (14) MOSS SP2 (13) sql query (13) end user (11) scripting (11) wss V3 (11) Moss issue (8) search (8) permission (7) sql (7) Service Pack (6) database (6) reportadmin (6) workflow (6) Excel (5) client object model (5) CU (4) Client Code (4) Command (4) Cumulative Updates (4) Patch (4) SharePoint designer (4) stsadm (4) ASP.NET (3) Content Database (3) Groove (3) Host Named Site Collections (HNSC) (3) IIS (3) RBS (3) Tutorial (3) alert (3) batch file (3) codeplex (3) error (3) incomming email (3) restore (3) upload (3) Caching (2) Folder (2) Index (2) Internet (2) News (2) People Picker (2) Share Document (2) View (2) Web Development with ASP.NET (2) authentication (2) coding (2) column (2) deploy solution (2) domain (2) download (2) enumsites (2) exam (2) export (2) issue (2) june CU (2) mySites (2) network (2) office 365 (2) orphan site (2) performance (2) profile (2) project server (2) query (2) server admin (2) theme (2) timer job (2) training (2) user porfile (2) web master (2) web.config (2) wsp (2) 70-346 (1) 70-630 (1) AAM (1) Anonymous (1) Approval (1) Cerificate (1) Consultants (1) Content Deployment (1) Content Type (1) DOS (1) Document Library (1) Drive Sapce (1) Excel Services (1) Export to Excel (1) Feature (1) GAC (1) Get-SPContentDatabase (1) Get-WmiObject (1) HTML calculated column (1) ISA2006 (1) IT Knowledge (1) ITIL (1) Install (1) Link (1) MCTS (1) Macro (1) Migration (1) My Site Cleanup Job (1) My Sites (1) NLBS (1) Nintex (1) Office (1) Open with Explorer (1) ROIScan.vbs (1) Reporting Services (1) SPDisposeCheck.exe (1) SQL Instance name (1) SSRS (1) SharePoint farm (1) Shared Services Administration (1) Site Collection Owner (1) Site template (1) Steelhead (1) URLSCAN (1) VLOOKUP (1) WSS SP2 (1) XCOPY (1) add user (1) admi (1) app (1) application pool (1) aspx (1) audit (1) availabilty (1) backup (1) binding (1) blob (1) branding sharepoint (1) cache (1) calendar (1) connection (1) copy file (1) counter (1) crawl (1) custom list (1) event (1) excel 2013 (1) facebook (1) filter (1) fun (1) group (1) iis log (1) import (1) import list (1) improment (1) interview (1) keberos (1) load balance (1) log in (1) metada (1) migrate (1) mossrap (1) onedrive for business (1) operation (1) process (1) publishing feature (1) resource (1) security (1) send email (1) size (1) sps2003 (1) sql201 (1) sub sites (1) system (1) table (1) task list (1) today date (1) vbs (1) video (1) web part (1) widget (1) windows 2008 (1) windows 2012 R2 (1) windows Azura (1) windows account (1) windows2012 (1) wmi (1)

Tuesday, October 26, 2010

change sub-site to a new sub-site URL and wanted the old link auto redirect to the new link.

  1. Go to old URL link and open in SPD
  2. Create an .aspx page
  3. Paste the coding in .aspx page(target site URL)
    •  <meta http-equiv="refresh" content="0;url=http://xxxxx/sites/xxxxxxxxxx/yyyyyy">
  4. Right click .aspx page > click Set as Home Page
  5. Rename the .aspx page to default.apsx

Search log where to see ?


problem with the search no results under some subsites , when can check the crawl log or error ?



  1. crawl log under SSP
  2. enable ULS for wss query with veberos, then can see the log at ULS log
  3. go to search database to run the query on terfert sites , see have crawl or not :
    • select * from MSSCrawlURL (nolock)
      where DisplayURL like '%/sites/XXXXX%'

but the problem not yet resolved…to be continue… ha ha

Monday, October 25, 2010

Who Deleted my SharePoint Top Level Sites!!!!

have customer want to know who deleted his top level sites ( aka site collection ).


the easy answer is the one site collection admin or the user have full control permission at your site collection!!


But let say have 100 site collection admin!!! ha ha..so which one is the one??


oh yeah easy to trace is go to the IIS log file then search it at the folder level:


A word or phrase in the file with

/sites/<sites collection name>/_layouts/deleteweb.aspx ”.


yeah!!! shoot the one delete it!!! ha ha

Tuesday, October 19, 2010

-- Query to get all the SharePoint groups in a site collection


Another cool query from sharepointkings


Customer request the report on all the user in the group on the specify sites collection.


-- Query to get all the SharePoint groups in a site collection
SELECT dbo.Webs.SiteId, dbo.Webs.Id, dbo.Webs.FullUrl, dbo.Webs.Title, dbo.Groups.ID AS Expr1,
dbo.Groups.Title AS Expr2, dbo.Groups.Description
dbo.Webs ON dbo.Groups.SiteId = dbo.Webs.SiteId


-- Query to get all the members of the SharePoint Groups
SELECT dbo.Groups.ID, dbo.Groups.Title, dbo.UserInfo.tp_Title, dbo.UserInfo.tp_Login
FROM dbo.GroupMembership INNER JOIN
dbo.Groups ON dbo.GroupMembership.SiteId = dbo.Groups.SiteId INNER JOIN
dbo.UserInfo ON dbo.GroupMembership.MemberId = dbo.UserInfo.tp_ID



after query the all the memeber of the group, use excel to remove the duplicate data then you will know how many user in the group :)

Unable to reorder content type

Have user copy the list template from another site and want to reorder the content type, when click on the column order at the content type you will see the error :


Object reference not set to an instance of an object.   at Microsoft.SharePoint.ApplicationPages.ChangeFieldOrderPage.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


Work around:

you will not be able to manage the order of your columns on the list settings page again until you switch “Allow management of content types” back to No. When the management of content types if enabled, you can then reorder the columns for each specific content type. You may or may not want this to be your standard setup, so my best practice here would be to turn this feature back off when you are finished managing the content type.


Detail step:


1. change the list setting at Advanced settings and change the Allow management of content types to no. > click ok

2. under the column, you will see Column ordering. Click on the column ordering and change the order.> click ok when you done

3. change the list setting at Advanced settings and change the Allow management of content types to yes > click ok


guessing of the root cause:


i think because the content type is attach to the template and no content type created for the sites. once you click on ordering, then will go to search the content type gallery at site level. once cannot found it and error message will show at above. i guess is consider bug :)

Thursday, October 14, 2010

Default Recovery Models for MOSS2007 Databases

Today attend SQL2008 training is talking about what is the different Simple recovery model VS Full recovery Model.Then i am thinking what is the moss2007 setting? Below is the Default Recovery Model.


Simple model :

  • Automatic reclaims the transaction log
  • Allow only Full backups

Full Model:

  • Require transaction log backup (which mean not automatic to shrink your transaction log file)
  • able to enable recovery the data very near to down time

* oh ya…please remember all the Database here, because one of my interview is asking about this :) . ha ha..


Monday, October 11, 2010

System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than the existing ‘dbName’ database


familiar with this message?  one of my problem always face when restore the shaerpoint content DB from other farm with backup file. today i found out the solution at this blog : http://www.linglom.com/2009/07/08/solved-system-data-sqlclient-sqlerror-the-backup-set-holds-a-backup-of-a-database-other-than-the-existing-dbname-database/

*if you restore the path to different path of mdf and ldf, you need to change it

is great to keep it , so i will copy paste here for future reference.

before start restore the bak file, you need to create the new Database then restore the bak.


You have backup a database on SQL Server 2005. Then, you try to restore the backup file on an existing database and receive the error message below:

Restore failed for Server ‘SQL Server name‘. (Microsoft.SqlServer.Smo)
Additional information:
System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than the existing ‘dbName‘ database. (Microsoft.SqlServer.Smo)
The backup set holds a backup of a database other than the existing

This error message indicates that you are going to restore a database on another database which are not the same database. For example, you have backup Northwind database and try to restore the backup to AdventureWorks database, the error will occur.


To solve the problem, you can use the overwrite the existing database option while you’re restoring.

  1. On Restore Database, select Options tab on the left menu. Then, check Overwrite the existing database on Restore options.
    Note: This option will overwrite any existing data on the targeted database.
    Restore Database Option
  2. Try to restore the database, the problem should be gone now.
    Restore Database Successful

Note: you can also delete the targeted database before perform restore a database. This way also gives the result as same as the solution above.

Wednesday, October 6, 2010

Filter the calendar of today event

The start time at calendar Filter is not available then we cannot use [Today] to filter the item. In this case you just created one column and select Calculated (calculation based on other columns)  then Formula =[Start Time].


after that you can edit the view with filter on column you created is equal to [Today]:


In this example , i created column name as DOB.


Friday, October 1, 2010

How to Move Large SharePoint Document Libraries

Faced some problem to move large SharePoint Document during migration , so found out the solution here.


Scenario : one document library is over 25GB so unable to use stsadm export and import.


Solution: have 2 post is same, so i not sure who is the owner. anyway just like to keep track on the coding and sharing here :)  [This can move different farm :) ]








To accomplish the goal of copying an arbitrarily large document library, and only that document library, from one site to another, we'll need to use a bit of .NET code and the SharePoint object model. The code will perform two broad tasks:

  1. export the source document library to a set of one or more files on disk; and
  2. import the file-set created in step 1 to the target location.

You could write this code in a number of ways, but for simplicity, I'll create two .NET console applications: ExportDocLib and ImportDocLib. Both these applications must be run on the SharePoint web front-end server of the farm containing the source and target document libraries respectively.

ExportDocLib exports the source document library to operating system files. To create the application, open Visual Studio 2005 or later, and create a new C# console application. Next, add a reference to the Windows SharePoint Services .NET assembly, and then add "using" statements at the top of the program to reference the Microsoft.SharePoint and Microsoft.SharePoint.Deployment namespaces.

The rest of the code is fairly straightforward; you will need to provide references to the site collection and the web site within it that contains your document library (I simply referenced the RootWeb property of my site collection because my document library was contained in the top-level web site), a reference to the list to be copied, and information about where to create the export files and export log. I've also instructed SharePoint to retain the security via the IncludeSecurity switch, and to display progress to a command window as the program runs using the CommandLineVerbose switch. There are many other settings you can use, but those shown below are all you'll need for a basic list export:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Microsoft.SharePoint;

using Microsoft.SharePoint.Deployment;

namespace ExportDocLib


class Program


static void Main(string[] args)


// Get handle to web and doclib to export

SPSite site = new SPSite("http://localhost/sites/SITE1");

SPWeb web = site.RootWeb;

SPList list = web.Lists["Shared Documents"];

// Define export settings

SPExportSettings settings = new SPExportSettings();

            settings.SiteUrl = "http://localhost/sites/SITE1";

            settings.FileLocation = @"C:\Export Files\";

            settings.BaseFileName = "SITE1.cmp";

            settings.ExportMethod = SPExportMethodType.ExportAll;

            settings.LogFilePath =

                  settings.FileLocation + "SITE1_export_log.txt";

            settings.CommandLineVerbose = true;

            settings.IncludeSecurity = SPIncludeSecurity.All;

// Add reference to document library to export

SPExportObject exportObject =

new SPExportObject(



                        web.ID, false);


// Export it

SPExport export = new SPExport(settings);





ImportDocLib is almost a mirror image of ExportDocLib. ImportDocLib will import the document library from the operating system files created by the ExportDocLib program. As before, start by creating a new C# console application in Visual Studio, adding a reference to the Windows SharePoint Services .NET assembly, and by adding "using" statements to reference the two Microsoft.SharePoint namespaces.

Next you'll create a SPImportSettings object and set its properties to define the location of the import files, the location of the site collection and web site where you want your new copy of the document library, and a location for the import log.

Although it’s beyond the scope of this article, the RetainObjectIdentity setting is noteworthy because its value will determine whether you can apply subsequent incremental imports to this same document library. For example, you could copy the full library once, and then periodically import only changed or new items from the source into the target library. To enable these subsequent imports, however, the RetainObjectIdentity setting must be set to "true." However, you may not set it to "true" if you will be importing a document library into the same content database as the source library, because all objects in a SharePoint database must have unique object IDs. The most likely scenario for which you would use the RetainObjectIdentity switch is to create a copy of a document library on a different SharePoint farm, and subsequently to refresh that second library with updates from the original.


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Microsoft.SharePoint;

using Microsoft.SharePoint.Deployment;

namespace ImportDocLib


class Program


static void Main(string[] args)


// Settings for import

SPImportSettings settings = new SPImportSettings();

// File & path

            settings.FileLocation = @"C:\Export Files\";

            settings.BaseFileName = "SITE1.cmp";

// Site and web to import to

            settings.SiteUrl = "http://localhost/sites/SITE2";

            settings.WebUrl = "http://localhost/sites/SITE2";

// Set log file location

            settings.LogFilePath =

                  settings.FileLocation + "SITE2_import_log.txt";

// Display messages while running

            settings.CommandLineVerbose = true;

// Don't retain object GUIDs, only necessary

// if want to do incremental imports to same list

// at a later time

            settings.RetainObjectIdentity = false;

// Keep security, versions, and date/time stamps

            settings.UpdateVersions = SPUpdateVersions.Append;

            settings.UserInfoDateTime =


// Import it

SPImport import = new SPImport(settings);






You might correctly observe that both the ExportDocLib and ImportDocLib routines can be combined into a single program. This would simplify the process in that you wouldn't need to execute two separate programs to complete the copy process. But when copying a document library from one SharePoint farm to another, you will need to run ExportDocLib on a WFE server in the source farm, and the ImportDocLib on a WFE in the target farm. Keeping them separate gives you the flexibility you need in such instances.



With just a bit of .NET coding you can copy document libraries of arbitrary size from one site to another, within or between farms, without the need to purchase a third-party product. With a bit of additional coding you can add the capability of applying incremental updates from a master document library to a copy, thus keeping the secondary library in synch.

At Fenwick & West we have found this technique invaluable for migrating large document libraries between SharePoint farms, filling the gap between the built-in capability to save small libraries using a list template, and backing up full site collections using the backup and export functions of STSADM.