Showing posts with label line. Show all posts
Showing posts with label line. Show all posts

Wednesday, March 28, 2012

Is there a recommended size limit to an SQL Program ?

I wrote a program with 546 lines. When the code was run to line 406, it too
k
2 minutes and 9 seconds. When it ran all the way through, I stopped it afte
r
9 minutes. I ran just the section from line 406 to the end and it ran in 20
seconds.
For some reason, when all of the code is run together, the time is not the
sum of all of the individual sections. I tryed commits in various parts of
the code, but it had no effect. I then split the program to 4 sub programs
executed by a master program and the entire program ran in 41 seconds. Is
there a limit to the number of lines for one program and is there any other
solution other than splitting to subprograms ?What do you mean by a program? Are you referring to a stored procedure or a
separate application written in C# or some other development language?
Keith Kratochvil
"rmcompute" <rmcompute@.discussions.microsoft.com> wrote in message
news:1CD546BB-D5D3-4436-AB12-548F8E40E976@.microsoft.com...
>I wrote a program with 546 lines. When the code was run to line 406, it
>took
> 2 minutes and 9 seconds. When it ran all the way through, I stopped it
> after
> 9 minutes. I ran just the section from line 406 to the end and it ran in
> 20
> seconds.
> For some reason, when all of the code is run together, the time is not the
> sum of all of the individual sections. I tryed commits in various parts
> of
> the code, but it had no effect. I then split the program to 4 sub
> programs
> executed by a master program and the entire program ran in 41 seconds. Is
> there a limit to the number of lines for one program and is there any
> other
> solution other than splitting to subprograms ?
>|||Are you using a lot of temp tables in this program? Or datasets/arrays if
you are referring to a language like VB or C?
If the individual pieces use a lot of memory, and you are not properly
freeing up this memory when it is no longer needed, then things can slow
down considerably.
Per Keith's post, can you include more information, and possibly the actual
code, with notes as to where you split it into smaller pieces?
"rmcompute" <rmcompute@.discussions.microsoft.com> wrote in message
news:1CD546BB-D5D3-4436-AB12-548F8E40E976@.microsoft.com...
> I wrote a program with 546 lines. When the code was run to line 406, it
took
> 2 minutes and 9 seconds. When it ran all the way through, I stopped it
after
> 9 minutes. I ran just the section from line 406 to the end and it ran in
20
> seconds.
> For some reason, when all of the code is run together, the time is not the
> sum of all of the individual sections. I tryed commits in various parts
of
> the code, but it had no effect. I then split the program to 4 sub
programs
> executed by a master program and the entire program ran in 41 seconds. Is
> there a limit to the number of lines for one program and is there any
other
> solution other than splitting to subprograms ?
>|||Also, splitting the program up into smaller pieces requires some redefining
of inputs and outputs. Is it possible that some of your variables were
assigned incorrect values in the original code, which caused the performance
problems?
"Jim Underwood" <james.underwoodATfallonclinic.com> wrote in message
news:OIfl4HFdGHA.4148@.TK2MSFTNGP05.phx.gbl...
> Are you using a lot of temp tables in this program? Or datasets/arrays if
> you are referring to a language like VB or C?
> If the individual pieces use a lot of memory, and you are not properly
> freeing up this memory when it is no longer needed, then things can slow
> down considerably.
> Per Keith's post, can you include more information, and possibly the
actual
> code, with notes as to where you split it into smaller pieces?
> "rmcompute" <rmcompute@.discussions.microsoft.com> wrote in message
> news:1CD546BB-D5D3-4436-AB12-548F8E40E976@.microsoft.com...
> took
> after
in
> 20
the
> of
> programs
Is
> other
>|||Jim, Keith,
Yes. I am using over 70 temp tables. I created a huge SQL Stored
procedure. It slows down considerably the further it runs, so I split this
SQL stored procedure into many stored procedures which I run from 1 stored
procedure with the following commands.
Exec @.iErr = u_spPCLD01
Exec @.iErr = u_spPCLD02
Exec @.iErr = u_spPCLD03
Exec @.iErr = u_spPCLD04
Exec @.iErr = u_spPCLD05
Exec @.iErr = u_spPCLD06, Etc.
I will use the drop table command afer each temp table is used. If this
does not work is there a transaction log which may need to be flushed and ca
n
such code be imbedded in the stored procedure ?
Exec
"Jim Underwood" wrote:

> Also, splitting the program up into smaller pieces requires some redefinin
g
> of inputs and outputs. Is it possible that some of your variables were
> assigned incorrect values in the original code, which caused the performan
ce
> problems?
> "Jim Underwood" <james.underwoodATfallonclinic.com> wrote in message
> news:OIfl4HFdGHA.4148@.TK2MSFTNGP05.phx.gbl...
> actual
> in
> the
> Is
>
>|||I'm assuming that you are passing the temp tables between procedures. If
this is the case, I would seriously consider changing the code so that it
uses real permenant tables. This will help by stopping the procedures
recompiling. Also the code will run alot faster as SQL does not need to
create the temp tables every time.
I had a stored procedure which used a single temp table. When I changed to
code to use a single table the procedure sped up by ten times! It really is
worth trying.
Regards
Colin Dawson
www.cjdawson.com
"rmcompute" <rmcompute@.discussions.microsoft.com> wrote in message
news:2106DC08-9AD7-45F2-8793-DDC9E545778D@.microsoft.com...
> Jim, Keith,
> Yes. I am using over 70 temp tables. I created a huge SQL Stored
> procedure. It slows down considerably the further it runs, so I split
> this
> SQL stored procedure into many stored procedures which I run from 1
> stored
> procedure with the following commands.
> Exec @.iErr = u_spPCLD01
> Exec @.iErr = u_spPCLD02
> Exec @.iErr = u_spPCLD03
> Exec @.iErr = u_spPCLD04
> Exec @.iErr = u_spPCLD05
> Exec @.iErr = u_spPCLD06, Etc.
> I will use the drop table command afer each temp table is used. If this
> does not work is there a transaction log which may need to be flushed and
> can
> such code be imbedded in the stored procedure ?
>
>
> Exec
> "Jim Underwood" wrote:
>

Is there a line feed bug in QA?

Hi,
I am having a heck of a problem on 2 machines (2k & XPPro). SQLServer
2000SP4
Query Analyzer keeps giving me problems and I lose hours tracking down the
problem.
Now I don't know exactly what QA is doing, but I do know that QA will show a
line break, but the proc is behaving as if the line break is not there.
For example, this will not work process the line following the comment;
-- comment
Exec sp_dosomething
But this will
/* comment */
Exec sp_dosomething
Does anybody know of a solution for this?
Thanks,
John
You might want to try find one CHAR(13) or only CHAR(10). A proper line break is CHAR(13) +
CHAR(10), aka CRLF. I recall some natyiness if you only had one of those and not the other, where QA
would display as line break but it didn't behave like a linebreak.
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"John MacIntyre" <pls@.reply.here.com> wrote in message news:eMdmLv9wFHA.2540@.TK2MSFTNGP09.phx.gbl...
> Hi,
> I am having a heck of a problem on 2 machines (2k & XPPro). SQLServer 2000SP4
> Query Analyzer keeps giving me problems and I lose hours tracking down the problem.
> Now I don't know exactly what QA is doing, but I do know that QA will show a line break, but the
> proc is behaving as if the line break is not there.
> For example, this will not work process the line following the comment;
> -- comment
> Exec sp_dosomething
> But this will
> /* comment */
> Exec sp_dosomething
> Does anybody know of a solution for this?
> Thanks,
> John
>
|||Hi John,
I had this same problem, where my script would never enter a while loop
because it thought it was a comment.
All i did in the end was delete all white space near the affected area, so
that all the text is joined, then just add the line breaks back in manually.
Ben
"John MacIntyre" <pls@.reply.here.com> wrote in message
news:eMdmLv9wFHA.2540@.TK2MSFTNGP09.phx.gbl...
> Hi,
> I am having a heck of a problem on 2 machines (2k & XPPro). SQLServer
> 2000SP4
> Query Analyzer keeps giving me problems and I lose hours tracking down the
> problem.
> Now I don't know exactly what QA is doing, but I do know that QA will show
> a line break, but the proc is behaving as if the line break is not there.
> For example, this will not work process the line following the comment;
> -- comment
> Exec sp_dosomething
> But this will
> /* comment */
> Exec sp_dosomething
> Does anybody know of a solution for this?
> Thanks,
> John
>
|||Hi
If you open the script in an editor such as textpad you may see some
non-printing character(s).
John
"John MacIntyre" wrote:

> Hi,
> I am having a heck of a problem on 2 machines (2k & XPPro). SQLServer
> 2000SP4
> Query Analyzer keeps giving me problems and I lose hours tracking down the
> problem.
> Now I don't know exactly what QA is doing, but I do know that QA will show a
> line break, but the proc is behaving as if the line break is not there.
> For example, this will not work process the line following the comment;
> -- comment
> Exec sp_dosomething
> But this will
> /* comment */
> Exec sp_dosomething
> Does anybody know of a solution for this?
> Thanks,
> John
>
>
sql

Is there a line feed bug in QA?

Hi,
I am having a heck of a problem on 2 machines (2k & XPPro). SQLServer
2000SP4
Query Analyzer keeps giving me problems and I lose hours tracking down the
problem.
Now I don't know exactly what QA is doing, but I do know that QA will show a
line break, but the proc is behaving as if the line break is not there.
For example, this will not work process the line following the comment;
-- comment
Exec sp_dosomething
But this will
/* comment */
Exec sp_dosomething
Does anybody know of a solution for this?
Thanks,
JohnYou might want to try find one CHAR(13) or only CHAR(10). A proper line brea
k is CHAR(13) +
CHAR(10), aka CRLF. I recall some natyiness if you only had one of those and
not the other, where QA
would display as line break but it didn't behave like a linebreak.
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"John MacIntyre" <pls@.reply.here.com> wrote in message news:eMdmLv9wFHA.2540@.TK2MSFTNGP09.p
hx.gbl...
> Hi,
> I am having a heck of a problem on 2 machines (2k & XPPro). SQLServer 200
0SP4
> Query Analyzer keeps giving me problems and I lose hours tracking down the
problem.
> Now I don't know exactly what QA is doing, but I do know that QA will show
a line break, but the
> proc is behaving as if the line break is not there.
> For example, this will not work process the line following the comment;
> -- comment
> Exec sp_dosomething
> But this will
> /* comment */
> Exec sp_dosomething
> Does anybody know of a solution for this?
> Thanks,
> John
>|||Hi John,
I had this same problem, where my script would never enter a while loop
because it thought it was a comment.
All i did in the end was delete all white space near the affected area, so
that all the text is joined, then just add the line breaks back in manually.
Ben
"John MacIntyre" <pls@.reply.here.com> wrote in message
news:eMdmLv9wFHA.2540@.TK2MSFTNGP09.phx.gbl...
> Hi,
> I am having a heck of a problem on 2 machines (2k & XPPro). SQLServer
> 2000SP4
> Query Analyzer keeps giving me problems and I lose hours tracking down the
> problem.
> Now I don't know exactly what QA is doing, but I do know that QA will show
> a line break, but the proc is behaving as if the line break is not there.
> For example, this will not work process the line following the comment;
> -- comment
> Exec sp_dosomething
> But this will
> /* comment */
> Exec sp_dosomething
> Does anybody know of a solution for this?
> Thanks,
> John
>|||Hi
If you open the script in an editor such as textpad you may see some
non-printing character(s).
John
"John MacIntyre" wrote:

> Hi,
> I am having a heck of a problem on 2 machines (2k & XPPro). SQLServer
> 2000SP4
> Query Analyzer keeps giving me problems and I lose hours tracking down the
> problem.
> Now I don't know exactly what QA is doing, but I do know that QA will show
a
> line break, but the proc is behaving as if the line break is not there.
> For example, this will not work process the line following the comment;
> -- comment
> Exec sp_dosomething
> But this will
> /* comment */
> Exec sp_dosomething
> Does anybody know of a solution for this?
> Thanks,
> John
>
>

Monday, March 26, 2012

Is there a Cluster command line I can run which will stop my "SQL Agent Service"?

Gurus,
Running SQL Server 2005 SP2 on a Windows Server 2003 Cluster. Is there a
Cluster command line I can run which will stop my "SQL Agent Service"?
Spin
Hi
How about NET STOP?
John
"Spin" <Spin@.invalid.com> wrote in message
news:656t5iF2eq3dbU1@.mid.individual.net...
> Gurus,
> Running SQL Server 2005 SP2 on a Windows Server 2003 Cluster. Is there a
> Cluster command line I can run which will stop my "SQL Agent Service"?
> --
> Spin
>
|||"John Bell" <jbellnewsposts@.hotmail.com> wrote in message
news:e2yjJedkIHA.5368@.TK2MSFTNGP04.phx.gbl...
> Hi
> How about NET STOP?
No can do John. NET STOP stops the service outside of the Cluster
environment. What will happen is the Windows Cluster service will detect
the service down then automatically restart it! What I need is a Cluster
service command line tool which gracefully stops the service per "knowledge"
if you will, of the Cluster service.
|||For the default instance:
cluster.exe /cluster:<cluster name> resource "SQL Server Agent" /offline
For a named instance (assuming that the instance name is SQL2):
cluster.exe /cluster:<cluster name> resource "SQL Server Agent (SQL2)"
/offline
Linchi
"Spin" wrote:

> Gurus,
> Running SQL Server 2005 SP2 on a Windows Server 2003 Cluster. Is there a
> Cluster command line I can run which will stop my "SQL Agent Service"?
> --
> Spin
>
>
|||Thanks! I'll shout back on Monday if this works...
"Linchi Shea" <LinchiShea@.discussions.microsoft.com> wrote in message
news:C9EF5727-A88B-4261-B445-266B2C45990C@.microsoft.com...[vbcol=seagreen]
> For the default instance:
> cluster.exe /cluster:<cluster name> resource "SQL Server Agent" /offline
> For a named instance (assuming that the instance name is SQL2):
> cluster.exe /cluster:<cluster name> resource "SQL Server Agent (SQL2)"
> /offline
> Linchi
> "Spin" wrote:
|||"Linchi Shea" <LinchiShea@.discussions.microsoft.com> wrote in message
news:C9EF5727-A88B-4261-B445-266B2C45990C@.microsoft.com...
> For the default instance:
> cluster.exe /cluster:<cluster name> resource "SQL Server Agent" /offline
> For a named instance (assuming that the instance name is SQL2):
> cluster.exe /cluster:<cluster name> resource "SQL Server Agent (SQL2)"
> /offline
> Linchi
Worked!!!!! You are a Gentleman and a Scholar!
Spin

Is there a Cluster command line I can run which will stop my "SQL Agent Service"?

Gurus,
Running SQL Server 2005 SP2 on a Windows Server 2003 Cluster. Is there a
Cluster command line I can run which will stop my "SQL Agent Service"?
--
SpinHi
How about NET STOP?
John
"Spin" <Spin@.invalid.com> wrote in message
news:656t5iF2eq3dbU1@.mid.individual.net...
> Gurus,
> Running SQL Server 2005 SP2 on a Windows Server 2003 Cluster. Is there a
> Cluster command line I can run which will stop my "SQL Agent Service"?
> --
> Spin
>|||"John Bell" <jbellnewsposts@.hotmail.com> wrote in message
news:e2yjJedkIHA.5368@.TK2MSFTNGP04.phx.gbl...
> Hi
> How about NET STOP?
No can do John. NET STOP stops the service outside of the Cluster
environment. What will happen is the Windows Cluster service will detect
the service down then automatically restart it! What I need is a Cluster
service command line tool which gracefully stops the service per "knowledge"
if you will, of the Cluster service.|||For the default instance:
cluster.exe /cluster:<cluster name> resource "SQL Server Agent" /offline
For a named instance (assuming that the instance name is SQL2):
cluster.exe /cluster:<cluster name> resource "SQL Server Agent (SQL2)"
/offline
Linchi
"Spin" wrote:
> Gurus,
> Running SQL Server 2005 SP2 on a Windows Server 2003 Cluster. Is there a
> Cluster command line I can run which will stop my "SQL Agent Service"?
> --
> Spin
>
>|||Thanks! I'll shout back on Monday if this works...
"Linchi Shea" <LinchiShea@.discussions.microsoft.com> wrote in message
news:C9EF5727-A88B-4261-B445-266B2C45990C@.microsoft.com...
> For the default instance:
> cluster.exe /cluster:<cluster name> resource "SQL Server Agent" /offline
> For a named instance (assuming that the instance name is SQL2):
> cluster.exe /cluster:<cluster name> resource "SQL Server Agent (SQL2)"
> /offline
> Linchi
> "Spin" wrote:
>> Gurus,
>> Running SQL Server 2005 SP2 on a Windows Server 2003 Cluster. Is there a
>> Cluster command line I can run which will stop my "SQL Agent Service"?
>> --
>> Spin
>>|||"Linchi Shea" <LinchiShea@.discussions.microsoft.com> wrote in message
news:C9EF5727-A88B-4261-B445-266B2C45990C@.microsoft.com...
> For the default instance:
> cluster.exe /cluster:<cluster name> resource "SQL Server Agent" /offline
> For a named instance (assuming that the instance name is SQL2):
> cluster.exe /cluster:<cluster name> resource "SQL Server Agent (SQL2)"
> /offline
> Linchi
Worked!!!!! You are a Gentleman and a Scholar!
--
Spin

Friday, March 23, 2012

Is the word "Name" a reserved word?

Is the word "Name" a reserved word in SQL? look at line 10 of my stored procedure. When I use the word "Name"
it is highlited in blue by SQL Server?

Note I only list part of the stored proc

1 CREATE PROCEDURE [dbo].[GetXMLPeopleNames]
2
3 (
4 @.Status nvarchar(3)
5)
6 AS
7 SELECT
8 PersonId,
9 PersonDescription,
10 Name,
11 UpdateDate,
12 UpdateAppUser
13 FROM
14 Customer WHERECustomer.PersonDescription=@.Status
15 ORDER BY

It is not a reserved word as in Access. It is advised to use brackets to enclose the name. [Name] etc. If you use reserved words in Access, I think the query actually fails (been a long long time since I used Access so not sure if its still an issue), not so in SQL Server.

|||

Yes - it is a reserved word in Access. Here's a great list that covers Access, ODBC, Jet (which you will use with Access) and Sql Server.

http://sqlserver2000.databases.aspfaq.com/what-are-reserved-access-odbc-and-sql-server-keywords.html

[Edit]

Misread the original post which is why my answer doesn't appear to make a lot of sense in relation to it.

But I hope the list is useful...

Monday, March 12, 2012

Is SQL Server Express designed for production use?

Per the subject line :
Is SQL Server Express designed for production use?

hi Juan,

yes, it is.. are you experimenting inconveniences?

regards

|||

re:
> are you experimenting inconveniences?

None.

I was wondering, mainly, whether SQL Express differed from MSDE
...which wasn't designed for production use.

To further the question :

Express will only bind to one CPU at a time, and it cannot run queries in parallel.

Express cannot use more than 1 GB of RAM at a time for queries and data pages.
SQL Server 2005 will handle many more concurrent queries than the Express version.

No one database in Express can be larger than 4 GB.

Data mining, Data Transformation Services (DTS)
and reporting functions are not available for SQL Express.

Other functions not available in Express include clustering/mirroring,
full-text indexing/searching, SQLMail, indexed views, partitioned views and SQL Agent.

I.O.W., although it will work fine for small traffic websites,
I would have thought it isn't designed for heavy-duty production websites.

Maybe we need to distinguish between
"light traffic" and "heavy traffic" regarding SQL Express ?

Maybe I just have the wrong impression, and the limitations listed don't amount to much ?


|||

hi Juan,

Juan T. Llibre wrote:

re:
> are you experimenting inconveniences?

None.

I was wondering, mainly, whether SQL Express differed from MSDE
...which wasn't designed for production use.

actually MSDE was... it is "limited" compared to the full blown wditions of the relative product(s), but both MSDE and SQLExpress ARE ready for production..

you only have to see if they are "enought" to target your specific requirements, if the built-in limitations can be handled or have to be mandatory satisifed..


To further the question :

Express will only bind to one CPU at a time, and it cannot run queries in parallel.

Express cannot use more than 1 GB of RAM at a time for queries and data pages.
SQL Server 2005 will handle many more concurrent queries than the Express version.

No one database in Express can be larger than 4 GB.

Data mining, Data Transformation Services (DTS)

yep... that's true


and reporting functions are not available for SQL Express.

false ... the SQL Server Express Edition with Advanced Services provides (local server only) Reporting features as well


Other functions not available in Express include clustering/mirroring,

yep


full-text indexing/searching, indexed views, partitioned views

false, the very same edition with Advanced Services supports full text...

indexed views are "supported" as the engine will not throw exception, but the advanced optimizations on them will be not "used" by the optimizer...

SQLMail, and SQL Agent.

yep, but you can easely write a "kind of" replacement for Mail via simple SMTP CLR based procedure to send mail like my free and simple project, amDbobj ..

as regard SQL Agent, normal "stuffs" can be scheduled via native AT/SCHTASKS operating system scheduler, but, obviously, full blown jobs are often not completely transferrable to this kind of solution.. or you can write your own scheduler, like other devs already did


I.O.W., although it will work fine for small traffic websites,
I would have thought it isn't designed for heavy-duty production websites.

Maybe we need to distinguish between
"light traffic" and "heavy traffic" regarding SQL Express ?

Maybe I just have the wrong impression, and the limitations listed don't amount to much ?

it all dependes on the "final needs" and budget ..

I often am very satisfied with SQLExpress, but when the customer requires more "power", it's then very easy to just upgrade to the Standard edition..

regards

|||Thank you very much for your reply, Andrea.

I now have a clearer view.

Is SQL Server Express designed for production use ?

Per the subject line :

Is SQL Server Express designed for production use ?

As I know yes you can use it as databases for desktop application and is recomended to use as witness SQL server(because is free) in multiple SQL server environment.

see page below:

http://www.microsoft.com/sql/editions/express/default.mspx

Thanks

JPazgier

|||

Juan T. Llibre:

Per the subject line :

Is SQL Server Express designed for production use ?

Yes it is you can use it if you host your application Webform or Winform, the only thing not included with Express is the Agent so most SQL Server based automation you have to look for alternatives and there are many free solutions from SQL Server users. There is no Profiler but you can use the Developer edition profiler to profile your application. Try the link below for features compare in all editions. Hope this helps.

http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx

|||

Juan T. Llibre:

Per the subject line :

Is SQL Server Express designed for production use ?

For web applications in a shared hosting environment? No, not really.

|||

re:
>For web applications in a shared hosting environment? No, not really.

That's what I thought, but I was told by a 'softie that it is.
I'd like to have a definitive reason for this, whether it is, or not.

|||re:
> Yes it is you can use it if you host your application Webform or Winform,
> the only thing not included with Express is the Agent

To further the question :

Express will only bind to one CPU at a time, and it cannot run queries in parallel.

Express cannot use more than 1 GB of RAM at a time for queries and data pages.
SQL Server 2005 will handle many more concurrent queries than the Express version.

No one database in Express can be larger than 4 GB.

Data mining, Data Transformation Services (DTS)
and reporting functions are not available for SQL Express.

Other functions not available in Express include clustering/mirroring,
full-text indexing/searching, SQLMail, indexed views, partitioned views and SQL Agent.

I.O.W., although it will work fine for small traffic websites,
I would have thought it isn't designed for heavy-duty production websites.

Maybe we need to distinguish between
"light traffic" and "heavy traffic" regarding SQL Express ?

Maybe I just have the wrong impression, and the limitations listed don't amount to much ?|||

(Data mining, Data Transformation Services (DTS)
and reporting functions are not available for SQL Express.)

This is the calculus end it is not practical to expect it in a free edition and I would not run it even with the standard edition.


(Other functions not available in Express include clustering/mirroring,
full-text indexing/searching, SQLMail, indexed views, partitioned views and SQL Agent.)

Views are query rewrite edition is not relevant Partitioned Views are created with the UNION ALL SET operator and I don't think indexed views are affected either. Full text there is work around solution. Agent no and SQL mail is not there but the good SQL Server mail service is the Agent mail so you are not missing anything.

Parallel queries are seldom needed in OLTP(online transaction processing) and if you want all you have listed you need to host it in house with the Enterprise edition running on multi processor remember SQL Server license is per processor.

|||

Thanks, Caddre.

So, the next time I'm asked whether SQL Express is designed for production use, I should answer : yes ?

|||

Hi you are not exactly rights because in SQL Server Express SP 1 you have :

Microsoft SQL Server 2005 Express Edition Toolkit SP1
SQL Server Express Toolkit provides tools and resources to manage Microsoft SQL Server 2005 Express Edition, and to create reports by using SQL Server 2005 Reporting Services. The kit includes Connectivity Components, Business Intelligence Development Studio, Management Studio Express, and a Software Development Kit. To create reports by using Reporting Services, you must use Business Intelligence Development Studio.

Install Microsoft SQL Server 2005 Express Edition with Advanced Services(more...)

In addition to the features of SQL Server Express, certain additional capabilities are also available as part of Microsoft SQL Server 2005 Express Edition with Advanced Services (SQL Server Express). SQL Server Express with Advanced Services contains the following features:
SQL Server Management Studio Express, a graphical management tool based on SQL Server Management Studio that makes it easy to manage and administer SQL Server Express databases.
Reporting Services, an integrated report creation and design environment to create reports.
Full-Text Search, a powerful search engine for searching text-intensive data.

so you can do much more than in previous edition. check this page to see what you can get:

http://msdn.microsoft.com/vstudio/express/sql/compare/default.aspx

The only problem can be that Microsoft peoples say that SQL express is much slower than any other not free version of SQL Server, but based on my experience for small databases is not true, and I could not test for big because SQL express has a lot of size limits.

You can see all limitation of previous SQL Server express on page below, but SP1 remove some of this missing elements from the list:

http://msdn2.microsoft.com/en-us/library/ms165636.aspx

Thanks

JPazgier

|||

Juan T. Llibre:

Thanks, Caddre.

So, the next time I'm asked whether SQL Express is designed for production use, I should answer : yes ?

I am sorry I forgot to answer you yesterday, yes you can use Express to run small production site in house if you buy the Developer edition because you can use the Profiler and the database tuning advisor to improve performance your Express database.