Wednesday, October 17, 2007

from Euan Garden's BLOG... SQL 2005 CTP

 Should have called it Q3 release but whatever...  Looks like they've integrated SQL Health and History tool and fixed Database Mirroring for starters.

SQL Server 2008 - July CTP Available

Nothing quite like cutting it fine on the naming still being valid :-)

Get all the info and downloads from here. A quick scan reveals the following improvements;

T-SQL - Separate Data and Time Types FINALLY, YIPEEEEEEEEEEEEEE

SQL Server 2008 introduces new date and time data types. The new data types enable applications to have separate date and time types, larger year ranges for date value, larger fractional seconds precision for time value, time-zone offset aware datetime type that containing date, time and time zone offset portion, user defined option on fractional seconds precision of time related types and datetime2 and datetimeoffset provide standards conformant semantics. Along with the T-SQL support on the new types, both native (ODBC, OLEDB) and managed (SqlClient) providers also provide the full support through the client driver APIs.

T-SQL - Object Dependencies

The object dependencies improvement provides reliable discovery of dependencies between objects through newly introduced catalog view and dynamic management functions. Dependency information is always up-to-date for both schema-bound and non-schema-bound objects. Dependencies are tracked for stored procedures, tables, views, functions, triggers, user-defined types, XML schema-collections, and more.

T-SQL - ORDPATH

ORDPATH improvement provides an important new functionality to our customers who use hierarchical data.  It provides a superior way of modeling hierarchies in SQL Server by introducing the HierarchyID system data type and corresponding built-in methods which are designed to make it easier to store, query and operate hierarchical data.  HierarchyID is also optimized for representing trees, the most common type of hierarchical data.

T-SQL - Large User Defined Types

Large user-defined types allows users to expand the size of defined data types by eliminating the 8‑KB limit.

Reporting Services - New Server and Designer

Improvements represent the two major infrastructure changes for Reporting Services. Reporting Services enhances the processing engine and rendering extensions to enable new functionality, such as Tablix support, and scalability as well as remove the dependency on IIS.  Additionally, new report designer and configuration tool are provided that improve usability and workflow for RS customers.

Management - Performance Data Collection

Collect data from various sources in SQL Server and OS to help with performance troubleshooting and server maintenance. With this improvement, organizations improve their analysis of common performance issues:

  • Define what data is collected and organize the collection into collection sets
  • Start/stop/manipulate collection sets programmatically (T-SQL and .NET API)
  • Define where data is stored (relational database)
  • View data through reports in SQL Server Management Studio.
  • Provide platform to plug in more data collectors in the future.

HADR - Database Mirroring Enhancements

SQL Server 2008 builds upon the momentum of SQL Server 2005 by providing a more reliable platform with enhanced database mirroring:

  • Automatic bad page repair - allows the principal and mirror machines to transparently recover from 823/824 types of data page errors by requesting a fresh copy of the corrupted page from the mirroring partner.
  • Log stream compression - compression of the outgoing log stream in order to minimize the network bandwidth used by database mirroring.
  • Miscellaneous performance enhancements:
    • Using asynchronous log write requests on the mirror in order to shorten the log write time and thus speed-up the commit acknowledgement.
    • Better utilization of the mirroring log send buffers in order to pack multiple smaller log blocks into a single network send.
  • Supportability and diagnosability improvements:
    • Additional performance counters to allow for more granular accounting of the time spent across the different stages of the DBM log processing.
    • New DMVs and extensions of existing views in order to expose additional information about the mirroring sessions.

Posted Tuesday, July 31, 2007 6:27 PM by euanga | 6 Comments

Filed under: SQL Server, Microsoft

Rosario: Next Generation of Team Test (almost) out in the wild - Rosario Aug CTP

Brian let the cat out of the bag earlier today, then Doug confirmed it. The project I came over to VSTS to focus on is starting to get shared. As Brian discusses in his post we demo'd live code from the Aug CTP and the CTP that will follow Aug this week to our Technical Field and it was very well received. Brian's right it has been pretty challenging for the team to be working on 2 full versions of VS at the same time(VS 2008 and Rosario) but I think the team have done a great job.

We'll start talking about the details of whats in the product over the coming weeks and months but I wanted to kick off my Rosario blogging by talking a little bit about the way that we think about testing and testers. Brian refers to Manual Tester in his blog but we really think of this as short hand for testers that do manual testing (the difference will become clear in a moment).

The testing that VSTT supports today is really in 3 forms;

  • Unit Testing, this is really a developer orientated form of testing and almost no "testers" use it directly but they wish all the developers in their team did!
  • Web Testing, this confused me when I first joined the team as I assumed it was UI testing for web apps, its not that and I like David Williamson's definition, its about using the browser to capture the (http)data required to test an http server, when we playback(or run the tests) we do so at the http level. Testing server protocols (even http) is a pretty technical and specialised task.
  • Load Testing, here we consume other tests and use them to simulate load against servers, web servers, reporting servers etc etc. We can use any test that includes code or web tests, this is somewhere that testers do/can use Unit Tests as they can form the basis of a load test. Again this is pretty technical and specialised testing.

When we decided to make a big investment in testing for VSTS going fwds (the team is more than 3x the size it was for VS 2005) one of the things we did was to segment the potential customer base into 3 broad buckets (with specialisations within, but we'll cover those in another post). Those buckets are;

  • The Developer Tester, this includes both TDD and traditional Unit Testing based developers who are focussed on using dev orientated testing to increase initial and ongoing code/application quality.
  • The Specialist Tester, this includes Load Testing, Security Testing, Protocol Testing, Very Deep/Complex Automation Testing etc etc, these are testers focussed on the more technical and specialised aspects of testing.
  • The Generalist Tester, these testers are about making sure the functional quality of the software is right for the user community, they might be former users of the software in question they likely do lots of manual testing, scenaro testing and some form of automation(but not all organisations do automation).

We want to provide a complete testing solution for customers, and that means have products/solutions for each one of these buckets(as well as managers, leads etc). As we start to reveal the layers of Rosario we'll come back to these roles and talk about the different pieces that we are building and how they address the requirements of each.

Posted Wednesday, July 25, 2007 5:11 PM by euanga | 2 Comments

Filed under: Microsoft, Team System, Testing, Rosario, VSTSR

Service Release of Data Dude now out

Gert has all the details.

Posted Wednesday, July 25, 2007 4:42 PM by euanga | 0 Comments

Filed under: SQL Server, Microsoft, Team System

Launch Date <> (or != if you prefer) RTM Date

At the World Wide Partner Conference (WWPC) this week Kevin Turner announced a launch date for the 2008 Wave of Products(Longhorn, Orcas and Katmai). There has been a lot of conjecture about products slipping and stuff like that.

To be clear this is all about a marketing launch, the RTM dates for these products are not the same as the launch date so you can draw almost no conclusions from that other than we are going to have lots of events and giveaways in Feb of next year :-)

For example when we launched VS2005, SQL2005 and Biztalk 2006 in Nov of 2005, SQL and VS had both been on MSDN for a number of weeks and Biztalk was still in Beta. When we launched Vista and Office 12 both had been available for a number of weeks before hand.

In the words of Cpl Jones "Don't panic Capt Mainwaring"

UPDATE: Doug (now in VSTS Marketing Yay!!!) says that VS will RTM before the launch, as he's in maketing he is allowed to say stuff like that, being in Prod Dev I'm not :-)

Posted Wednesday, July 11, 2007 2:21 PM by euanga | 8 Comments

Filed under: SQL Server, Microsoft, Team System

SQL Server Database Engine based Reporting and Analytics

(If you don't want to read the blurb just download

The SQL Team has had a long flirtation with building a Data Warehouse/Analytics system on top of the system information that exists in the Database Engine. The first time I remember discussing this was just after SQL 2000 shipped, we had mapped out all the SQL Agent jobs that needed to run, and what data to collect. The very first version of the product plan for Yukon had a Operations Data Warehouse feature listed but it got dropped pretty quickly as the scope of Yukon became clear.

Part of the reason it was an expensive feature in early days was the lack of consistent info in the server, we were going to have to use Trace, DBCC, System Tables, System Views and a bunch of undocumented stuff to accomplish a meaningful solution. However once DMVs started appearing in the product(that was not their original name) lots of ideas starting floating around again.

In parallel one of the small (I think there were 3 people that worked on the project) central test teams came up with the idea for H2( there was a predecessor but I don't remember its name and it was not broadly released, just select customers and internally) and built it, shipped it internally and then out to the public. There is interesting data in H2 but its mostly config data.

Through the personal perseverance of a couple of folks (mostly Dan Winn and Paul Mestamaker, then an intern, but others as well) with support from Dave Campbell we got a bunch of reports added to what was then the Summary View in Management Studio.

The Summary reports are great but they are more operational than they are analytical, lots of members of the community have filled in the gap by providing richer reports/analysis either plugged into SSMS or as standalone tools.

But as an analytics geek I have always wanted something more. Well last week the folks from the customer advisory team shipped out DMVStats which is a reporting and analytics solution focused on DMV reported perf data. I can't think of anyone better than these guys to ship such a tool as I am sure its based on real world usage. You can get it here.

Hopefully there is more to come in this space.

Posted Wednesday, July 04, 2007 10:23 PM by euanga | 3 Comments

Filed under: SQL Server, Microsoft

July SQL 2005 Best Practices Analyzer

This sneaked out, it does not say CTP so are we to presume this is a production version?

UPDATE: Paul says here that this is the final version (for now) and they are going to be doing ongoing updates to the rules, thats pretty cool.

Posted Tuesday, July 03, 2007 11:01 PM by euanga | 4 Comments

Filed under: SQL Server, Microsoft

More Posts Next page »

Euan Garden's BLOG

Top 10 SQL Server Blogs at Microsoft - SQLTeam.com

 

Written by Bill Graziano on 26 September 2007 | 3 Comments
Tagged with Developer Sites, DBA Sites

I read dozens of blogs every day related to SQL Server and development. I decided to try and list the Microsoft blogs where I find the most valuable content. Plus I included some non-blog SQL Server sites at Microsoft that I think you should know about.

Top 10 SQL Server Blogs at Microsoft - SQLTeam.com

SQL Server Forums - More fun with Katmai DUPSERT?

 An insert, delete and update in a single transaction?

-- Do the magic MERGE @Base AS b USING ( SELECT ID, SUM(Data) FROM @New GROUP BY ID ) AS src (ID, Data) ON src.ID = b.ID WHEN MATCHED AND src.Data = 0 THEN DELETE WHEN MATCHED THEN UPDATE SET b.data = src.Data WHEN NOT MATCHED THEN INSERT (ID, Data) VALUES (src.ID, src.Data); -- Last statement must end with a comma

SQL Server Forums - More fun with Katmai

SSMS Tools Pack: Main

 

SSMS Tools PACK is an Add-In (Add-On) for Microsoft SQL Server Management Studio and Microsoft SQL Server Management Studio Express.
It contains a few upgrades to the IDE that I thought were missing from Management Studio.
These are:


For now the SSMS Tools Pack is in its beta stage so please report any bugs on the contact page.
You can dowload it here.

SSMS Tools Pack: Main

Saturday, October 13, 2007

Donovan Lange's Work-Blog : Reasons you use OneNote?

 

My reasons are keeping a daily journal, screen shots for documentation, and research.  Here's plenty more.

  • OneNote allows me to put all of my little bits of information into a single place, organize them how I like, and always be able to find them instantly.
    • There’s a ton of information that doesn’t naturally have a good home otherwise.  Like the URLs I find when researching a topic, or the notes that I take during meetings.  Sure, I could use text files and notepad or post-it notes; but I’d have to create my own method for filing them into folders, navigate to the correct file to open them when I want to read them again, make sure I remember to hit Save (and give it a filename) before my laptop battery runs out and I lose my content, etc.  It really doesn’t scale when you have a lot of data.
  • It’s page surface allows me to outline, brainstorm, and collect rich forms of data better than any other tool out there.
    • Specifically, the ability to click anywhere on the page and just drag-drop any line of text to anywhere else on the page means that I can use this for random brainstorming and when writing out document outlines/drafts.  Things that don’t have linear or well-known structures. 
    • Plus, there’s a million features built into the application that allows me to embed non-textual forms of information.  So I can use screen clippings (via the Windows + S key) to take a picture of something currently on my screen, or embed a full document via the included OneNote Printer or the Insert Menu, and then annotate on top of that information.  And I can find it again, since we’ll OCR the text within the pictures.
    • Even without a tablet PC, the drawing shapes and click anywhere to type means that I can create simple diagrams without having to load up Visio.  With a tablet, I can draw directly on a page, and use a pen when I’m in a meeting where typing may be viewed as distracting.
    • It works with audio as well.  We record the audio for all of our spec reviews using the built-in laptop microphone.  Any notes typed during the meeting will be synchronized into the audio timeline for later review.  And OneNote will search the speech in the audio file as well.
  • It’s really good at capturing information quickly. 
    • Sometimes I need to get information written down as quickly as possible.  I don’t want to worry about making space in my word document, I can just click anywhere on the page and type. 
    • Ditto for inserting tables.  Just hit tab! 
    • I can launch a side-note window (which is a lot like a post-it note) from the system tray and grab down that phone number that someone just spouted off while I’m on the phone.
    • I can paste web content from a web page and it automatically includes the URL the content came from.  Huge time-saver.
    • I can apply metadata (flags) to my information or create Outlook Task items “in situ” along with the rest of the context that gives that task meaning.
    • I’m no longer restricted to keeping a single task list in Outlook.  When I’m in a meeting, or estimating a feature in OneNote I can tag a line as an Outlook Task, and it’ll create an Outlook Task for me, which is automatically kept in sync as I mark it completed, etc.  As a result, all of my ToDo items can live in the place where they’re most appropriate (like in the middle of my meeting notes, or in my shared notebook with you on a page of house projects) and yet have them rolled up appropriately in either OneNote or Outlook.
  • Outlook Integration, Outlook Integration, Outlook Integration.
    • In addition to task sync’ing, I find that there’s a ton of information that gets sent to me in email, which should live in OneNote instead.  (As email is more of a dynamic source of changing data, vs. an authored knowledge base.)  I can send an email to OneNote directly from Outlook 2007 via a single toolbar button click.  For someone who tries to keep their inbox nearly empty, being able to store messages like “how to access the internal newsgroups” (for instance) in a Notebook feels much cleaner than keeping them in my inbox.
    • In addition, I can also take notes about meetings (and have it find my previous meeting notes for a recurring meeting) or keep information about people from my Contact List / GAL in OneNote directly from the Outlook meeting and contact windows.  The link between the two stays present regardless of how that gets filed in my Notebooks.
  • My stuff is available everywhere.
    • I can’t emphasize how much this rocks.  My OneNote notebook is available at work, at home, on my phone (using OneNote mobile) and on my laptop.  All I did was point OneNote at a file share or Sharepoint Site, and OneNote takes care of the rest.  Plus, it synchronizes embedded documents as well, so I don’t have to use Sharepoint to upload a document or email it to myself.  I just drag-drop it right onto the OneNote page, and voila it’s everywhere I need it!  No sync’ing, no file locking, nothing.  It just works.
    • Moreover, it works when I’m offline.  Even those embedded documents… when I pick up my laptop and go to a conference room in another building, I can still keep typing, regardless of whether or not I’ve got wireless.  Go on vacation to the beach, and make changes to my notebook.  Whenever it comes online, it all merges back in without any user interaction.
  • It allows me to collaborate with others.
    • Word track-changes?  Sharepoint edit locks?  Yuck.  OneNote is a breeze by comparison.  Think of it like a Wiki on crack.  Everyone just opens up the same Notebook (or Section or page) and just types away.  It’s magic.
    • For those without OneNote, I can create PDFs of my pages, or send a page as an email with a single click.  The person on the other end of that email doesn’t even need OneNote to view my stuff.
  • I can store sensitive information and password protect it.
    • I generally use this for my personal notebook, but I find it invaluable to store my Credit Card numbers, Bank Account Information, Website Passwords, Frequent Flyer accounts, etc. all in a section that I then password protect.  Because the bits stored on disk are encrypted, I can access that file from a server and not worry about the security of the server, across the network, etc.
  • I can automate repetitive things.
    • I keep a work journal, and find that it’s really convenient to create a stationary (templates) page which is applied automatically to all new pages created in my Journal section.  It’s such a simple idea, but saves me a ton of time.
    • Not to mention all the cool add-ins that power-users have created that extends the functionality of OneNote. 
  • Source: Donovan Lange's Work-Blog : Reasons you use OneNote?

    Thursday, October 04, 2007

    Monday, September 24, 2007

    SQL 2005 : SQL 2005 - TSQL Enhancements

     

    SQL 2005 - TSQL Enhancements

    --------------------------------
    --SQL 2005 - TSQL Enhancements--
    --------------------------------
    ------------------
    --Error Handling--
    ------------------
    --In SQL 2000, you had to check and handle @@Error after each statement
    --In SQL 2005, we have TRY, CATCH (but no FINALLY)
    CREATE PROCEDURE [dbo].[ErrorProc]
    AS
    DECLARE @Value int;
    BEGIN TRY
    SELECT @Value = 200;
    PRINT 'Value set to 200';
    --Force Error
    SELECT @Value = @value / 0;
    PRINT 'Value divided by 0';
    END TRY
    BEGIN CATCH
    PRINT 'In Error Handler'
    SELECT
    ERROR_NUMBER() AS ErrorNumber,
    ERROR_MESSAGE() AS ErrorMessage,
    ERROR_PROCEDURE() AS ErrorProcedure,
    ERROR_LINE() AS ErrorLine,
    ERROR_SEVERITY() AS ErrorSeverity,
    @Value
    END CATCH
    GO
    EXEC ErrorProc
    ------------------------------------------------------
    --New Datatype size for varchar, nvarchar, varbinary--
    ------------------------------------------------------
    --It is now possible to use (MAX) as a datasize for varchar, nvarchar, varbinary
    --Eg. varchar(MAX), nvarchar(MAX), varbinary(MAX)
    --These *replace* text, ntext and image datatypes, although they remain fo backwards
    --compatibility
    --
    --These can be used as local variable
    DECLARE @MaxNvarchar nvarchar(MAX)
    SELECT @MaxNvarchar = REPLICATE('This is big data ', 250)
    SELECT @MaxNvarchar = @MaxNvarchar + '*** Steve *** '
    SELECT @MaxNvarchar = @MaxNvarchar + REPLICATE('And lots more text ',200)
    SELECT @MaxNvarchar = @MaxNvarchar + REPLICATE('And lots more text ',200)
    SELECT @MaxNvarchar = @MaxNvarchar + '*** End ***'
    SELECT
    @MaxNvarchar AS [Data]
    ,DATALENGTH(@MaxNvarchar) AS [DataLength]
    ,LEN(@MaxNvarchar) AS [Len]
    ,CHARINDEX('End', @MaxNvarchar) AS [EndPos]
    GO
    --Becareful though. Not all functions operate over more than 8000 characters
    DECLARE @MaxNvarchar nvarchar(MAX)
    SELECT @MaxNvarchar = REPLICATE('This is big data ', 250)
    SELECT @MaxNvarchar = @MaxNvarchar + '*** Steve *** '
    SELECT @MaxNvarchar = @MaxNvarchar + REPLICATE('And lots more text ',400)
    SELECT @MaxNvarchar = @MaxNvarchar + '*** End ***'
    SELECT
    @MaxNvarchar AS [Data]
    ,DATALENGTH(@MaxNvarchar) AS [DataLength]
    ,LEN(@MaxNvarchar) AS [Len]
    ,CHARINDEX('End', @MaxNvarchar) AS [EndPos]
    --Varbinary(MAX) allows binary data upt o 2Gb
    DECLARE @MaxVarBinary varbinary(MAX)
    --XML datatype - more on this later
    DECLARE @xmldata xml
    ----------------------------
    --Common Table Expressions--
    ----------------------------
    --Show Tables
    select * from emp;
    with emph(id, name, mgrid, lvl, rootmgrid)
    as
    (
    --anchor member
    select id, name, mgr_id, 0, id
    from emp
    where mgr_id IS NULL
    union all
    --RECURSIVE STEP
    select e.id, e.name, e.mgr_id, lvl + 1, eh.rootmgrid
    from emp e
    join emph eh
    on eh.id = e.mgr_id
    )
    select * from emph where rootmgrid = 1
    SELECT * FROM emp
    ---------------------
    --RANKING FUNCTIONS--
    ---------------------
    --Row Number--
    SELECT
    [name]
    ,[age]
    ,ROW_NUMBER() OVER(ORDER BY [name]) AS namerownumber
    ,ROW_NUMBER() OVER(ORDER BY [age]) AS agerownumber
    FROM
    emp
    ORDER BY
    [name];
    --Paging--
    WITH myemp AS
    (
    SELECT
    [name]
    ,[age]
    ,ROW_NUMBER() OVER(ORDER BY [name]) AS namerownumber
    FROM
    emp
    )
    SELECT
    *
    FROM
    myemp
    WHERE
    namerownumber BETWEEN 4 AND 6
    --Ranking--
    with emprank
    as
    (
    select
    row_number() over(order by id) AS [Row],
    rank() over (order by sales desc) AS [Rank],
    rank() over (partition by country order by sales desc) AS [RankByCountry],
    dense_rank() over (order by sales desc) AS [DenseRank],
    ntile(5) over (order by sales desc) AS [FifthPercentile],
    name,
    country,
    age,
    sales
    from
    emp
    )
    select * from emprank
    ----------------------------------------------
    --Replacing the need for cursors/while loops--
    ----------------------------------------------
    --This example shows the creation of running total sales
    --The main purpose, is to demonstrate how much easier the code is with 2005
    --In 2000, you would have to insert into a temp table with an identity value
    --Then create a cursor over the temporary table, iterating over each row
    --updating the new total, to a running total value of sales
    drop table #totals
    select row_number() over (order by id) rn,
    name, country, sales into #totals
    from emp;
    with rt (rn, name, country, sales, runtot)
    as
    (
    select rn, name, country, sales, sales
    from #totals
    where rn = 1
    union all
    select t.rn, t.name, t.country, t.sales, t.sales + rt.runtot
    from #totals t
    join rt on t.rn = rt.rn + 1
    )
    select * from rt
    drop table #totals
    ------------------
    --Pivot function--
    ------------------
    select * from sales
    pivot( sum(total) for period in ([Q1], [Q2], [Q3], [Q4])) p
    ----------------------------------------------------
    --Output affected rows during update/delete/insert--
    ----------------------------------------------------
    --drop procedure updSales
    create procedure updSales
    as
    --Create table to store modified rows
    DECLARE @tab TABLE (id int, name varchar(15), oldsales int, newsales int)
    BEGIN TRAN
    --Modify some rows
    UPDATE
    emp
    SET
    sales = sales + 50
    OUTPUT
    inserted.id,
    inserted.name,
    deleted.sales,
    inserted.sales
    into @tab
    WHERE
    sales >= 400
    --Rollback transaction, as test proc and don't really want to alter db
    ROLLBACK TRAN
    --Return affected rows
    select * from @tab
    GO
    SELECT * FROM emp
    EXEC updSales
    GO
    -----------
    --New TOP--
    -----------
    SELECT
    *
    FROM
    Sales
    DECLARE @rows int;
    SELECT @rows = 3;
    SELECT TOP(@rows)
    *
    FROM
    Sales
    --It is also possible to use this on INSERT/UPDATE/DELETE

    Published Saturday, February 11, 2006 3:17 PM by sbates

    Filed under: SQL 2005 - Code samples, SQL 2005 - What's New

    Source: SQL 2005 : SQL 2005 - TSQL Enhancements

    Sql Server. Get space used (sp_SpaceUsed) for all tables in database - Author Nigel Rivett

     

    This calls sp_SpaceUsed for each table in a database and accumulates the data in a temp table. Output the data to a file or table to monitor the database.

    Source: Sql Server. Get space used (sp_SpaceUsed) for all tables in database - Author Nigel Rivett

    Sql Server 2005. Save and display query plans and statements for all spids - Author Nigel Rivett

     

    When you run the sp s_GetQueryPlans it will create a file of every statement (or a single spid) that is running on the system. It will also create other files of associated query plans. Double click on the files and they will open in management studio showing the query or query plan diagram. This is useful for diagnosing problems on a system.

    Source: Sql Server 2005. Save and display query plans and statements for all spids - Author Nigel Rivett

    Monday, September 17, 2007

    LINQ to SQL Debug Visualizer - ScottGu's Blog

     

    The LINQ to SQL Debug Visualizer isn't built-in to VS 2008 - instead it is an add-in that you need to download to use.  You can download a copy of it here.

    Source: LINQ to SQL Debug Visualizer - ScottGu's Blog

    Thursday, September 13, 2007

    SQLServerCentral.com Script Library

    Scripts from the maker of Sql Spy. 

    Displays Identity Column Values
    By: Robert Vallee - Posted: 10/21/2001
    Script Rating (3.71)   Total number of votes [7]
    Displays identity column values, number of rows in the table, and the difference between the two. The difference can indicate the amount of deletions that could be going on. ...

    Display Identity Values and Other Info
    By: Robert Vallee - Posted: 09/06/2001
    Script Rating (3)   Total number of votes [6]
    Displays identity values, number of rows in the table, and the difference between the two. The difference can indicate the amount of deletions that could be going on. ...

    Display Stored Procedure Parameters
    By: Robert Vallee - Posted: 09/04/2001
    Script Rating (4.41)   Total number of votes [17]
    Display any stored procedures using input and output parameters. I took the view, PARAMETERS that ships with SQL 2000 and cleaned it up a bit. ...

    Output Language Date Settings
    By: Robert Vallee - Posted: 09/04/2001
    Script Rating (1)   Total number of votes [1]
    Display language/date settings for your SQL Server. ...

    hx_Windows_Logins
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (3.75)   Total number of votes [4]
    Display only windows logins for SQL Server ...

    hx_ShowIdentityColumns
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (3.43)   Total number of votes [7]
    List out all columns that are set as Identity columns in the database ...

    hx_ShowFixedDriveSpace
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (2.4)   Total number of votes [5]
    Very simple, how much space is free on the hard drives of the SQL Server you are connected to. ...

    hx_OLEDBproviders
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (2.75)   Total number of votes [4]
    Get OLE Providers info I have found this useful in tracking down application driver/connection issues. I only had to use it 2 times. But it did help ...

    hx_JobSchedules
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (3.89)   Total number of votes [9]
    Displays Job Schedules info if any ...

    hx_IndexInformation
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (4)   Total number of votes [4]
    Displays Index Info for whatever database it is run against ...

    hx_DTSPackageDetails
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (2.5)   Total number of votes [2]
    Displays DTS Package info if any ...

    hx_dbMaintancePlans
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (2.5)   Total number of votes [2]
    Displays Maintance plan history if any. I used distinct to filter out and return only what is relevent to what I need. You may not wish this for your purposes. Feel free to make changes ...

    hx_DatabaseProperties
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (3)   Total number of votes [5]
    Displays database properties. Was this the best way of doing it? Probably not, but it works. ...

    hx_ConfigurationOptionReference
    By: Robert Vallee - Posted: 08/22/2001
    Script Rating (4)   Total number of votes [4]
    Displays Configuration option references and current set values. ...

    Optimize Character Field Usage
    By: Robert Vallee - Posted: 08/10/2001
    Script Rating (4.48)   Total number of votes [21]
    This stored procedure was designed to scan all your character based columns in a particular database and show the minimum, maximum and average data length. As well as give an efficiency rating of the data stored. Input: None Output: Table...

    Contribute a Script.

    SQLServerCentral.com Script Library

    SQL SPY - Open Source Amazing SQL Monitoring & Analysis

     This is one of the best tools I have seen in awhile.

    Be sure to run sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Ole Automation Procedures', 1; GO RECONFIGURE; GO

    to access certain features.  The biography and live monitoring features are a must see.

    Project SQL SPY 5.2 is out! This version of SQL SPY fully supports SQL Server 2005 and has many new features exclusively for SQL 2005.
    SQL SPY was designed as a tool to display, monitor and report on valuable SQL Server information.

    SQL SPY

    Exporting Subreports from SQL Reporting Services

     

    This question that has come up a few times on the project on which I am currently working.

    ‘How to ensure that Sub Report data in Reporting Services is included when exporting to XML and CSV formats?’

    This is not the default behaviour of RS but luckily the answer is very simple.

    1. Right-click on your sub report and select properties.
    2. Note down the sub report name in the Name: field of the General Tab.
    3. Go to the Data Output Tab and type in the same name into the Element name: field.
    4. Ensure that the Output: radio button is set to Yes. Setting it to Auto doesn’t appear to work.

    David Francis Blog

    Sunday, September 09, 2007

    MSFT Financial Analyst Meeting: Ray Ozzie

     

    Ray talks about the Layers Microsoft is investing in:

    GCF <--  CIS <-- LIVE <-- YOU

    And the best way I've found to do this is to basically step through the architecture of the services platform and the nature of the solutions that'll take advantage of that platform. So at the bottom there, the first and lowest layer of the services platform are something we refer to as our Global Foundation Services. This is a physical layer of our services infrastructure that includes our datacenters, the racks of computers and disks that are inside those datacenters, the network that connects them to the Internet, and the people who build and operate these datacenters and maintain them and monitor the activities that are going on within them.

    The datacenters are of massive scale. There's a number of them. They're built with commodity components, and that's how you get the cost down, and they achieve reliability through redundancy, not the fail-safe nature of any given component within the datacenter. Our expansion continues at this layer around the world. Next week we're going to be breaking ground in San Antonio on a fairly big datacenter, and our deployed servers and infrastructure has more than doubled over the course of the past year, and we will keep investing.

    The next layer above that is our cloud infrastructure services layer. And this is the most fundamental software level of the services infrastructure. You can think of this as a utility computing fabric upon which all of our online services run. You know, among other services, this fabric has an efficient and isolated virtualized computation layer. It has application frameworks that support a variety of app models that are designed for horizontal scaling. And it has infrastructure that manages the automatic deployment and load balancing and performance optimization of the apps that it's managing running on its infrastructure.

    It also supports several types of horizontally scalable storage types like files and database and searchable storage that are needed for different types of apps that you put onto this platform. And of course, you know, another key element is networking services, where to efficiently serve up apps and content to Internet users worldwide in a very low-latency and efficient manner.

    The next layer up from there is something that I refer to as the Live platform services layer. And these are services that are designed specifically to serve the needs of apps, of our apps predominately, that target individuals and very small businesses, unmanaged users. These are generally ad-monetized applications, and because of that, there's synergy in sharing data and features among the apps at this level. And so they all share many, many of these services.

    These are services like identity services, contact lists -- this is the layer where our social graph of your relationships lives, your presence and rendezvous, communication services. Perhaps most importantly, our advertising platform infrastructure lives at this level.

    So whether it's hosting our Live offerings for individuals or our service-based offerings that are more targeted for enterprises, or apps that our partners or customers will provide -- this platform will ultimately be used by and will benefit all of the audiences that we as Microsoft serve, because each audience is undergoing some transformation that's relevant to them, from software-based solutions to software plus services, or services alone.

    Source: MSFT Financial Analyst Meeting: Ray Ozzie

    Why did Microsoft give us the Ribbon X?

     

    The one thing I disliked the most about Office 2007 was the Ribbon.  It halts productivity for awhile (where did the format menu go? Oh it's Home now!) and screws with my head by not showing the menu I was shortcutting to... (Alt E - F - R?)

    Not to mention the Jewel in the corner that hides the preferences menus, and important things like File - Save as.

    The good news is you can download free (and $15) tools that recreate the good old file-edit menus that were in Office 2003.  The bad news is you have to download them - they should just be an option to check off in the system.

    So why the Ribbon?

    There are several reasons why Microsoft put ribbon in office. The most apparent one is target group. What is ribbon anyway? It's a toolstrip with tabs and really big icons. The reason why Microsoft decided to build office' user interface with it (the way I see it) is to make it easier for average secretary for whom computer is voodoo to use it. Instead of menus hiding option everything is right in front of her eyes, labeled, and with big shiny icons. That certainly makes it easier for starters to use it.

    For advanced users however result is opposite. Advanced users do most of their work with keyboard shortcuts, and don't care about big icons and descriptive labels under them. What they rather care about is: this big thing on top of my screen eats up lot of space on my monitor. This is especially important in tools where you want to have multiple windows open at once, and every pixel is worth gold.

    There's a reason why Microsoft didn't put ribbon in VS 2008, and (again, the way I see it) that is exactly this: different target group. Visual Studio is targeted for advanced users who don't care about big icons and who most of the time use keyboard shortcuts.

    Source: Krzysztof Koźmic's blog - powered by FeedBurner

    Thursday, September 06, 2007

    Consuming the Reporting Services web service inside SSIS « The Furnace

     

    I had a request to go into more detail as to an implementation of the ReportService web service inside SSIS.  I decided I’d take a crack at it.

    Taking a snapshot of a report after a successful ETL load is a common task.  You could automate this task into the ETL load by consuming the Reporting Services web service and calling the UpdateReportExecutionSnapshot method and invoking Reporting Service to take a snapshot.  This could then be a catalyst for subsequent subscriptions for users who have asked to be notified when a new version of a report is ready.

    Consuming the Reporting Services web service inside SSIS « The Furnace

    Wednesday, September 05, 2007

    Open XML Comes Up Short for ISO Standardization, Heads to 2008 Showdown

    Microsoft lost the first round of trying to make Office 2007 XML an ISO Standard, which could hinder progress in government markets and the ability to tick off the ISO standard checkbox on an RFP. 

    Microsoft has failed in its bid to fast track its Open XML document formats as ISO standards, thanks to a drubbing in the first round of the standardization process. Now, the software giant must respond to a litany of complaints and negative comments before it can resubmit the formats for standardization in early 2008.

    Source: Open XML Comes Up Short for ISO Standardization, Heads to 2008 Showdown

    Brian Jones has the positive spin - that over 9 separate apps currently use the Open XML format.

    His comments tell a different story though.

    Is RDL a standard yet?  I thought DOC & XLS (BIFF) were standards?  What am I missing here? 

    Wasn't it easy enough to manipulate the binary code in Office 2003 documents?  This XML stuff is useless and bloated anyway....

    Thursday, August 30, 2007

    Dashboard Insight - Editor's Note

    A new magazine, sponsored by Dundas Software.

    If we can tap into and leverage the collective consciousness of the business intelligence community, then we will achieve our goal of providing a forum for relevant thought and expression of ideas on the smart and effective use of dashboards. And we will have served a useful purpose for the business intelligence community.

    Source: Dashboard Insight - Editor's Note