Showing posts with label SQLServer. Show all posts
Showing posts with label SQLServer. Show all posts

Thursday, April 17, 2014

SQL Server 2014 Secret Killer New Feature, Cardinality Estimator (okay, it's not Secret, but it seems pretty killer...)

Jimmy May's Blog - MSDN Whitepaper: More Cowbell—Optimizing Your Query Plans with the SQL Server 2014 Cardinality Estimator

Hot off the presses is this new MSDN white paper:

Optimizing Your Query Plans with the SQL Server 2014 Cardinality Estimator

One of the gems introduced in SQL Server 2014 is the Cardinality Estimator (CE)—new! improved! & now with more cowbell.  I'm thrilled to be a Technical Reviewer for a superb MSDN white paper authored by my friend, buddy, & pal Joe Sack (b|t). It's exciting & humbling to see my name among such an array of Contributors & Reviewers—including several former colleagues from Azure CAT (formerly SQL CAT b|t).

What’s a CE?

As described on the Cardinality Estimation (SQL Server) page:

Cardinality estimates are a prediction of the number of rows in the query result. The query optimizer uses these estimates to choose a plan for executing the query. The quality of the query plan has a direct impact on improving query performance.

Why a New CE?

The pre-existing CE is more than a decade old.  Both OLTP & DW workloads have changed—& databases are bigger by far than they used to be.  Often, cardinality changes spawned disparate plans (in one prototype, over 78 different plans were generated by the former CE).  Plainly & simply—the CE needed more cowbell.

What’s New?

During SQL14 TAP, SQL Engineer Kate Smith provided a heads up.  Highlights included:

image

Optimizing Your Query Plans with the SQL Server 2014 Cardinality Estimator

Summary: SQL Server 2014 introduces the first major redesign of the SQL Server Query Optimizer cardinality estimation process since version 7.0.  The goal for the redesign was to improve accuracy, consistency and supportability of key areas within the cardinality estimation process, ultimately affecting average query execution plan quality and associated workload performance.  This paper provides an overview of the primary changes made to the cardinality estimator functionality by the Microsoft query processor team, covering how to enable and disable the new cardinality estimator behavior, and showing how to troubleshoot plan-quality regressions if and when they occur.

Authors: Joseph Sack (SQLskills.com)

Contributers: Yi Fang (Microsoft), Vassilis Papadimos (Microsoft)

Technical Reviewers: Barbara Kess (Microsoft), Jack Li (Microsoft), Jimmy May (Microsoft), Sanjay Mishra (Microsoft), Shep Sheppard (Microsoft), Mike Weiner (Microsoft), Paul White (SQL Kiwi Limited)

image

Introduction

The SQL Server Query Optimizer’s purpose is to find an efficient physical execution plan that fulfills a query request. It attempts this by assigning estimated costs to various query execution plan alternatives and then choosing the plan alternative with the lowest estimated cost. One key factor for determining operator cost is the estimation of rows that will be processed for each operator within a query execution plan. This row estimation process is commonly referred to as cardinality estimation. SQL Server 2014 marks the first, significant redesign of the SQL Server Query Optimizer cardinality estimation component since version SQL Server 7.0.

The SQL Server query optimization process seeks the most efficient processing strategy for executing queries across a wide variety of workloads. Achieving predictable query performance across online transaction processing (OLTP), relational data warehousing, and hybrid database schemas is inherently difficult. While many workloads will benefit from the new cardinality estimator changes, in some cases, workload performance may degrade without a specific tuning effort.

In this paper, we will discuss the fundamentals of the SQL Server 2014 cardinality estimator changes. We will provide details on activating and deactivating the new cardinality estimator. We will also provide troubleshooting guidance for scenarios where query performance degrades as a direct result of cardinality estimate issues.

...

Summary

SQL Server 2014 marks the first significant redesign of the SQL Server Query Optimizer cardinality estimation process since version 7.0. Use of the new CE can result in an overall improvement in average query performance for a wide range of application workloads. The new CE also provides diagnostic output for use in troubleshooting cardinality estimate issues. As described in this paper, some workloads may encounter degraded performance with the new CE. We recommend that you thoroughly test existing applications before migrating. When using the new CE, users can leverage trace flags to use the legacy model for queries that regress. This allows you to still benefit from queries that improved under the new model.

I've been hearing a number of good things about SQL Server 2014's new Cardinality Estimator, for example, The SQL 2014 Cardinality Estimator Eats Bad TSQL for Breakfast. If you've been hearing the same thing, or are just interested, you should check out this 43 page doc.

Wednesday, April 16, 2014

On SQL Server 2005, 2008, 2008 R2, 2012? Here's what you get when you jump to SQL Server 2014

A Story of BI, BIG Data and SQL Server in Canada - SQL Server 2014. Benefits of upgrading from SQL Server 2005, 2008, 2008R2 and 2012.

image

Are you running a previous version of SQL Server and want to know what new SQL Server capabilities you will be able to use by upgrading to the latest version?

Please find below the list of new features introduced since SQL Server 2005, 2008, 2008R2 and SQL Server 2012 (it will be a very long blog post!).

SNAGHTML1706301

SNAGHTML170155e

I thought this a great roll-up of features added to SQL Server in the last decade. Prefect if you're a version or two (or three) behind.

Tuesday, April 08, 2014

Providing your users some DBaaS (that's Database as a Service)

Microsoft Downloads - Database as a Service Reference Architecture Guide: SQL Server 2014

Explains how to build an infrastructure for hosting Microsoft SQL Server Database as a Service by using the features of SQL Server 2014 and Hyper-V virtual machines with Microsoft System Center 2012.

Version: April 2014

Date Published: 4/7/2014

Database Hosting Reference Architecture Guide_SQL_2014.docx, 302 KB

This guide explains how to build an infrastructure for hosting Microsoft SQL Server Database as a Service (DBaaS). By using the features of SQL Server 2014 and Hyper-V virtual machines with Microsoft System Center 2012, a hosting service provider can start with very small tenant databases and scale to meet the needs of the largest and busiest SQL Server applications. This reference architecture includes information about hardware, software, system design, and component configuration.

image

image

...

image

1 Overview

This guide to building the infrastructure for hosting Microsoft® SQL Server® Database as a Service (DBaaS) is not limited to a particular type of hardware. By using the features of SQL Server 2014 and Hyper-V® virtual machines with Microsoft System Center 2012, a hosting service provider can start with very small tenant databases and scale out or scale up to meet the needs of the largest and busiest SQL Server applications. This reference architecture includes hardware, software, system design, and component configuration.

2 Hosted Services

Database as a Service, for the purposes of this reference architecture, is a multitenant offering with isolation at the SQL Server database level. Many tenants can share an instance of SQL Server 2014 Enterprise Edition, each tenant with its own database. SQL Servers are hosted on Hyper-V virtual machines running Windows Server® 2012 R2 or using Windows® Core services. Hyper-V virtual machines are managed and monitored by System Center 2012 R2 Virtual Machine Manager and Operations Manager.

A hosted service provider (HSP), the intended audience for this guide, may offer a single server or many hundreds or thousands of servers. Servers may be in the same data center or distributed across data centers for load balancing and disaster recovery.

As an HSP, you make individual SQL Server databases available to the tenant with an agreed-upon maximum size and an agreed-upon amount of resources available. You are responsible for maintaining the SQL Server instance, the virtual host, and the physical host compute, network, and storage infrastructure.

You can secure a single instance of SQL Server easily. When you use the Partially Contained Database and Contained Users features of SQL Server 2014, a database can be made into a secure environment. Users cannot access other databases or the metadata about tenant databases.

You can also use the SQL Server 2014 Enterprise Resource Governor to prevent a single user or a single tenant from using too much of the available resources, and resource usage can be balanced among tenants.

In a SQL Server 2014 DBaaS environment, each tenant is responsible for the data in his SQL Server database. Tenants create the database architecture consisting of objects that store data and application code to maintain and search data and return results to clients. Within the database, a tenant database administrator (DBA) can set permissions enabling subsets of tenant users and groups to carry out these tasks.

The architecture of the database and how well the tenant optimizes code that performs searches will have a direct impact on performance and resource usage. You may wish to offer services to help tenants to optimize design and code to improve response times and minimize resource usage.

As the HSP, you are responsible for Windows and SQL Server maintenance and your standard agreement to provide hosted SQL Server services should define your maintenance windows. You may patch SQL Server and Windows on the virtual and physical hosts, migrate the database to a new virtual machine host when resource requirements require it, and migrate the virtual machine to a new physical host during routine maintenance.

You may also perform certain database-level services on behalf of the tenant, such as running scheduled jobs and backups. Scheduled jobs can run common maintenance tasks like Update Statistics or large scale data modification and aggregation, such as month-end processing. You may also make tools, such as an API or a self-service control panel, available to the tenant to manage such jobs while restricting the tenant’s access to only the data she needs.

You can automate provisioning services by using management APIs and offer features like self-service provisioning to your customers. Such services reduce operational expenses for both you and your tenants.

You can monitor usage at a very detailed level with tools like Microsoft System Center Operations Manager and the SQL Server Management Pack. Tenants can be billed according to very broad guidelines or for only what they use.

Customers will see lower capital expenditures and total cost of ownership when they consolidate database servers, reduce the proliferation of on-premises applications, and share the cost of administrative expertise with other tenants. Tenants can take advantage of advanced solutions without having to buy and administer an entire enterprise solution.

By leasing SQL Server DBaaS, the tenant can pay for only those resources required for an application with the option to scale up in the future. There is no need to over-provision for what might or might not happen in the future, because when more capacity is needed, the hardware will be available.

...

While targeted at hosted service provider, I still think this has value for large organizations or those dealing with SQL Server Sprawl... SQL Server Enterprise isn't cheap, so ensuring that you're using it to its maximum is important for everyone. IT groups like to say they are "service providers." Doing something like this makes that a real statement, without them giving away the keys to the store...

Monday, April 07, 2014

Free eBook of the Day: "Introducing Microsoft SQL Server 2014 - Technical Overview" [Keyword: "Overview"]

Microsoft Press - Free ebook: Introducing Microsoft SQL Server 2014

image

We’re pleased to announce our next free ebook – Introducing Microsoft SQL Server 2014 – by Ross Mistry and Stacia Misner.

Introduction

Microsoft SQL Server 2014 is the next generation of Microsoft’s information platform, with new features that deliver faster performance, expand capabilities in the cloud, and provide powerful business insights. In this book, we explain how SQL Server 2014 incorporates in-memory technology to boost performance in online transactional processing (OLTP) and data-warehouse solutions. We also describe how it eases the transition from on-premises solutions to the cloud with added support for hybrid environments. SQL Server 2014 continues to include components that support analysis, although no major new features for business intelligence were included in this release. However, several advances of note have been made in related technologies such as Microsoft Excel 2013, Power BI for Office 365, HDInsight, and PolyBase, and we describe these advances in this book as well.

Who should read this book?

This book is for anyone who has an interest in SQL Server 2014 and wants to understand its capabilities. Many new improvements have been made to SQL Server 2014, but in a book of this size we cannot cover every improvement in its entirety—or cover every feature that distinguishes SQL Server from other databases or SQL Server 2014 from previous versions. Consequently, we assume that you have some familiarity with SQL Server already. You might be a database administrator (DBA), an application developer, a business intelligence solution architect, a power user, or a technical decision maker. Regardless of your role, we hope that you can use this book to discover the features in SQL Server 2014 that are most beneficial to you. [GD: Post Leached in Full]

You heard that SQL Server 2014 became available for download last week, April 1st (no fooling), right? And now that it's available, you're ready to really invest a little time and learn more about it? This free ebook is for you then...

Get it from the Microsoft Virtual Academy eBook Shelf

image

I'm cheating a little, but here are the direct download links...

Here are some snaps from the PDF;

image

imageimageimageimage

Who should read this book?
This book is for anyone who has an interest in SQL Server 2014 and wants to understand its capabilities. Many new improvements have been made to SQL Server 2014, but in a book of this size we cannot cover every improvement in its entirety—or cover every feature that distinguishes SQL Server from other databases or SQL Server 2014 from previous versions. Consequently, we assume that you have some familiarity with SQL Server already. You might be a database administrator (DBA), an application developer, a business intelligence solution architect, a power user, or a technical decision maker. Regardless of your role, we hope that you can use this book to discover the features in SQL Server 2014 that are most beneficial to you.

Assumptions
We assume that you have at least a minimal understanding of SQL Server from both a database administrator’s perspective and a business-intelligence perspective, including a general understanding of Microsoft Excel, which is often used with SQL Server. In addition, having a basic understanding of Windows Azure is helpful for getting the most from the topics associated with private, public, and hybrid-cloud solutions.

Who should not read this book
As mentioned earlier, the purpose of this book is to provide readers with a high-level preview of the capabilities and features of SQL Server 2014. This book is not intended to be a step-by-step, comprehensive guide.

Related Past Post XRef:
Six videos toward helping you upgrade your inner DBA to SQL Server 2014'ness
SQL Server 2014 RTM's, available for download on the worse possible day (no fooling)?
"SQL Server 2014 Developer Training Kit"
"Microsoft SQL Server 2014 CTP1 Product Guide" - One new SQL Server, 12 PDF's...
"How the heck is Hekaton part of SQL Server 2014..." More on SQL Server 2014's In-Memory Tech
Can you Hekaton? Intro to the SQL Server 2014 Analysis, Migration and Reporting tool...
Playing with SQL Server 2014 (and VS2013) the Azure VM way
Dev:"But it's new and shinny! Let's upgrade!" DBA:"Over my..." - Preparing to upgrade your SQL Server
TechEd NA 2013 Day 1 Announcement Round-up - VS 2013, TFS 2013, InRelease, SQL 2014, Server 2012 R2, BizTalk Services, Azure-in-a-box and even more Azure...

Friday, March 28, 2014

Search SQL scripts simply with the SQL Scripts SSMS plugin

simple talk - Tony Davis - D.R.Y. with SQL Scripts

Developers strive to write well-tested, reusable code with well-defined interfaces so that when they need to update the functionality, they need do so in one place only. It is the principle of ‘Don’t Repeat Yourself’ (D.R.Y.).

However, it is common for developers to be poor at applying D.R.Y. to their own past work. When it comes time to implement some complex new routine, a faint bell rings in their mind…didn’t I write something similar for that CRM project? What year was that…? If a brute-force search through their chaotic script archive doesn’t unearth it, within a few minutes, they then roll up sleeves, crack knuckles and set about writing it again from scratch, convinced they will do a better job of it this time, anyway: And, after all, it’s fun.

However, what if you really don’t have time to write the code from scratch, or need some pointers to get started? You might trawl a few of your favorite blogs, or find something on Stack Overflow. After all, many developers and DBAs blog all sorts of snippets and scripts, suggesting hopefully that they may be useful to others, but admitting that their main motivation is to know where to come the next time they need it themselves!

Another option, when in need of SQL code, is to search a public script archive such as the one on SQLServerCentral.com. This always used to be a tricky operation. If, for example, we wanted a string-splitting function, we’d need to type into Google something like ‘site:www.sqlservercentral.com/Scripts/ list split‘. Now it is so much easier, with the addition of a small SSMS plug-in called SQL Scripts.

...

image

In addition, you can search the whole archive directly from within SSMS, as well as add scripts to your briefcase and to the archive as a whole.

...

If you’re an occasional or frequent miner of the SSC script archive, we’d love you to try out SQL Scripts and let us know what you think. How much might it help you reuse the code of others, as well as find and reuse your own?

We just don't see SSMS plugins often enough. This one looks interesting and pretty useful for both the DBA and SQL Dev...

Thursday, March 20, 2014

Six videos toward helping you upgrade your inner DBA to SQL Server 2014'ness

Channel 9 - Updating your Database Management Skills to SQL Server 2014

Do you manage online transaction processing (OLTP) database workloads? Want to learn about the new and enhanced capabilities in SQL Server 2014 to help you do so? Watch this course to learn about enhancements and capabilities new to SQL Server and the Microsoft data platform since the release of SQL Server 2008.

image

Since the RTM bits are not yet available you can get a jump on your friends and co-workers and start upgrading your DBA brain cells to support (or sell to your bosses) SQL Server 2014. As I've said, this is a pretty awesome release and there's a great deal to grok. The sooner you start...

 

Related Past Post XRef:
SQL Server 2014 RTM's, available for download on the worse possible day (no fooling)?
"SQL Server 2014 Developer Training Kit"
"Microsoft SQL Server 2014 CTP1 Product Guide" - One new SQL Server, 12 PDF's...
"How the heck is Hekaton part of SQL Server 2014..." More on SQL Server 2014's In-Memory Tech
Can you Hekaton? Intro to the SQL Server 2014 Analysis, Migration and Reporting tool...
Playing with SQL Server 2014 (and VS2013) the Azure VM way
Dev:"But it's new and shinny! Let's upgrade!" DBA:"Over my..." - Preparing to upgrade your SQL Server
TechEd NA 2013 Day 1 Announcement Round-up - VS 2013, TFS 2013, InRelease, SQL 2014, Server 2012 R2, BizTalk Services, Azure-in-a-box and even more Azure...

Wednesday, March 19, 2014

SQL Server 2014 RTM's, available for download on the worse possible day (no fooling)?

The Official Microsoft Blog - SQL Server 2014 released to manufacturers, will be generally available April 1

Today I am very happy to announce SQL Server 2014 has been released to manufacturing and will be generally available on April 1.

SQL Server 2014 is the culmination of thousands of hours of hard work from Microsoft engineers and thousands of hours of testing and input from our preview customers. The result is an important component of Microsoft’s overall cloud-first data platform. The platform delivers breakthrough performance, accelerated insights through tools everyone uses and the ability to scale globally on-premises and in the cloud – letting our customers get the most from their data.

This release of SQL Server is significant in that, in addition to delivering key hybrid scenarios, it rounds out our journey to embrace in-memory technology. Several years back, we began exploring the changing hardware landscape – memory being one of the key areas of focus. Today, our in-memory technology spans the core workloads in the data platform: business intelligence as part of Analysis Services, Excel and Power BI for Office 365; complex event processing with StreamInsight; in-memory columnstore in SQL Server and our data warehousing product; and now with SQL Server 2014 – in-memory transaction processing.

...

Windows Azure and SQL Server provide a continuum of capability and flexibility in deployment options for our customers – on-premises and in the cloud. Windows Azure also supports an important data workload – Windows Azure HDInsight, our Apache Hadoop-based solution in the cloud. Today, we’re announcing the general availability of Hadoop 2.2 support in Windows Azure HDInsight, which has been updated to take full advantage of the latest Hadoop 2.2 platform, including support for YARN and Stinger Phase 2.

There has never been a more exciting time in the database and broader data platform industry. In an era where nearly everything will become digitized, today we’re delivering the data platform that will help our customers digitize their business. Customers can download SQL Server 2014 on April 1 or register today to be notified once the release is available. Customers can also learn more about the release and our data platform strategy at our “Accelerate your Insights” event on April 15, where I will be joined by Microsoft CEO Satya Nadella and COO Kevin Turner. In addition, some of our customers deriving value from our data platform today will also be in attendance. I encourage you save the date and tune in for the event.

image

<rant>April Fools Day? Really? You couldn't release it a day earlier or later? Think what a Build bullet point this would have made during the Day One Keynote on the 2nd? But noooo... This will now and forever be known as the SQL Server April Fools edition.

Yeah, yeah, I know we're all tired of the April Fools crap, but ... really? really?

Don't get me wrong, I think this is one of the more existing versions of SQL Server in a while and there's some awesome tech in it. Congrats to the team, just do me a favor and smack the marketing wonk who pick this date...</rant>

Thursday, February 27, 2014

Making Relativity relatively faster... Partition it baby, (sometimes)

Brent Ozar - How to Use Partitioning to Make kCura Relativity Faster

kCura Relativity is an e-discovery program used by law firms to find evidence quickly. I’ve blogged about performance tuning Relativity, and today I’m going to go a little deeper to explain why DBAs have to be aware of Relativity database contents.

In Relativity, every workspace (case) lives in its own SQL Server database. That one database houses:

  • Document metadata – where the document was found, what type of document it is
  • Extracted text from each document – the content of emails, spreadsheets, files
  • Document tagging and highlighting – things the lawyers discovered about the documents and noted for later review
  • Workspace configuration – permissions data about who’s allowed to see what documents
  • Auditing trails – who’s searched for what terms, what documents they’ve looked at, and what changes they made

For performance tuners like me, that last one is kinda interesting. I totally understand that we have to capture every activity in Relativity and log it to a table, but log-sourced data has different performance and recoverability requirements than other e-discovery data.

...

However, I don’t recommend doing this by default across all your databases. This technique is going to instantly double the number of databases you have and make your management much more complex. However, I do recommend reviewing your largest workspaces to see if AuditRecord is consuming half or more of the database space. If so, consider partitioning their AuditRecord tables to get faster backups, database maintenance jobs, and restores.

At the risk of sounding like a fanboy, this is one of the reasons I love working with the kCura folks. They really care about database performance, they take suggestions like this, and they implement it in a way that makes a real difference for customers.

This is also why database administrators need to:

  1. Understand the real business purpose of the biggest tables in their databases
  2. Build working, productive relationships with their software vendors
  3. Come up with creative approaches to ease SQL Server pains
  4. Help the vendors implement these approaches in software

..."

If you're a Relativity shop, Brent's one of those "must go to dba guys," which this post makes very apparent...

 

Related Past Post XRef:
Making SQL Server a happy kCura Relativity camper (and your users too)

sp_AskBrent - Your new, "OMG, my SQL Server is sooo slow" free uber SP from Brent Ozar
Two SQL Server Resources that you might want to take another look at...

Free Training SQL Server Training DVD’s (or online) from Quest (reg-ware) - 12 Sessions, Two DVD’s, Zero cost…

"How to Develop Your DBA Career" Free eBook (and posters and whitepapers and more [oh my])

Wednesday, February 26, 2014

I see data visualizations... Power BI, Power Map and Power Q&A [Oh my]

SQL Server Blog - Data Visualizations

A couple of weeks back was a really exciting time for us. Less than a year after we released Office 365 for Businesses, we announced the general availability of Power BI for Office 365. You may have read previous blog articles by Quentin Clark on Making Big Data Work for Everyone and Kamal Hathi on Simplifying Business Intelligence through Power BI for Office 365. In this article, we’ll outline how we think about visualizations.

Why Visualizations Matter

While a list of items is great for entering or auditing data, data visualizations are a great way to distill information to what matters most that is understandable quickly.

...

Visualizations in Productivity Apps

We have the privilege of having the largest community of users of productivity applications in the world. Thanks...

...

Faster Creation of Visualizations

Excel 2007 introduced the ability to set the style of a chart with one click and leverage richer graphics such as shadows, anti-aliased lines, and transparency.

Office 2013 was one of our most ground-breaking releases.

...

Richer Interactivity

Part of my role at Microsoft involves presenting on various topics to stakeholders, and increasingly most of these include data visualizations. Only a few years back, I remember ...

...

Visualizations on All Data

In addition, both data volumes and the types of data customers want to visualize have expanded as well.

Excel 2013 also introduced the Data Model, opening the door for workbooks that contained significantly larger datasets than before, with richer way to express business logic directly within the workbook.

Increasingly, we have access to geospatial data, and recently introduced Power Map brings new 3D visualization tool for mapping, exploring, and interacting with geographical and temporal data to Excel, enabling people to discover and share new insights such as trends, patterns, and outliers in their data over time...

...

We are very excited to have introduced Power Q&A as part of the Power BI launch. This innovative experience makes it even easier to understand your data by providing a natural language experience that interprets your question and immediately serves up the correct answer on the fly in the form of an interactive chart or graph. These visualizations change dynamically as you modify the question, creating a truly interactive experience with your data.

image

...

image

Visualizations Everywhere

As customers are creating insights and sharing them, we have also invested in ensuring SharePoint 2013 and Office 365 provide full fidelity rendering as the desktop client so their products remain beautiful wherever it’s consumed.

What’s Next?

..."

The Power Q&A looks interesting. I'd love to be able to provide that kind of thing in my apps. But lets see how it plays out over a version or two...

 

Related Past Post XRef:
Going with the GeoFlow for Excel 2013... Free 3D visualization add-in for mapping, exploring, and interacting with geographical/temporal data

Friday, February 21, 2014

Microsoft Open Specifications Posters v2 released (Think "Wow, that's allot of spec's" Posters)

Microsoft Downloads - Open Specifications Posters

The Open Specifications Posters (PDF format) make it easy for interoperability developers to explore the Open Specifications overview documents for Office client, Lync, SharePoint, Office file formats, Exchange Server, SQL Server, and Windows.

Version: 5.0

Date Published: 2/21/2014

ExchangeOpenSpecPoster.pdf, 556 KB

MicrosoftOpenSpecPoster - Accessiblility Version.pdf, 336 KB

OfficeLyncOpenSpecPoster.pdf, 669 KB

SharePointOpenSpecPoster.pdf, 606 KB

SQLOpenSpecPoster.pdf, 1,011 KB

WindowsOpenSpecPoster.pdf, 1.0 MB

The Open Specifications Posters (PDF format) make it easy for interoperability developers to explore the Open Specifications overview documents for Office client, Lync, SharePoint, Office file formats, Exchange Server, SQL Server, and Windows. The posters display, by functional area, the protocols, file formats, and related technologies, as described in each overview document. A high-contrast poster is also provided for those with visual accessibility needs that contains listings for all functional areas .

Some cube art to help when you get visited by the "Microsoft is closed and the devil" guy (I know you know that guy...)

Here's a snap of the Windows PDF;

imageSNAGHTML1fe1a2a9

 

Related Past Post XRef:
Office/Exchange File Format,Specification and Protocol Documentation refreshed
Microsoft Format and Specification Documentation 0712 Refresh (Think Office 2013 CP update). Oh and some SharePoint Doc's too
Microsoft Format and Specification Documentation Refresh ("Significantly changed technical content") [Updated: Includes updates for Office 15 Technical Preview ]
Microsoft Office File Formats and Microsoft Office Protocols Documentation Refreshed
Microsoft Office File Formats and Protocols documentation updated for Office 2010 (Think “Now with added ‘X’ flavor… DocX, PptX, XlsX, etc”)

Microsoft Open Specifications Poster

XAML Language Specification (as in the in the full XAML, WPF and Silverlight XAML Specs)

"Microsoft SQL Server Data Portability Documentation"

MS-PST file format specification released. Yep, the full and complete specification for Outlook PST’s is now just a download away.
Microsoft Office (DOC, XLS, PPT) Binary File Format Specifications Released – We’re talking the full technical specification… (The [MS-DOC].pdf alone is 553 pages of very dense specification information)
DOC, XLS and PPT Binary File Format Specifications Released (plus WMF, Windows Compound File [aka OLE 2.0 Structured Storage] and Ink Serialized Format Specifications and Translator to XML news)

Saturday, February 08, 2014

"SQL Server 2014 Developer Training Kit"

Microsoft Downloads - SQL Server 2014 Developer Training Kit (and related SQL Server 2014 Developer Training Kit Sample Databases)

The SQL Server 2014 Developer Training Kit includes technical content designed to help you learn how to develop SQL Server 2014 databases, BI Solutions, and gain insights into the new cloud capabilities to simplify cloud adoption for your SQL databases and help you unlock new hybrid scenarios.

Version: 1.0.0

Date Published: 2/7/2014

SQL 2014 Dev Training Guide.exe, 251.8 MB

The purpose of this training kit is to help DBAs and Developers become familiar with some of the new and improved features and functionality in SQL Server 2014. This training kit is a great resource for developers, trainers, consultants and evangelists who need to understand the new features and key improvements introduced in SQL Server 2014 from a developer perspective. It contains a rich set of presentations and demos that are perfect for self-paced learning or for conducting your own training event. The easiest way to get started with the training kit is to download it, install it, and browse the kit for the content that you are most interested in. Many of the presentations and demos in the training kit reference a video that you can watch to familiarize yourself with the content. When you are ready for some hands-on experience, try working through one of the demos. Microsoft SQL Server 2014 builds on the mission-critical capabilities delivered in SQL Server 2012 by providing breakthrough performance, availability, and manageability for mission-critical applications. SQL Server 2014 delivers new capabilities built into the core database for OLTP and data warehousing, which complement our existing OLTP, data warehousing, and BI capabilities for the most comprehensive database solution in the market.

Some snaps from the install;

image

The SQL Server 2014 Developers Training Kit is a great resource for developers, trainers, consultants and evangelists who need to understand the key improvements introduced in SQL Server 2014 from a developer perspective. It contains a rich set of presentations and demos that are perfect for self-paced learning or for conducting your own training event.

The easiest way to get started with the training kit is to download it, install it, and browse the kit for the content that you are most interested in.  Many of the presentations and demos in the training kit reference a video that you can watch to familiarize yourself with the content.  When you are ready for some hands-on experience, try working through one of the demos.

Thank you for downloading the training kit, we hope you find it to be a valuable resource for driving SQL Server adoption.

Once installed, here's what you get;

image

image

image

SQL Server 2014 builds on the foundation of SQL Server 2012, so it's nice seeing that this kit provides information on both,

image

If you're looking at, or thinking about looking at, SQL Server 2014, you've got to get this...

 

Related Past Post XRef:
RTM SQL Server 2012 Developer Training Kit available as a full download or web installer

Monday, January 27, 2014

Can you script table data, not schema but actual data as insert statements, directly from native SQL Server Management Studio? (Tip, yes)

Dirk Strauss - Script Table Data In SQL Server Management Studio

Script Table Data – I have used other tools to do this for ages. I can’t believe that I never knew that it existed in SQL Server Management Studio. Well ok, in my defence it isn’t quite the most ‘In-your-face’ setting. Nevertheless, it is very convenient and best of all, you don’t need to leave the IDE to script table data. So where is this function? Why, under Tasks of course.

Script Table Data With Generate Scripts

Well, I guess we all know and have used the Generate Scripts function in SQL Server Management Studio before. But with this, you can do so much more in fact. So right click on your Database and select Tasks -> Generate Scripts…

...

Well the option to script table data still isn’t screaming at you from this screen either. Under the General section, select the last option ‘Types of data to script’ and choose one of the options from the dropdown menu. For my purposes, I only want the data in the table so I selected ‘Data Only’. You might want the schema and data, but the important thing is that you have a choice

...

After you click ok, you can choose to script all the objects to one single file or split them up into a separate file for each object. This is obviously a decision you need to make according to your preference. I prefer to have a script per object. So yeah, that’s it! As I said, I never knew this option existed until I went exploring around the settings a bit. Any comments (nice ones) are always welcome.

image

Not like this option/feature wasn't burred deep enough or anything... :/

I wonder how long this has been around (probably knowing my luck, like the better part of a decade..lol )

Friday, January 17, 2014

SELECT * FROM StackExchange. There's the easy way and the hard, yet much more data fun, way...

Brent Ozar - How to Query the StackExchange Databases

During next week’s Watch Brent Tune Queries webcast, I’m using my favorite demo database: Stack Overflow. The Stack Exchange folks are kind enough to make all of their data available via BitTorrent for Creative Commons usage as long as you properly attribute the source.

There’s two ways you can get started writing queries against Stack’s databases – the easy way and the hard way.

The Easy Way to Query StackOverflow.com

Point your browser over to Data.StackExchange.com and the available database list shows the number of questions and answers, plus the date of the database you’ll be querying:

...

The Hard Way to Query StackOverflow.COM

First, you’ll need to download a copy of the most recent XML data dump. These files are pretty big – around 15GB total – so there’s no direct download for the entire repository. There’s two ways you can get the September 2013 export:

I strongly recommend working with a smaller site’s data first like DBA.StackExchange. If you decide to work with the monster StackOverflow.com’s data, you’re going to temporarily need:

  • ~15GB of space for the download
  • ~60GB after the StackOverflow.com exports are expanded with 7zip. They’re XML, so they compress extremely well for download, but holy cow, XML is wordy.
  • ~50GB for the SQL Server database (and this will stick around)

Next, you need a tool to load that XML into the database platform of your choosing. For Microsoft SQL Server, I use Jeremiah’s improved version of the old Sky Sanders’ SODDI. Sky stopped updating his version a few years ago, and it’s no longer compatible with the current Stack dumps. Jeremiah’s current download is here, and it works with the September 2013 data dump.

...

image

...

Why Go to All This Work?

When I’m teaching performance tuning of queries and indexes, there’s no substitute for a local copy of the database. I want to show the impact of new indexes, analyze execution plans with SQL Sentry Plan Explorer, and run load tests with HammerDB.

That’s what we do in our SQL Server Performance Troubleshooting class – specifically, in my modules on How to Think Like the Engine, What Queries are Killing My Server, T-SQL Anti-patterns, and My T-SQL Tuning Process. Forget AdventureWorks – it’s so much more fun to use real StackOverflow.com data to discover tag patterns, interesting questions, and helpful users.

A great resource, both Brent's post and of course the data for when you need some "safe" data, yet in a large enough volume to be meaningful...

 

Related Past Post XRef:
Stacks and stacks of data - Your copy of the Stack Overflow’s (and family) public data is a download away

The Stack Family (StackOverflow, SuperUser, etc) gets OData’d via Stack Exchange Data Explorer
Build something awesome with the new StackExchange v2 API and win something awesome...
Stacking up the Open Source Projects, Stack Exchange is...

Wednesday, December 11, 2013

The annual "What version of SQL Server are we running?" post...

nullinterface - Microsoft SQL Server Versions and Editions

Time and again some partners send in requests and detail out only the version numbers for the SQL Server they're working on. Isn't always permissible for us to go bak to them for further info, so we dwell into the KB articles to determine the correct editions and Service Packs installed to assist the partners the best way possible. I though sharing the collated list could benefit some more of our DB folks.

To determine the version of SQL Server, you can use any of the following methods:

Method 1

Connect to the server by using Object Explorer in SQL Server Management Studio. After Object Explorer is connected, it will show the version information in parentheses, together with the user name that is used to connect to the specific instance of SQL Server.

Method 2

Connect to the instance of SQL Server, and then run the following query:

Select @@version

Method 3

Connect to the instance of SQL Server, and then run the following query:

SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
Note This query works with any instance of SQL Server 2000 or later

image

How to determine the version and edition of SQL Server and its components

This article describes how to determine your current Microsoft SQL Server version number and the corresponding product or service pack level. It also describes how to determine the specific edition of SQL Server that you are using.

Note If you just need to know what a specific version number of SQL server maps to or the KB information for a specific cumulative update package or a service pack, refer to the section of this article and search for the version number.

Note If you just want to find the latest builds for SQL Server, you can refer to the following article. Or, you can check the tables that correspond to your product in the section of this article. 957826

Where to find information about the latest SQL Server builds

Where to find information about the latest SQL Server builds

This article lists the Knowledge Base articles that provide more information about the following:

  • The Microsoft SQL Server 2012 builds that were released after SQL Server 2012 Service Pack 1.
  • The Microsoft SQL Server 2012 builds that were released after SQL Server 2012.
  • The Microsoft SQL Server 2008 R2 builds that were released after SQL Server 2008 R2.
  • The Microsoft SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 1.
  • The Microsoft SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 2.
  • The Microsoft SQL Server 2008 builds that were released after SQL Server 2008.
  • The Microsoft SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 1.
  • The Microsoft SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 2.
  • The Microsoft SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 3.
  • The Microsoft SQL Server 2005 builds that were released after SQL Server 2005 Service Pack 2.
  • The Microsoft SQL Server 2005 builds that were released after SQL Server 2005 Service Pack 3.
  • The Microsoft SQL Server 2005 builds that were released after SQL Server 2005 Service Pack 4

Seems this comes up every year or so, and with the number of supported SQL Server versions out there, I thought it a good time to re-post this info...

 

Related Past Post XRef:
Goodbye @@version, hello xp_msver...
SQL Server Version Number Database (SQL Server 6.5 through 2008 R2 SP1 CTP...)

"Select @@Version" is old school... Check out the ServerProperty function
SQL Server Version Numbers - That @@version number means my SQL Server is running what SP?

Thursday, December 05, 2013

Rad Gate Post... Get your Red Gate Post here...

simple talk - Melanie Townsend - Get a copy of the Red Gate Post

We recently put together a newspaper of some of the best articles from Simple-Talk and SQL Server Central, complete with a dash of advice, playful ads, and letters to the editor. It only seems fair to allow the newspaper to be downloadable in PDF form so here it is in all it’s glory (the PDF is about 6mb).

If you take advantage of the lovely crossword puzzle and quiz questions, you can find the answer key over at www.red-gate.com/puzzles with a little bonus PDF to download.

Make sure you leave a comment and let me know whether there’s anything you particularly liked about the newspaper or would like to see added or changed in case we do future versions!

image

imageimage

This is actually a great and funny read if you do anything SQL Server, Dev, DBA. If you can afford it (it's free) you should check it out...

Tuesday, December 03, 2013

What's the [table]diff? Diff'ing SQL Server tables with the Microsoft provided tablediff command line utility

simple talk - SQL Tools - SQL Server tablediff utility

Rob Sheldon continues on his quest to explain all those command-line tools such as SQLCMD, Logparser, SQLIO and tablediff that are part of SQL Server. TableDiff is great for comparing tables, as when you run automated tests that check a result against a table of expected values. The best way to learn TableDiff is to see it in action and Rob talks you through several examples.

Among the many command-line utilities provided with SQL Server, one of particular note is tablediff, a handy tool that lets you compare the data in two tables in order to identify any discrepancies. Though originally intended primarily as a utility for troubleshooting non-convergence in a replication topology, tablediff can actually be used to perform a row-by-row comparison of any two tables that share a similar schema so is ideal for running automated unit tests for database routines. In addition, you can use the tool to generate the T-SQL script necessary to update the data in the second table to conform to the first table, if discrepancies are found.

Getting Started with the tablediff Utility

The best way to learn how to use the tablediff utility is to see it in action. This article includes a number of examples that demonstrate how to compare tables that contain both matching and non-matching data. The tables in our examples reside in databases on different SQL Server instances, one SQL Server 2012, the other SQL Server 2008 R2, both installed on the same local system. However, you can compare any two tables—within the same database or within different databases on the same or different servers—so if you want to try out these examples on your system, modify the T-SQL code and example tablediff commands as necessary to accommodate your setup.

Now let’s get started. First we’ll compare identical tables on the two SQL Server instances. To prepare the environment, I ran the following code on each instance to create the TableDiffDB database and the DiffTest1 table within the database:

...

The tablediff utility compares the data in the source table to the table in the destination table. In the example above (as well as those to follow), the localhost\sqlsrv2012 instance serves as the source and the localhost\sqlsrv2008R2 instance serves as the destination. Be aware, however, that when using the tablediff utility to compare two tables, the source table must be configured with a primary key or an IDENTITY or ROWGUID column.

NOTE: The tablediff utility uses Windows authentication to connect to SQL Server. However, you can also specify a username and password when connecting to the source instance, the destination instance, or both. For information about the login-related options (as well as details about other tablediff options), see the Books Online topic “tablediff Utility.”

...

Making the Most of the tablediff Utility

If you haven’t already discovered the tablediff utility, you’ll find it well worth your time to check it out. The tool is part of the SQL Server installation and is relatively simple to use. Just open a command prompt window and start typing. Not only can you compare tables across SQL Server instances, but you can also generate the T-SQL scripts necessary to update those tables. And you can run the utility from within scripts created in command shells such as PowerShell, thus letting you automate operations and reuse code. The tablediff utility might not meet all your needs when comparing tables, but in those cases where it does, you’ll likely find tablediff to be a valuable addition to your arsenal of tools.

tablediff Utility

The tablediff utility is used to compare the data in two tables for non-convergence, and is particularly useful for troubleshooting non-convergence in a replication topology. This utility can be used from the command prompt or in a batch file to perform the following tasks:

  • A row by row comparison between a source table in an instance of Microsoft SQL Server acting as a replication Publisher and the destination table at one or more instances of SQL Server acting as replication Subscribers.

  • Perform a fast comparison by only comparing row counts and schema.

  • Perform column-level comparisons.

  • Generate a Transact-SQL script to fix discrepancies at the destination server to bring the source and destination tables into convergence.

  • Log results to an output file or into a table in the destination database.

image

sigh... another day, another thing I didn't know. Why is it the older I get, the less I know? (What Yoda? You think, "Wisdom, on the road, you are...?" Byte me Yoda. You short little garden gnome looking...Oh damn. Did I say that out loud? ;)

Anyway...

There's a number of times where this free utility could have come in real handy. Now I just have to remember about it the next time I need something like it... :P

Wednesday, November 27, 2013

Red Gate SSMS Ecosystem - The free SQL Server Management Studio Add-In Framework and Store (with both paid and free items)

simple talk - David Pond - Introducing the Red Gate SSMS Ecosystem

The Red Gate SSMS Ecosystem is a framework that makes it easy to develop, share and manage SSMS add-ins. We aim to help add-in developers build everything from homegrown solutions and community-driven projects to commercial solutions provided by partner companies. We hope that DBAs and database developers will benefit from better integrated tools.

Red Gate has lots of experience developing tools that integrate with SSMS. Over time, we’ve built a collection of common libraries and APIs that make developing SSMS add-ins much simpler. We’ve made these available free, so developers can build their own SSMS add-ins and integrate them with other tools.

The SSMS Ecosystem is a work in progress. Over time, we’ll be introducing new API features and adding add-ins to our directory. The initial benefit is the ability to integrate your tools with SSMS. In the future, we want to enable add-ins to use more Red Gate technologies and integrate with each other. Eventually, the SSMS Ecosystem will have a distribution platform similar to the Visual Studio Gallery where you can share, discover, and manage add-ins.

...

The Red Gate SSMS Ecosystem is a framework that makes it easy to develop, share and manage SSMS add-ins. We aim to help add-in developers build everything from homegrown solutions and community-driven projects to commercial solutions provided by partner companies. We hope that DBAs and database developers will benefit from better integrated tools.

Red Gate has lots of experience developing tools that integrate with SSMS. Over time, we’ve built a collection of common libraries and APIs that make developing SSMS add-ins much simpler. We’ve made these available free, so developers can build their own SSMS add-ins and integrate them with other tools.

The SSMS Ecosystem is a work in progress. Over time, we’ll be introducing new API features and adding add-ins to our directory. The initial benefit is the ability to integrate your tools with SSMS. In the future, we want to enable add-ins to use more Red Gate technologies and integrate with each other. Eventually, the SSMS Ecosystem will have a distribution platform similar to the Visual Studio Gallery where you can share, discover, and manage add-ins.

SSMS ecosystem project

image

The SSMS ecosystem project aims to enhance the SQL Server Management Studio experience by enabling tighter integration of SQL Server tools. The project will make it easier for DBAs and developers to customize their SSMS environment and optimize it for their work.

Get started

  1. Install the framework. Click here to download.
  2. Visit our Add-in directory and install something.

Tool developers

The project should make it easier to add functionality to SSMS. We hope this will encourage many people to develop and share tools. If you would like to develop a plugin, visit our Writing an add-in page.

Note

The ecosystem has to benefit all participants; users of SSMS, plugin developers and Red Gate. We reserve the right to withdraw the ecosystem if this is not the case.

Getting started

Notes

Add-ins using .NET 4.0 runtime can't be loaded in SQL Server Management Studio 2008R2 and earlier. NET 3.5 runtimes can be loaded into all SQL Server Management Studio versions.

Shared interfaces

You can download the latest shared interfaces from here: https://github.com/red-gate/SIPFrameworkShared

Framework

You will need to install the add-in from SSMS ecosystem project.

Installation

You need to make an entry in the Registry to tell our add-in host where to load you add-in from. You should create the registry entry in either:

...

Add-in directory

...

Free

SQL Search

Category: Navigation

SQL Search is an add-in for SQL Server Management Studio that lets you quickly search for SQL across your databases: find fragments of SQL text within stored procedures, functions, views and more; quickly navigate to objects wherever they happen to be on a server; find all references to an object.

Interesting project and one that I think there's a good deal of need for. Visual Studio has a very healthy Extension gallery, but SSMS much, much less so. If Red Gate by helping themselves also helps the community, well that's the definition of a win-win, isn't it?

Two SQL Server Resources that you might want to take another look at...

Brent Ozar - Two SQL Server Resources That Improved When You Weren’t Looking

SQL Server learning materials seem to live at two extremes. Blog posts are short and to the point, but they don’t cover material in depth. Books are long and detailed, but to quote a famous philosopher, ain’t nobody got time for that.

Enter two resources that have been out for quite a while. They aim to cover subjects from start to finish, but in a way that you can digest in an hour.

Microsoft Books Online (Yes, Books Online!)

Microsoft Books Online earned a terrible reputation for being the last place you’d ever want to look for help. Look up the sys.databases view, for example, and you get gems like this:

SNAGHTMLb3886d2

...

SQL Server Central Stairways

SSC’s Stairways series covers topics start to finish with 5-15 tutorials from one or two authors. I love the consistency on these – you can settle in with one author and really dig into a topic with a logical flow. Think of it as an interactive book chapter, often with lots of demos you can run to illustrate concepts.

They’ve added stairways for T-SQL, indexes,

..."

Remember when we all hated, or even worse, ignored with disdain, MSDN doc's? You might want to take another look at them. They've improved dramatically over the last few years, and dare I say it, are even really useful now. Useful to the point I'm suggesting to vendors that they might want to take a look at them as a model for their doc's...

Brent's also seen this in the SQL Server docs.

As for SSC’s Stairways, this is the first I've heard of that (well I've heard of SQL Server Central and read its feeds daily, but not its Stairways feature), so I guess I'm revisiting it for the first time. :/

Wednesday, November 13, 2013

Jumping into SQL Server 2014 with these two Microsoft Virtual Academy SQL Server 2014 Jump Starts on Dec 3/4 (All Day, All Virtual and All Free)

Microsoft Virtual Academy - New SQL Server 2014 Jump Starts Live December 3 and 4

Have you had a chance to check out the SQL Server 2014 CTP2? This second public community technical preview is essentially feature complete and enables you to try and test all of the capabilities of the full SQL Server 2014 release. To help get you trained on the new capabilities, we’ve got two lively, demo filled events planned. First on December 3rd, Mission Critical Performance with SQL Server 2014 will show how SQL Server 2014 will help you improve performance speed by 10-30 times, using your current hardware. And you’ll improve reliability at the same time. Then on December 4th, we’ll cover the benefits of moving your organization to the cloud, and how that can provide cost benefits at the same time as increasing scale and flexibility. Microsoft experts will show you how you can make that move one step at a time, using SQL Server 2014 to create a hybrid environment.

Mission Critical Performance with SQL Server 2014

Date:  December 3, 2013
Time: 9:00am – 5:00pm
Where: Live, online virtual classroom
Cost: Free!

Register now

Platform for Hybrid Cloud with SQL Server 2014

Date:  December 4, 2013
Time: 9:00am – 5:00pm
Where: Live, online virtual classroom
Cost: Free!

Register now

Mission Critical Performance with SQL Server 2014

SQL Server pros, do you want to find out how SQL Server 2014 can help you improve performance speed by 10–30 times, using the same hardware you have today—and improve reliability at the same time? Get in on a technical preview of the new Mission Critical features of SQL Server 2014, led by the team of Microsoft experts who own the features.

Course Outline:

  • In-Memory OLTP (Online Transaction Processing)
  • AlwaysOn Enhancements
  • Online Database Enhancements
  • Buffer Pool Extension and Resource Governor for IO

image

Signed up for the Mission Critical Performance with SQL Server 2014. Now I just need to get my day job up to SQL Server 2012, so we can get ready for SQL Server 2014... :/

Wednesday, November 06, 2013

Write a killer job description so you don't have to kill your recruiter/applicants

Brent Ozar - Kendra Little - How to Write a Killer SQL Server Job Description

image

On September 24, we published a blog post that we were looking for a new employee. We didn’t advertise on any job listing sites (even though there are some really good ones out there). We tweeted about it a few times, but most of our publicity was that single post. We received more than 70 applications for the job by email. We were truly impressed by the applicant pool– multiple well known international speakers and Microsoft Certified Masters applied for the job.

When I talk to hiring managers, I hear that it’s hard to find good SQL Server pros for a job these days. How did we attract such cool people?

The secret to getting employees that don’t suck: Write a job advertisement that doesn’t suck.

...

There's a couple interesting points in this post, one that look for and am not seeing allot of (likely because we didn't ask right), such as their point #2...

2. Ask what you really want to know– and don’t ask for a resume

Are you hiring someone to write resumes as part of their job? If so ask for a resume. If not, why bother? Resumes tell you very little about an applicant. If you must have one as part of your HR requirements, you can get it later in the process.

In your job ad, ask for what you really want instead of a resume. Brent, Jeremiah and I worked together to figure out what basic things we could ask that would indicate whether the candidate would thrive in this job over time. We whittled down the list as much as possible to keep it simple. We asked for two things:

  • Recent speaking experience
  • A description of how the applicant has contributed to a technial community.

And that’s it. That’s all we wanted.

hum... no resume? I think the hiring world would crumble and tear a whole in the fabric of time and space, but that doesn't me I don't like the idea.

Personally, I hire for aptitude and attitude as just about anything else can be taught or learned.

One note on resumes, for the love of god, please grammar and spell check them. Also make sure your acronyms are right and consistent. Finally, if your resume makes my eyes bleed, well, into the Round File it goes...