Sunday, October 17, 2010

SharePoint 2007 Limitations complete list

There are so many posts in the Internet describes about this. But, there is no place where I found all at once. So, I am planning to keep this post up to date with whatever I find. If I miss anything then please add here or let me know. That will be a great help.
  1. SharePoint maximum limitations 
  2. Performance limits 
  3. Scaling limits 
I think, the above three posts covers most of them. But, below are some of the things which we need to consider as well.
  1. Unsupported characters: These characters are not allowed in SharePoint or WSS /\:*?"<>|#{}%&~ or tab characters and multiple periods.
  2. File or folder names with Trailing spaces: File or folder names in SharePoint or WSS won't support any trailing spaces.
  3. File and folder names length: File or folder names longer than 255 characters will not be allowed.
  4. Number of columns limitation in a list:
  • 64 text fields, including the following field types: Single line of text, Choice, Hyperlink, or Picture.
  • 16 Lookup fields
  • 16 Date and Time fields
  • 16 Yes/No fields
  • 32 Number and Currency fields
  • 32 Multiple lines of text fields 

I believe these are enough for a SharePoint architect to get good idea on limitations of SharePoint. Hope these helps and please update me if you find any.

Template Explorer in SQL Server 2008

I know, most of us do not know what it is... But, there are nice advantages of it and everyone should know about it. Template Explorer contains so many templates which helps us to understand many things and these templates have many examples on how we can write or do things through SQL queries. There are lot of default templates available like Backup, Restore, Database Mail, Trigger, user, login etc...

To view the Template Explorer, follow the steps below.
  1. Open Sql Server.
  2. From "View" menu, select "Template Explorer".
This opens up the template explorer and there are lot of folders which helps you to understand and do some magic. To give the template parameters, no need to go to the sql code and edit. You can directly change them in the editor as described below.
  1. Open some template.
  2. Now, click on Query menu and select "Specify Values for Template Parameters".
  3. It will show you a windows with all parameters the template is looking for for the selected template.
That's it!!! This helped me to understand many things. Hope this helps to you too..

Find table size used in SQL Server

In a database, when size is growing then we have to find which table is taking more size. Then we have to query database to find what is the table taking maximum size. Log is also one of the factor which causes the database size grow in very huge amount. But, except logs, if you want to find the table which takes max size is, then use below command.

Command:
EXEC sp_spaceused 'Student'

Output:
namerowsreserveddataindex_sizeunused
Student918464 KB256 KB152 KB56 KB

So, using the system stored procedure "SP_SpaceUsed", we will find the table size used. The only input parameter the SPROC expects is table name.
Hope you enjoyed this post.

Find the database size in SQL Server

This is very important to find regularly if you are hosting the web site in hosting providers. The database size grows day to day and we have to find it more often. otherwise it grows than the given size and account will be suspended.  Below is the command used to find the size of the database and logs.

SELECT name,size from sys.database_files

Here is the sample output:
NameSize
SampleDatabase384
SampleDatabase_log392


Hope this helps.

List all Tables using SQL Query in a database

This is not needed in general development times. But, very rare cases only we have to get these kind of requirements and use these rarely used commands. I have a requirement where I need to know the list of tables in a database and do something. So, below is the simple query which is used to list or display the tables in a database.

select [name] from dbo.sysobjects where OBJECTPROPERTY(id, N'IsUserTable') = 1

"sysobjects" is the system table which holds all objects in a database. By using where clause "IsUserTable" returns true if it is a table and filtering the results.
Hope this helps.

Sql Server Management Studio for Sql Azure

Sql Azure is very powerful and good to know these concepts. I love it and very nice technology these days. Windows Azure is going to be very powerful in near future. When you install the Sql Azure in the system, then you may need to search for downloading the SSMS for it. Here are the links for it.

SSMS for Sql Azure 32-bit
SSMS for Sql Azure 64-bit