getting started with microsoft sql products - sql

yesterday i went for an interview to be a sql / .net developer. my experience with sql is limited to basic pl/sql with oracle. they drilled me "do you know ssrs, do you know tsql, etc" well i kept saying no because i havent worked with them.
question: what do i have to learn in order to be able to work with microsoft sql? is it really that much different than oracle?

Grab a copy of SQL Server Express (see here) and start playing with it. There are sample databases that you can download to get you started.

SQL is the same, as it's a standard. T-SQL is an add on that has some flavors that are helpful to know. The way you setup procedures, functions, etc. is also different than PL-SQL, so that would be good to read up on. Outside the SQL Server engine and the various built-in tools, there are a lot of other MS products:
SSRS - SQL Server Reporting Services features a reporting engine, which are developed in Visual Studio.
SSIS - SQL Server Integration Services is a data import/export, etc. process, it's very handy to use for data import/export and other batch processing
SSAS - Analysis Services for OLAP
And so on. I don' tknow that SSAS helps you in this regard, but SSRS is pretty big so as a developer, reporting is a key feature and that would be handy to know something about. SSIS is good to know a little bit about, but might not be that handy, depending on what the org's needs are.
HTH.

SQL is pretty much SQL. There are some engine-specific differences but for most apps they're not significant. The management tools are obviously different. The OOB tools are vastly different.
SSRS is a reporting package (think Crystal reports on double steroids and you'd be close) not a DB engine. That should be listed as a separate job requirement.
I'd say get an MSDN license OR the free trial for SQL Server and install them all and try them out. Bookstore is a fairly generic app that you can extend forever and tryout new things.
Just keep in mind that someone hiring you is still going to want actual app experience, not your trials. If you can't get it at work, volunteer at an organization.

A good place to start is reading the MSDN SQL Server resource page. You'll find good information there about the whole MS SQL Ecosystem.
Then get a trial license, a virtual machine and start playing around.

It's kinda limited to their knowledge, as if you know basic ANSI sql then you can get almost all the basics running on SQL Server as they have a common base. As for SSRS, that is specific and will require reading and playing with it to learn. The SQL2008 Express with Advanced services should help you out.
With .net developer interviews I've been to they expect you to know the basics at minimum and be able to do joins and stuff in sql. Learning how to do temp tables and stored procedures as well as updates/selects/deletes and stuff should get you a bit further.
Potentially if they want that kinda experience either they are aiming the roll too low, or you've managed to slip through the net for a higher level role (which is sometimes a good thing) :-)

Related

Reliable PostgreSQL IDE/Database Developer Tool

Can someone recommend a great IDE/Database Developer Tool for Postgres 8.4. We are currently using EMS SQL Manager but it has so many bugs and shortcomings that its getting on my nerves. I reported the bugs to EMS but they have not been fixed yet.
I wonder what do people use for PostgresSQL development? Windows/Linux, commercial/free, standalone/eclipse plug-in, it does not matter as much. I just want a reliable tool that works and does not blow up in my face.
On PostgreSQL DB we do and would like to have IDE support for.
Tables, views, indexes, triggers
SQL, plpgsql, and python procedures that return single values, set of values or tables
SQL query and performance monitoring
DB role management
Good transaction support straight from GUI as well as support for BEGIN, COMMIT, etc
Any recommendations are welcome.
Edit: After many months we are still using EMS SQL Manager. I got used to certain shortcomings, some bug were fixed. I tried every possible PostgreSQL management program I could get my hands on and still in my opinion EMS SQL Manager is still the best.
pgAdmin is a popular one. It's free, and it runs on Windows and Linux. It's been a while since I have used it but I found it to be quite stable. Wasn't fond of the procedure code editor - it worked, I just didn't like it (but now I can't remember why, it was probably a minor thing).
Lightning Admin, commercial, postgreSQL and mysql, $50. The developer is very pro postgreSQL.
http://lightningadmin.com/

SQL Server 2005 DBA Learning Resource

So I have some experience with Microsoft Access, building database apps for people, vba, etc for different folks at work....different divisions. And I have actually learned a lot in that realm...however,
now the need for SQL Server has arrived, and I have never really ventured into that realm...so let the questions begin:
how vastly different is what i am about to get myself into?
i know that experience is the best teacher, but i actually learned a lot through books when it came to access, vba, sql, etc....so can anyone suggest materials/resources for learning like this??
seems as though I am going to have to learn to be the dba....so i gotta get crackin on the learning so i appreciate any and all help A LOT!! thanks!
Microsoft e-learning provides a few free courses and a free ebook targeting SQL Server 2008 here (not sure why you are targeting SQL Server 2005).
Of interest: SQL Server 2005 Learning Resources
Database design skills to some extent transcend the RDBMS; a big difference when moving from Access is the use of stored procedures and the T-SQL constructs available to you.
The Microsoft Press books are excellent.
SQL Server 2005 Books Online contains almost everything you need to know, but the structure is quite daunting at first.
One thing that is really worth learning is how to use is SQL Server Profiler, not just for profiling performance problems, but also for seeing what is happening behind the scenes.

Recommendations for good SQL Server Integration Services (SSIS) examples/samples for ETL?

I'm looking for some decent examples/samples using SSIS to do some ETL from one SQL Server database to another not necessarily within the same instance.
The idea is to migrate rows of data with their heirarchies (relationships) from one OLTP database to another.
There are some advantages SSIS offers us which makes it a good choice as the migration/ETL platform (amongst other things it needs to be fully configurable and able to be executed on an automated schedule).
Does anyone know of any decent samples/examples besides the MS community samples (on Codeplex)?
Edit: I've also had a look at http://www.sqlis.com/ though I haven't found exactly what I'm looking for..
There are Microsoft Tutiorials on how to use each Task Component and concept available here:
http://msdn.microsoft.com/en-us/library/ms141767.aspx
You will likely need to review several tutorials in order to aquire the knowledge to create a solution for your specific scenario.
Another excellent source of SSIS tips is Jamie Thomson's Blog. The man is a bit of wizard with SSIS:
http://blogs.conchango.com/jamiethomson/
Once you have had a look over the material, if you require specific assistance then feel free to drop a line.
Here are some good articles/tutorials from Microsoft on ETL:
http://technet.microsoft.com/en-us/library/ms169917.aspx
http://msdn.microsoft.com/en-us/library/cc671624.aspx
Check out the Sql Server Central and Sql Server World Users' Group (SSWUG) sites. If you can't find the examples/tutorials/experts you need in those two places, give up coding and take up cooking, because those sites are treasure troves!

Can you recommend a good source for Teradata Best Practices?

Looks like my data warehouse project is moving to Teradata next year (from SQL Server 2005).
I'm looking for resources about best practices on Teradata - from limitations of its SQL dialect to idioms and conventions for getting queries to perform well - particularly if they highlight things which are significantly different from SQL Server 2005. Specifically tips similar to those found in The Art of SQL (which is more Oracle-focused).
My business processes are currently in T-SQL stored procedures and rely fairly heavily on SQL Server 2005 features like PIVOT, UNPIVOT, and Common Table Expressions to produce about 27m rows of output a month from a 4TB data warehouse.
One place to start is here: http://www.teradataforum.com/
This might be a little late, but there are a few things which I can warn you about Teradata which I have learned.
Use the most recent version as often as possible.
For V12 the optimizer was re-written and the database performs much better now.
Try to realize that SQL Server and Teradata are very different beasts, most of the concepts will not transition well.
Do not underestimate the importance of a primary index.
The locks that teradata uses are very primitive when compared to other databases.
Do NOT use TERA mode. You do not have any code which is legacy, ANSI mode is far superior and is widely encouraged.
Join indexes are very helpful tools, but they do not provide all the answers.
Parallelism, take the time to understand how FASTLOAD, MULTILOAD, and TPUMP works and find out how one can leverage it with their ETL strategy.
If you are attempting to run a query which needs to be performant, do not use any casts, the optimizer will not use statistics to generate the best execution plan.
Working with dates are going to be a pain, just a warning.
Teradata is very DDL oriented, try to understand all the syntax related when creating a table.
Compression is a wonderful tool, if you have any values which are repeated in a table, make use of it.
There are not many tools available with Teradata, be prepared to build a lot. The tools that exist are very expensive.
Unfortunately, I do not know much about SQL Server, so I cannot say what tools in SQL Server appear in Teradata.
Hope this helps
I would also look into the recently launched Teradata Developer Exchange as well as the TeradataForum and forums on Teradata's main website.
I don't know of any good references available online. Teradata has some design manuals that are available for download, but they're more instruction manuals and not "best practices" as such. check them out here: http://www.info.teradata.com/DataWarehouse/eTeradata-BrowseBy.cfm?page=Teradata%20Database
Alternatively, you need to find a friendly Teradata expert to bounce ideas off. Try Teradata themselves, or find a local consultant with Teradata experience.
Best Practices on Teradata isn't a topic that gets lots of discussions and most of the best tricks tend to be proprietary knowledge of the person/people who discovered them.
Sorry,
David Stewardson
Satyam Computer Services
Top of the list on a Google search for "Teradata Best Practices" gave me TERADATA ADVISORY GROUP SETS BEST PRACTICES FOR BUSINESS OBJECTS AND TERADATA CUSTOMERS
EDIT: Seeing as that's just advertising, as you've pointed out, see how you go with these. Please bear in mind that I don't have a clue what Teradata is and can't see myself using it any time this side of the 22nd century AD.
Teradata Discussion Forums
Best Practices for Teradata Deployments
Best Study Guides For NCR Teradata Certifications
The middle one looks promising with it's nice long link tree at the top
Oracle® Business Intelligence Applications Installation and Configuration Guide > Preinstallation and Predeployment Considerations for Oracle BI Applications > Teradata-Specific Database Guidelines for Oracle Business Analytics Warehouse >
and the first link, to the forums, should put you in touch with the right people.

What do you use to write and edit stored procedures in Oracle?

There are many options for editing and writing Stored Procedures in Oracle; what is the best tool for you and why? (one tool per answer.)
Tool for Oracle Application Developers (TOAD), from Quest Software (formerly TOADSoft) has an excellent Stored Procedure editor with syntax highlighting, some autocomplete support (e.g. type in 'TABLE.' and the columns will appear), a nice Execute Procedure option that will show the results in a Grid or show DBMS output, and will also focus on syntax errors when you hit compile.
Note: The Freeware edition only allows 2 concurrent connections to the same Database Instance (even though the website says 5) - that means only 2 developers or DBA's can use it at the same time on the same Database. It also expires every 3 months but they're good at releasing updates.
I recently found the free Oracle SQL Developer.
nice looking GUI (makes you not poke out your eyes like the usual Oracle tools)
has many nice features, like showing tables filtered
lets you connect to multiple oracle instances at once
you can use sane configuration like ip:port username/password and do not have to use those strange TNSNAMES.ORA file based settings
you can set breakpoints and step through the code of stored procedures.
PL/SQL Developer from Allaround Automations.
I happily paid the $200 or so price for this.
Excellent IDE (+ good Intellisense, + debugging capability) with easy creation and editing of PL/SQL packages, SPs, Triggers etc
So much better than Toad.
Toad, from ToadSoft.com -> http://www.toadsoft.com/toad_oracle.htm
For someone like me who likes to work with a DBA tool like Microsoft's SQL Management Studio, it's a life saver.
As a professional PL/SQL developer I use (heh) PL/SQL Developer from Allaround Automations.
I've worked with TOAD for quite a long time but now it is quite overpriced comparing with PL/SQL dev. It has some advantages like knowledge base or ability to work with other RDBMS like SQL server but that's not a necessity for me.
But Notepad++ will always help to make occasional fix.
I always use PL/SQL Developer from Allround Automations.
http://www.allroundautomations.com/plsqldev.html
But some at our place swear by Toad
Use Oracle's own SQL Developer. If you are mainly working with Oracle, it does everything you'll need.
I use TOAD with our Oracle reports development, and I think that it's a good development tool. I normally toggle back and forth between a number of different Oracle instances and schemae, and I like the way that TOAD can display multiple windows for each instance/schema, or even more than one per schema.
TOAD takes a little while to learn and customize, but it's a worthwhile investment. The layout is similar to the Visual Studio .NET IDE with sidebars that can be anchored or rolled away. Tabs display different aspects of the Oracle schema, including procedures, jobs, stats, etc. And when I'm writing SQL, the editor uses color-coding and the error messages are Oracle-specific.
Toolset for Oracle (TOra) is a free, Open Source Database Tool very similar in scope (and look and feel) to Quest's TOAD
Compared to the freeware edition of TOAD, TOra allows multiple connections to different database instances at the same time, and has no concurrent connection limit (so any number of TOra users can be working on the same database instance)
I just used a standard editor (vim which then gave me syntax highlighting).
/Allan
I like SQL Developer from Oracle. Oh and its free! :)
I like Rapid SQL, you can debug SQL too
Notepad++ stays my favourite editor. I had to use SQL Developer in the past, it's not so "bad", but I encountered many problems with it. It proved very unstable so I wouldn't recommend it, or maybe only to test your procedures.
I use JetBrains IDEA (a Java IDE) to edit and SQL*Plus to execute. The advantages of using a tool with local version control, seemless integration into Source Version Control, advanced find and highlighting, great editing, 'live templates' and so on for me outweighs any advantage of having it 'database aware' (which with plug-ins you can get anyway). If I was coding up a complicated query I might fire up SQL Developer, but generally I prefer great text editing features.
I use Oracle SQL Developer - the latest version also has support for CVS and Subversion.
It has the bonus of supporting other database providers, too.
I have used this tool for 2 years and it has now settled down to be reliable.
I've used RapidSQL by Embarcadero on several different DB platforms, and it's awesome. It has an integrated step debugger, too. I haven't actually used it with Oracle, but I know it's supported.
Another vote for Oracle SQL Developer. It's free, it's stable and it does all the basics that I require.
With the mentioned SQL Developer you can even set breakpoints and step through the code of the stored procedure.
Yet another vote for Oracle SQl Developer. But TOAD works too.
A really good text editor with syntax highlighting (e.g. Textpad from www.textpad.com) and SQL Plus.
For me its, Oracle SQL Developer. The learning curve is very minimal if you have worked on IDEs like Eclipse or VS. You can set break points, read live values when you debug stored procs as you would do to code in eclipse/VS.
Ofcourse the UI is a bit sluggish at times but given that its free compensates the sluggishness.
I use Textpad, Clipmate and Quest SQLNavigator. The newer versions of Quest's SQLNavigator and TOAD are crap -- they tend to crash easily and don't play nice with XP/Vista/Win7.
I've spent hours with their tech support and they don't have alternatives.
You get no access to Quest programmers, but rather you get bogged down in their
trouble ticket process.
Quest needs to focus less on integration of different tools into one and selling you
promises that the next version will solve the instability issues.
They need stability.
This means cleaning up their existing codebase or starting over.
More competent programmers, fewer salespeople, fewer tech support people.
Fix the damn problems.
They focus on sales and it's an idiotic business strategy.
This seems to be a problem across the industry.
Quest's TOAD and SQL Navigator have become bloatware and will soon become abandonware
if they don't turn them around and make them more stable.
I copy and paste frequently between Textpad and Quest SQLNavigator because SQLNavigator
crashes and I lose all my sql code up to the point of crash.
I'll probably dump SQLNavigator once I find something more stable.
SQL Developer from Oracle
We have replaced all other tools at our (large well known) enterprise that has over 150 databases and it works just fine. It's not as good as TOAD but it is getting there, and (unlike TOAD) it's free.
SQL Developer also works well enough connecting to SQL Server