Author Archive

SQL Saturday Acquired By PASS

Tuesday, February 2nd, 2010

It is published in the Business Intelligence Developer Network (BIDN) today that the Professional Association for SQL Server (PASS) has acquired the SQL Saturday brand. This marriage is a great big news for the SQL Server Community! This is a WIN-WIN for all.

As a SQL Saturday organizer here in the Southern California Region, I think this fusion will greatly help advance the goals of the SQL Saturday Event. This is also great for the PASS organization as it will be enabled to further its reach down to the SQL Server Professional “grassroots”. It is a fact that many cannot afford to attend the annual PASS Summit. This is a great opportunity for everybody to have the chance to experience a glimpse of such a great event.

With PASS’ great pool of resources, I really expect that it will become easier to organize a SQL Saturday Event. I hope the acquisition will enable us, organizers, to have an easy access to all available resources.

Note: I am currently part of a group headed by Andrew Karcher ( Blog | Twitter ) organizing a SQL Saturday Event in the Southern California Region. We are now trying to finalize talks about the location. Stay tuned.


Tagged: PASS, sql saturday, SQL Server, sql server association, user group


Southern California Code Camp Fullerton

Friday, January 29th, 2010

It’s that time of year again. This weekend developers will come together to learn and mingle with co-developers at the Southern California Code Camp. I started attending this code camp a couple of years ago. This is a great event that offers a lot for free.  Southern California Code Camp is being held three times a year – Spring, Summer, and Fall. There is no reason to miss to attend at least one of these events.

Aside from the fact that this event is free, the lineup of speakers (who’s who in socal) and the quality of their presentations are too great to miss. This is also a great opportunity to know what’s new in the development and technology world in general. Top speakers will be present. MVP’s & Experts, some are from out of state, will share valuable knowledge that are readily applicable to the real world. Many attendees will find themselves applying their newly acquired knowledge to their job the next day after the camp.

The Code Camp is also an important opportunity to get connected with other developers. It really takes a community to learn. This event will get everybody’s learning experience to a different level. This particular Code Camp is special to me for a reason. This is my first time to attend the camp as a Volunteer. I am assigned at the registration desk on day #2 (Sunday). The part may not be big but I am just happy to help albeit in small ways. This is a good start at getting involved in the community.  See you there!


Tagged: Code Camp, developer community, volunteer


DTS To SSIS Migration: Unable To Cast COM Object Issue

Wednesday, January 27th, 2010

I need to migrate the exact package from SQL Server 2000 DTS to SQL Server 2008 SSIS. This particular package is OK to migrate using the “Migrate DTS 2000 Package” Wizard since I don’t have those complicated tasks that won’t simply migrate.

The Issue:

So I right-click the wizard but when I run it I am getting a “Unable to cast COM object…” error. More related errors will show up if you skip that error dialog.

The Solution:

When the issue involves “object” issues, chances are you are missing some needed libraries for the program to run. And that is the case in this particular issue. I am missing the Data Transformation Services 2000 Runtime. Please take note that this service is deprecated (Check info here).

Some forums (ok, fora) suggest that you install the DTS Runtime from the SQL Server 2000 installation files. If you do not have access to the installation files, you can download a feature pack from Microsoft that includes the runtime.  For this case, you particularly need to download the ” Microsoft SQL Server 2005 Backward Compatibility Components”. Although the title mentions the 2005 version, it is also compatible with SQL Server 2008 SSIS. You can download the package from this link.

kick it on DotNetKicks.com


Tagged: COM object, DTS 2000 Runtime, dts to ssis, package migration, unable to cast COM object


Events That Brought Me Here: A Vision of Hope

Monday, January 18th, 2010

Another great meme has been started by Paul Randal ( Blog | Twitter ) about the three major events that positively contributed to what he is today. I was tagged by K. Brian Kelley ( Blog | Twitter ) in his version of the story. I’ve been tagged a couple of times last year but I never responded back. It is one of my resolutions this 2010 to respond when tagged in a meme.

Collegiate Seminary Life

I finished college inside a catholic seminary with a Bachelor of Arts Degree Majors in Philosophy and Mass Communication. I have truly learned to love Philosophy as a school of thought. I took up Mass Communication as my second major only because I thought I can handle it and “double major” sounded better. If there was one thing I learned from Mass Communication, it is that I have come to appreciate the Mass Media and its significant role in our society.

The seminary has taught me great deal of life-lessons. I have learned to co-exist along other great folks. There I learned the truest meaning of communal life – I lived and breathed ‘community”. This is the reason why I really, really put great importance to the ‘community’. Outside of the community, you are just a lone, mindless being. The seminary has taught me how to deal with life in general.

Post Seminary Life

After I graduated from – and eventually left – that collegiate seminary in 2000, I thought I was prepared to face life. Faced life, yes I did. But I was kind of lost as to what I really wanted career-wise. I spent a couple of years in doing sales job (Philippines). Fast forward – United States. I decided I have to reboot my life. I went back to college to get a degree in medical field (Nursing). I can feel then nursing wasn’t meant for me but I still insisted on it. But I gave it up – not until I lost some money and, oh yes, effort and time. Meanwhile, I was already working in a document and information management company (I have worked as production associate  in a similar company prior to this). Just like the first one, I started in the production floor. Then I met… MS Access. I discovered working around data was fun. Manipulating data to produce meaningful reports that helped managers to deal with the flow of production on a day-to-day basis was even more fun! So the managers thought I can be more productive if they move me to the IT room. “IT” for small companies means everything and all things around its network infrastructure. I discovered that there was a more exciting technology beyond MS Access, and it was its “bigger version” – SQL Server (2000 version at that time). I tried to learn to get up to speed with the technology. I never came close to being expert but I was able to become an asset to the whole department. The beauty of working in a small company is that you are given the opportunity to work in the different aspects of the network – infrastructure, databases, business in general, etc.

Now and Beyond

After few years in that company, I decided it was time to look beyond and set my eyes to the bigger picture – bigger multinational-companies in this context. I was aggressive to move on with my new-found “calling”. In the last few years in that small company, I was pretty much on the speed career-wise. I’ve been learning lots of technology stuff and accumulating great deal of technical know-how’s. So, I was able to get a job in a big, big company. Then reality hit. I am no longer the “new kid rockstar” that I and my boss in that small company thought I was. I’m back to square one. If I made the wrong decision, I will never know. What I intended to do was to move forward. If starting from step one is all it takes to launch into the sky, then be it. This is a slow start, and I am trying to speed it up. And I am willing to pay the price.

In 2008 I started attending the Southern California Code Camp. It was my first taste of community event in the tech-world. That was where I learned about developer/technology user groups – and there exist such communities around where I live. I am trying to get myself involved in these communities. I cannot remain a spectator. I need to give back. This is also my “career theme” for 2010 – “Speed It Up, Get Involved!” The primary goal is contribute to the community in any way I can – this is the end. And I hope to speed up my career as the by-product of this effort.

Note: I am currently working with a group headed by Andrew Karcher ( Blog | Twitter ) to bring SQL Saturday to the Southern California Region.

I am tagging:

Jorge Segarra ( Blog | Twitter )

Jason Massie ( Blog | Twitter )

Ted Krueger ( Blog | Twitter )

Follow me: @MarlonRibunal


Tagged: Career, meme


SQL Server 2008 Backup Compression

Thursday, January 14th, 2010

With SQL Server 2008 Enterprise Edition, you can create compressed backups. Compressing your database backups has both its advantages and disadvantages – the tradeoffs. Most of its advantages are tied in with the reduction of the amount of data stored on the disk and with the speed of the backup and restore processes. It may have adverse impact on CPU usage, though. One suggested workaround on the CPU usage problem on backup compression is to run the backup under a user login and limit that login CPU usage by using Resource Governor.

Let’s see how backup compression works in SQL Server 2008.

Native Backup Compression

I have here a 507MB database called “Compression_Test”. What we’re going to do is back it up first without compression and compare the backup file size later with a compressed one.

That 507MB database took about 1.444 seconds to process and gave us about 16MB backup file –  processing about 11MB of data per second.

Now, let’s backup the same database (507MB) with the built-in compression mechanism of SQL Server 2008.

As you can see, it only took about 0.935 seconds – at rate 16.986MB of data processed per second. This also saved us some storage as the the backup file is only about 3MB (compared to 16MB+ without compression).

Let us see if the compressed backup file is “really compressed”.

Third Party Backup Compression Tool

It was announced yesterday at twitter via Brent Ozar ( Blog | Twitter ) that Quest Software LiteSpeed Engine for SQL Server has been released. A trial version is also available if you want to give it a shot.

LiteSpeed Engine for SQL Server is a ” driver based technology that allows database backup administrators to seamlessly take advantage of LiteSpeed’s compression and encryption capabilities without having to modify existing SQL scripts.” You have to configure it after installation to use it as the backup engine for SQL Server 2008 (built-in compression). A video tutorial on configuring and overview of LiteSpeed Engine for SQL Server can be found in this video by Brent Ozar.

I don’t really have a huge database to test except that same 507MB database we’ve used to test compression in the above examples.

The backup process using LiteSpeed Engine for SQL Server shows an improvement if compared to the native backup compression of SQL Server 2008. I was able to backup the 507MB database faster in about 0.886 second which is about 17.926MB/sec. You can just imagine just how much this would make a difference if your backing up terabytes of data.

We’ve seen that, performance-wise, LiteSpeed Engine for SQL Server is more efficient. But the size of the backup file is a little bit different story.

The LiteSpeed Engine for SQL Server processed a backup file that is slightly bigger than that of the native backup compression of SQL Server 2008. Reconfiguring it to compress at Level 2 decreased the backup file size dramatically, even smaller than the native compression.

These tests show that LiteSpeed Engine For SQL Server clearly delivers its promise of “reduced backup times”and has truly a “zero impact to existing backup strategies” (it does not mark the backup file as “compressed”, though).

Summing it all up, the native backup compression of SQL Server 2008 is good enough for backup purposes. But if speed and backup times are critical to your operations, then using third party backup compression tools, such as the LiteSpeed Engine for SQL Server, should be considered.


Tagged: Backup, Backup Compression, Compression, LiteSpeed Engine for SQL Server, SQL Server


SSIS 2008 Flat File Source Issue

Wednesday, December 23rd, 2009

Ok, this might be my last post for this year, 2009. This is more of a note to myself than a blog post. Anyway, I want to document the issue that I have encountered and the solution that I have found through the help of  Todd McDermid (Blog | Twitter) and Andy Leonard (Blog | Twitter), so that it might help those who might be in the same situation.

A portion of a DTS package that I migrated to SSIS 2008 has some discrepancy. I was not getting the exact count of rows from my Flat File Source (Tab Delimited Text File in this case). I checked the DTS, and the Row Count pumped into the SQL Server 2000 matched that of the text file source. The Row Count pumped into the SQL Server 2008 from SSIS 2008 is short of about 10%. I could have fixed this by “correcting” the source text file but that wouldn’t work. I was tasked to bring solution to the current process. The process itself is to remain intact.

What was the issue?

Some records from the source text file do not have all the required columns. In DTS, this is fine. DTS knows how to deal with that by assumption. DTS can simply handle it. It is not the case with SSIS 2008 (and SSIS 2005, I guess). What is going on in SSIS 2008 in the situation just described is, and I am quoting Todd McDermid in this SSIS Forum (similar case was also documented in this Forum, also see this for other links to blogs discussing the same issue):

The Flat File Source in SSIS does not respect the “end-of-line” delimiter to indicate that the line is complete.  It reads in data until it sees a column delimiter, then proceeds to fill the next column.  It will continue until it has read in enough data (and column delimiters) to fill all of the columns of a row – regardless of whether it encountered an end-of-line delimiter in the data.  Once it has filled all of the columns that it expects, I think it then searches for the end-of-line.

That is exactly what was happening in my case. I tried to isolate the rows that did not make to the target table and I could see “combined columns” in a field. SSIS won’t give you errror message on this. Everything will run successfully. That’s makes it harder to investigate the issue.  Thank God for Twitter.

What is the Solution?

Simply put, I needed a better Data Flow Source Component. I cannot run the same old DTS from within SSIS. That would only defeat the purpose of migrating the old system (DTS & SQL Server 2000) into the new one (SSIS & SQL Server 2008).

First, I tried Delimited File Reader Source Component from Codeplex. But that did not solved the issue. It was throwing some “Row Overflow” issue and SSIS is failing the source component.

The second component that I tried worked. SSIS Delimited File Source Component (SSIS DFS 2008), also from Codeplex, “solved” my problem. You can find a documentation of DFS here.

kick it on DotNetKicks.com


Tagged: dts, missing column, missing data in ssis, missing row, sql server 2008, SSIS, ssis text problem


Saving Table Changes in the Design Option

Wednesday, December 2nd, 2009

Problem: You have just modified a table in the Design Option in SQL Server 2008 Management Studio but it will not allow you to save the changes you made. You are getting an error that says:

“saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created…”

You can find the *solution* in this post by Tim Edwards (Twitter | Blog). I have encountered this issue few times and I thought it was an issue in SSIS or something (I was modifying lots of target tables). If I read Tim’s post on this prior to when I was having this issue, I should have saved a handful of time.


Tagged: drop and recreate table, sql server 2008, ssms 2008, table recreate


The Growth of the Professional Organization for SQL Server

Saturday, October 17th, 2009

The Professional Association For SQL Server (PASS) Election Committee needs to review its nomination process. It needs to be more transparent so the members can make better decision as to who to choose to be in the Board of Directors. The future of PASS is in the hands of this team. What path the organization decides to tackle will be decided upon by them.

The interview of Brent Ozar with one of the candidates has opened more than the door to a one man’s mind. It has rather exposed what could be lying beneath the organization goals for the future. Obviously the nomination of this gentleman to the Board of Directors bespeaks of something beyond the obvious. The PASS as an organization is now trying to cross some demarcation which is currently not discernible. We could only smell some hints. You all know by now that I am talking about Matt Morollo (Twitter) who is nominated to the Board of Directors of PASS. This gentleman’s position is very clear in the syllogism he posted at his Twitter stream: “A core charter for PASS is about growth; MEDIA & Marketing is the solution.” On which basis did he draw that conclusion from? Do growth and media go hand in hand? What aspect of growth is he trying to consider? Has there been a “problem” pertaining to growth of the organization that “media & marketing” can solve?

Any organization similar to the structure of the PASS organization needs some sort of marketing. Media plays an important role in the promotion of the organization’s objectives. But is it right to let marketing and media drive the growth?

Did anyone conduct a study beforehand that will attest Mr. Morollo’s notion, that, indeed, “media & marketing will drive growth of PASS”? When you find “media & marketing” and “growth” in a single sentence, it is very difficult to elicit the meaning it is trying to convey. Is PASS trying to become a “Media Company”? Or is it attempting to reinvent itself as B2B Organization?

PASS has been running successful events. I am not sure if injecting “Media Organization Philosophy” is the right thing to do to advance PASS fundamental principles of “helping its members Connect, Share, and Learn“.

It is true that the “core charter for PASS is about growth”; but the context of that growth must be spelled out beyond media and marketing. The pursuit of Growth that the organization is striving for should only be driven by its fundamental ideals:

Help Members to Connect

Connection is the lifeblood of any organization. It is the principle that binds the individuals together to form one body. Without this connection the organization will not thrive. The organization must keep all channels of communication open to maintain connection. Social networks and other tools provide opportunities for such communication to take place. All members must be engaged in some form of communication whether in blog, twitter, or any other means. This also means reaching out to people who are not aware of the existence of the organization. So is this where “media” comes in? I’d say, No. Conducting quality events like Code Camps, SQLSaturdays, User Group Meetings, and the like will make this happen more effectively than spamming people with meaningless scribbles and annoying graphics such as the event flyers that media companies send for conferences.

Help Members to Share

If connection is the lifeblood of any organization, the passion to help one another is the vitality that secure the foundation of the organization. The whole is greater than the sum of its parts, so they say. That wholeness is guaranteed as long as the individuals are always willing to share in any way that contributes to the attainment of the goals of the organization. Sharing in the context of the PASS organization does not only connote sharing of technical knowledge among its members. Sharing must be encouraged to go all out beyond the walls of the organization. SQL Server as a technology has evolved and is evolving toward advancement. This progress has caught significant attentions in the database industry. Reaching out to as many people as possible in every opportunity is an important ingredient to growth. Share knowledge to those who need it and create the opportunity of needing such knowledge.

Help Members to Learn

The beckon of PASS is its ability to provide quality and proper learning to its members. There is always that need to connect when there is always the need to learn. This is how civilization has thrived and advanced. It is natural for individuals to seek some sort of knowledge. This characteristics happen to be natural to SQL Professionals as well. Challenges in the workplaces push one to seek solutions; and, the process necessitates the need to learn.  What is better place to look for answers or solutions than in a group of people sharing common needs, common values, and common goals.

Conclusion

These three primordial principles define the very existence of the Professional Organization for SQL Server. The core charter of the organization is about growth; but growth is not the end itself. PASS is an organic group sustained by the cohesion of real human relationships and driven by the need to learn and the spirit of sharing. When these elements are factored in, “media and marketing” becomes irrelevant.

Related Posts By other PASS Members:

Its the Transparency, Stupid” by Chuck Boyce (Twitter | Blog)

All aTwitter About PASS Nominations” by Stuart  Ainsworth (Twitter | Blog)

Follow me at Twitter – @MarlonRibunal

Read “About PASS” here. Download the PASS Bylaws here (Thanks to Stuart for the link)

kick it on DotNetKicks.com


Tagged: Board of Directors Election, PASS ELECTION, PASS. #SQLPASS, Professional Association for SQL Server


SSIS 2008 Quick Notes

Friday, October 16th, 2009

These are some of the few things I’ve learned. These are very basic but it should save some newbies  some time specially when dealing with Flat file sources and stored procedures.

Data Type on Text File

If you have a NVARCHAR column in your target table you have to set the data type of your source column to UNICODE STRING [DT_WSTR]. Don’t forget to adjust the data width accordingly to avoid “Truncation issue” in the execution.

I have set the columns that go to a DATETIME data type with DATABASE TIMESTAMP [DT_DBTIMESTAMP]. That works for me.

Stored Procedure Input Variable

This should be a non-issue because this is easy to figure out; but, this is a helpful tip to a newbie nonetheless.

When executing a parameterized stored procedure in a SQL TASK with OLE DB Destination (suppose we have a stored procedure with two variables):

Syntax will be “EXEC sp_MyStoredProc ?, ?” (without the quotes, of course). Then you create User Variables with appropriate data types & values at the Package Level (I guess this is called “Global Variables” in DTS). The next step is to map those variables inside the SQL TASK.

That is all. More notes to come.

kick it on DotNetKicks.com


Tagged: Data type, Flat File Source, flat file to ole db table, SQL Task, SSIS, unicode string, Variable Lock error

Setting Up The SQL Lab

Saturday, October 3rd, 2009

I haven’t made any substantial progress yet on building my SQL Lab at home. What I have done so far is check my hardware. There is nothing fancy about my hardware setup – just a couple of Pentium 4 machines. I have not installed Server OS yet, so there is not much to share right now except for few pictures that I have captured.

SQLLab2

The machines that you’re seeing above are Dell Dimension 8400, 3.6GHz, 2GB RAM & Compaq Evo 2.0GHz, 1GB RAM. The laptop is 13.3″ Sony Vaio SZ-230PB, 1.83GHz, 2GB RAM. The 2 monitors are Dell 17″ and the bigger one is Westinghouse 24″ LCD Multifunctional Monitor.

Here are other pictures:

SQLLab1

The hardware in action:

SQLLab3


Tagged: sql lab, sql server training