Friday, October 31, 2008 |
|
|
|
Friday, October 31, 2008 12:28:16 PM (Central Standard Time, UTC-06:00) | | Web_Blog
|
|
|
|
Tuesday, October 28, 2008 |
|
|
An often overlooked feature of SQL Server Enterprise Edition is support for advanced scanning, referred to as merry-go-round scans. Often I'm asked about the differences between enteprise edition and standard, this is one that I often forget about this one. Recently I was researching some information on read-consistency problems ( nolock etc) and came across this type of scan. There are many resources about the differences, i've quoted some here below, and also list the reference.
From:
http://blogs.msdn.com/boduff/archive/2008/01/24/why-should-i-use-sql-enterprise-edition.aspx
http://www.microsoft.com/Sqlserver/2005/en/us/compare-features.aspx
http://www.sqlmag.com/Articles/Print.cfm?ArticleID=49285
There are some key enterprise edition only performance benefits across RAM, Parallelism, Query Plans and DISK I/O that will lead to better performance on high end systems, which I will try to list here.
1) Lock Pages in Memory
Lock Pages In Memory" allows SQL Server 2005 to manage its own memory (as opposed to having the operating system do it). It is extremely important to give this right to the SQL Server Service account, especially on 64-bit SQL Server 2005 systems with lots of RAM. It also is required on 32-bit systems to enable AWE.
See http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-assign-the-lock-privilege-for-local-system.aspx
2) Advanced Scanning (aka Merry-go-round scan)
In SQL Server Enterprise Edition, the advanced scan feature allows multiple tasks to share full table scans. If the execution plan of a Transact-SQL statement requires a scan of the data pages in a table and the Database Engine detects that the table is already being scanned for another execution plan, the Database Engine joins the second scan to the first, at the current location of the second scan. The Database Engine reads each page one time and passes the rows from each page to both execution plans. This continues until the end of the table is reached.
See http://msdn2.microsoft.com/en-us/library/ms191475.aspx and Merry-Go-Round Culprits for performance variances
3) Larger Read Ahead Buffering on Storage Devices
Determining I/O section mentions that EE does up to 1024k read ahead buffering on a Storage Area Network (std only does 64k). This indicates that EE is more suitable to SAN’s which need more buffering due to increased latency.
http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/pdpliobp.mspx
4) Large Page Extensions
SQL Enterprise Edition retrieves pages up to eight at a go.
http://msdn2.microsoft.com/en-us/library/aa337525.aspx
5) Parallel index Operations
This is particularly useful in data warehouses where indexes may be frequently dropped and re-created.
http://msdn2.microsoft.com/en-us/library/ms189329.aspx
|
Tuesday, October 28, 2008 2:34:34 PM (Central Standard Time, UTC-06:00) | | SQL Server
|
|
|
|
Sunday, October 26, 2008 |
|
|
|
Sunday, October 26, 2008 6:17:40 PM (Central Standard Time, UTC-06:00) | | Web_Blog
|
|
|
|
Friday, October 24, 2008 |
|
|
Finally the one set of doors and one window are installed.
Dealing with an unlevel floor and walls that are not plumb are a joy.
 |
Friday, October 24, 2008 6:50:05 AM (Central Standard Time, UTC-06:00) | | Web_Blog
|
|
|
|
Wednesday, October 22, 2008 |
|
|
SQL Agent job listing, jobs, steps and tsql / commands executed.
Not really useful, but helpful when someone wants to see all the jobs and the steps they are executing.
Save as an excel file, or publish to rdl and push to a reporting site so they can always see it themselves....
select sj.name,sj.description,sjs.step_name, sjs.subsystem,sjs.command,sjs.database_name, sjs.output_file_name from sysjobs sj inner join sysjobsteps sjs on sj.job_id = sjs.job_id -- where sj.name like 'cy%' order by sj.job_id,sjs.step_id
|
Wednesday, October 22, 2008 12:05:02 PM (Central Standard Time, UTC-06:00) | | SQL Agent
|
|
|
|
Tuesday, October 21, 2008 |
|
|
Error: 8646, Severity: 21, State: 1. Unable to find index entry in index ID 1, of table 1877581727, in database 'db name here'. The indicated index is corrupt or there is a problem with the current update plan. Run DBCC CHECKDB or DBCC CHECKTABLE. If the problem persists, contact product support.
Recently ran into a serious issue with SQL Server issueing the above message under load. After shutting things down and running check db there was no corruption, but every time a particular stored procedure was executed under load, stack dumps would occur with the above message in the Error Log.
With the help of Microsoft support we isolate the issue to a particular delete statement that was being executed with a join to another table and a where clause. The query was performing a hash join and there is some bug that was causing a problem. Microsoft continues to research the issue, but recommended we use a query hint to force a merge join to resolve the problem. Testing indicates that the problem has gone away.
Old Query:
DELETE FROM {child table}FROM {child table} aq, {parent table} a WHERE aq.id = a.id AND ( a.status_id in (4, 5, 6, 7) OR type_id = 3 OR a.match_id =2 AND a.id%@p_in_threads = @p_in_thread_no
New Query
DELETE FROM {child table} FROM {child table} aq, {parent table} a WHERE aq.id = a.id AND ( a.status_id in (4, 5, 6, 7) OR type_id = 3 OR a.match_id =2 AND a.id%@p_in_threads = @p_in_thread_no option (merge join) |
Tuesday, October 21, 2008 11:23:07 AM (Central Standard Time, UTC-06:00) | | SQL Server
|
|
|
|
Monday, October 20, 2008 |
|
|
The roof is done.
I still have some caulking and and gutter work, but for the most part it is leak proof.
 |
Monday, October 20, 2008 11:05:13 AM (Central Standard Time, UTC-06:00) | | Web_Blog
|
|
|
|
Sunday, October 19, 2008 |
|
|
|
Sunday, October 19, 2008 11:00:29 AM (Central Standard Time, UTC-06:00) | | Web_Blog
|
|
|
|
Saturday, October 18, 2008 |
|
|
She's running good, park in the driveway. Standing out front, enjoying a cold beer, thud. Muffler down.
 |
Saturday, October 18, 2008 10:55:28 AM (Central Standard Time, UTC-06:00) | | Cars
|
|
|
|
|
|
Saturday, October 18, 2008 6:50:11 AM (Central Standard Time, UTC-06:00) | | Web_Blog
|
|
|
|
Tuesday, October 14, 2008 |
|
|
|
Tuesday, October 14, 2008 8:52:07 AM (Central Standard Time, UTC-06:00) | | Web_Blog
|
|
|
|
Wednesday, October 08, 2008 |
|
|
I have done some recent work on MySQL. Most of my work on the database side pertains to MS SQL Server, Oracle and DB2 but at times, I have done some MySQL related work as well. Here are some good links on MySQL:
- MySQL white papers: http://www.mysql.com/it-resources/white-papers/
- MySQL case studies (yahoo, Cox Communications, AP, etc.): http://www.mysql.com/it-resources/case-studies/
- MaxDB information: http://www.mysql.com/products/maxdb/
(MaxDB is an enhanced SAP DB, with cursors, stored procedures, triggers, views, etc.) … see http://dev.mysql.com/downloads/maxdb/7.5.00.html
- Database comparison tool: http://dev.mysql.com/tech-resources/features.html (compare against SQL Server, Oracle, postgres, etc.)
- MySQL Reference Manual: http://dev.mysql.com/doc/mysql/en/
- The main dead tree reference guide would probably be High Performance MySQL. There’s a list of others at http://dev.mysql.com/books/
|
Wednesday, October 08, 2008 9:45:55 AM (Central Standard Time, UTC-06:00) | | General Technology
|
|
|
|
Monday, October 06, 2008 |
|
|
Recently needed to check the uptime of some windows server, mostly to verify that we had rebooted them all.
Quickly found a command line:
There are two options
1 - net statistics server
2 - SystemInfo |FIND /I "System Up Time"
Be nice to include this in my monitoring program, so it could be quickly queried from a centralized place, or embed this in some windows script that could take a list of them and run it remotely.
Thanks to Rick Mcintosh. |
Monday, October 06, 2008 10:08:30 AM (Central Standard Time, UTC-06:00) | | General Technology
|
|
|
|
Friday, October 03, 2008 |
|
|
The controls with asp.net are great, some of us can remember programing in asp and request.response, but asp.net has been great....with the exception of the asp.net treeview.
I've tried using this thing off and on for months, really digging in recently and have come to the conclusion, that I am better off creating my own treeview control.
I think for simple requirements the treeview control works great, but my requirements were to create a dynamically driven treeview loaded from a database as each node is clicked. Somehow this just causes the treeview control to loose it's brain, viewstate and postbacks didn't work, slowly I began building up so many hacks to make it work, that I just couldn't believe it. You have to know when to give up, and I was there.
I created my own tree view for my knowledge base, and it's located here: http://www.lifeasbob.com/code/kb_articles.aspx.
It uses a combination of post backs and query strings to manipulate and display articles, search them too (though I need to work on that some more), also for me I have the ability to add, edit and delete them off the treeview.
I feel very satisfied with my own version of the treeview, as I understand everything about it and don't have to worry about the voodoo asp.net treeview control loosing state and the myriad of other issues I ran into. I tried many of the websites below for help, and they were great, but ultimately the damn thing still didn't work, mine does, code done.
http://www.mredkj.com/vbnet/scriptCallback.html
http://aspalliance.com/732
http://www.dotnetjunkies.com/Article/E80EC96F-1C32-4855-85AE-9E30EECF13D7.dcik
http://www.bulahema.com/en/aspnet20treeviewwithoutpostbacksolved |
Friday, October 03, 2008 12:38:48 PM (Central Standard Time, UTC-06:00) | | RegEx
|
|
|
|
|
|
|
| Archive |
| August, 2010 (2) |
| May, 2010 (2) |
| April, 2010 (3) |
| March, 2010 (1) |
| February, 2010 (4) |
| January, 2010 (1) |
| December, 2009 (3) |
| November, 2009 (2) |
| October, 2009 (2) |
| September, 2009 (5) |
| August, 2009 (4) |
| July, 2009 (8) |
| June, 2009 (2) |
| May, 2009 (3) |
| April, 2009 (9) |
| March, 2009 (6) |
| February, 2009 (3) |
| January, 2009 (8) |
| December, 2008 (8) |
| November, 2008 (4) |
| October, 2008 (14) |
| September, 2008 (10) |
| August, 2008 (7) |
| July, 2008 (7) |
| June, 2008 (11) |
| May, 2008 (14) |
| April, 2008 (12) |
| March, 2008 (17) |
| February, 2008 (10) |
| January, 2008 (13) |
| December, 2007 (7) |
| November, 2007 (8) |
|
|
|
|