SQL Server 2014 has been released to manufacturing

Yesterday, Quentin Clark, corporate vice president of the Data Platform Group, announced that SQL Server 2014 has been released to manufacturing and will be generally available on April 1. Quentin’s blog discussed the tremendous momentum with the SQL Server business as well as SQL Server 2014’s new in-memory OLTP technology and hybrid cloud capabilities. Additional details on those capabilities and highlights are provided by the SQL Server Blog.

I wish you a nice day,
tosc

SQL Server 2012 System Views Map

Something I forgot... we talk about, Christoph :-)

SQL Server 2012 System Views Map

The Microsoft SQL Server 2012 System Views Map shows the key system views included in Microsoft SQL Server 2012, and the relationships between them. The map is similar to the prior versions of Microsoft SQL Server System Views Maps and includes updates for the Microsoft SQL Server 2012. Note that not all possible relationships are shown.

You can download it from here!

And...

Microsoft Business Intelligence at a Glance Poster

The poster summarizes the benefits of Microsoft's BI technologies and depicts them by layer: client (such as BI in Excel), the presentation subsystem (such as SharePoint 2013), information sources (such as Reporting Services), and data sources (such as relational databases). It focuses on the enterprise architect and IT implementer audience. It includes Office 2013 client and server, SQL Server 2012 with SP1, and BI services in Windows Azure.

You can download it from here!

I wish you a nice  day,
tosc

Server 2014 – Neues für Datenbank-Entwickler und Administratoren

www.sqlpass.de

Hallo PASS‘ler,

hiermit möchten wir euch zum nächsten Treffen der Regionalgruppe Franken in Nürnberg am 
Dienstag, 21. Januar 2014
18:30 bis ca. 20:30
zum 
kostenlosen Vortrag

SQL Server 2014 – 
Neues für Datenbank-Entwickler und Administratoren
 

SQL Server 2014 - Neues für Datenbank-Entwickler und Administratoren

SQL Server 2014 bringt einige fundamentale Neuerungen mit den neuen Speichertechnologien Clustered Columnstore Indexes und In-Memory OLTP (Codename „Hekaton“).

Diese sind für sich gesehen spannend genug.

In diesem Vortrag verschaffen wir uns aber einen kompletten Überblick über die neuen Features, die der neue SQL Server mit sich bringt. (Hier gibt es eine kurze Übersicht:

www.insidesql.org/blogs/andreaswolter/2013/10/sql-server-2014-ctp2-released-download) – Der SQL Server 2014 wird übrigens auf der deutschen SQL Server Konferenz (www.sqlkonferenz.de) veröffentlicht werden – passend zur 10-Jahresfeier der PASS Deutschland e.V..

Gezeigt werden Demos und Hintergründe, wer und warum von den neuen Speicher-Engines profitieren wird; und inwiefern die anderen verbesserten und neuen Features wie Ressource Governor für IO, Buffer Pool Extension, AlwaysOn, Lock Priority Management, Partitioning & Statistics, die Performance, Verfügbarkeit und Sicherheit verbessern.

Sprecher

Andreas Wolter, ist Microsoft Certified Solutions Master (MCSM) auf SQL Server 2012 sowie MCM SQL Server 2008, und damit einer von weltweit weniger als einem Dutzend Experten weltweit, die diese höchste technische Zertifizierung von Microsoft unter (für den)SQL Server 2012 abgelegt haben. 
Dazu ist er Microsoft Certified Trainer (MCT), MCITP:DD/DA/BID, MCDBA, MCSA und kann auf über zehn Jahre Erfahrung mit SQL Server Datenbanksystemen zurückblicken. 
Mit seiner Firma SARPEDON Quality Lab (www.SarpedonQualityLab.com ) hat Andreas sich besonders auf die Entwicklung und Optimierung von Datenbank- und Datawarehouse-Architekturen spezialisiert. Dabei stehen Performance, Skalierbarkeit und vor allem auch das heiße Thema Sicherheit in seinem Fokus.  Außerdem ist er Trainer für die SQL Server Master-Classes(www.sarpedonqualitylab.com/SQL_Master-Classes.htm) und andere intensive Trainings. Sein Blog ist unter www.insidesql.org/blogs/andreaswolter zu finden.

Wir treffen uns bei

New Elements GmbH / it-schulungen.com
www.it-schulungen.com

Thurn-und-Taxis-Straße 10
(Alcatel-Lucent Gebäude im Nordostpark)
D - 90411 Nürnberg
Fon: 0911 - 65 00 83 - 25

Kostenfreie Parkplätze sind vorhanden.

Über Euer Kommen freuen wir uns sehr. Bitte teilt uns zwecks Planung der Räumlichkeiten mit, ob Ihr kommt.
Gerne könnt Ihr die Einladung an Kollegen und Mitarbeiter weitergeben.

Wir bitten um eine vorherige Anmeldung per XING www.xing.com/events/1341835 oder per Email an: mde@sqlpass.de.
Wir freuen uns auf eine rege Runde – und wer Lust hat bringt Zeit mit, den Abend gemeinsam beim Italiener ausklingen zu lassen.

Michael Deinhard und Torsten Schüßler

Kontakt

PASS Deutschland e.V.
http://www.sqlpass.de 

Regionalgruppe Franken

http://www.sqlpass.de/Regionalgruppen/Franken/


Michael Deinhard                            Torsten Schüßler

Christmas 2013 – THE DIGITAL STORY OF NATIVITY – (Christmas 2.0)

I know it's from 2012/2011/2010, but :-)

Thank you for spending your time on this blog.

SELECT LO.createdate
FROM   master.sys.syslogins LO WITH (nolock)
WHERE  lo.loginname = N'NT AUTHORITY\SYSTEM'
        OR lo.loginname = N'NT AUTHORITY\NETWORK SERVICE'; 

Do you know the result :-) 2013-12-24 00:00:00.000

May peace, prosperity, and happiness be yours throughout the holidays and new year.

  

Time to Say Thank You!

Yes, it is SysAdminDay!

July 26, 2013 14th Annual
System Administrator
Appreciation Day

You are welcome:

I wish you ALL a nice SysAdminDay!

CU
tosc 

Welcome as a Speaker for SQLSat 230 Rheinland

Yesterday, I received the "Welcome as a Speaker for SQLSat 230 Rheinland" – Mail.

BANG!

I am touched ...

We are happy to announce the schedule for SQLSaturday #230 Rheinland and welcome you as one of our selected speakers.

What an honor! I will talk about performance and manageability of tempdb, from the perspective of a database administrator.

I am happy about, that there are 3 InsideSQL’s:

Before I forget, take a closer look at Pre-Conference SQLSaturday #230 on Friday– very cheap & interesting!

Are you a photographers? Please get in touch with Dirk Hondong!

CU at SQLSaturday #230 | Rheinland!
tosc 

New Version of SQL Server Maintenance Solution by Ola Hallengren Now Available

Ola Hallengren and his ongoing work of his SQL Server Maintenance Solution - SQL Server Backup, Integrity Check, and Index and Statistics Maintenance.The solution is based on stored procedures, functions, the sqlcmd utility, and SQL Server Agent jobs.

Numerous SQL Server community experts recommend the SQL Server Maintenance Solution, which has been a Gold and Silver winner in the 2011 and 2010 SQL Server Magazine Awards. I love this tool to perform index maintenance on instances with VLDBs - and the best it's free!

The new version supports:

  • lock timeout settings in DatabaseIntegrityCheck and IndexOptimize
  • support for indexes and statistics on objects that are created by internal SQL Server components
  • ... and so on :-)

It can be uses like this:

EXECUTE dbo.IndexOptimize @Databases = 'AdventureWorks', @LockTimeout = 600

The new version has some performance optimizations and minor bug fixes

Download: http://ola.hallengren.com/scripts/MaintenanceSolution.sql

Please feel free to contact him if you have any questions. And I tell you, Ola will consider it!!!

I wish you a nice  day,
tosc

Discrepancy by estimated TEMPDB space for CHECKDB and CHECKALLOC - WITH ESTIMATEONlY

I came around this problem (depends on SQL Server 2008 R2 jutst to SQL Server 2012) by reading Paul S. Randal's and Ana's blog posts:

DBCC CHECKDB runs CHECKALLOC, CHECKTABLE, CHECKCATALOG etc. against database, tables, views and so on. And I have learnded, however CHECKDB is executed against master database, a second CHECKDB is also running internally on the mssqlsystemressource.

So in my way, I want only make consistency check of disk space allocation by DBCC CHECKALLOC WITH ESTIMATEONLY against a ~ 200GB database, to know the estimated amount of tempdb space.

I run following DBCC command on SQL Server 2012 Enterprise Edition:

DBCC CHECKALLOC () WITH ESTIMATEONLY, TABLERESULTS;
GO

And I get this result

Estimated TEMPDB space (in KB) needed for CHECKALLOC on database XXX = 35383596.

OK, nothing special - but I thought about the posts of Ana and Paul, and a blog entry of Running SQP on SQL Server Blog - Faster DBCC CHECKDB Released in SQL 2008 R2 SP1 CU4 : Traceflag 2562 & 2549

So next shot comparing CHECKDB and CHECKALLOC:

DBCC CHECKDB WITH ESTIMATEONLY, TABLERESULTS; 
GO

DBCC CHECKALLOC WITH ESTIMATEONLY, TABLERESULTS;
GO

And the results are diffrent!
For CHECKDB:

Estimated TEMPDB space (in KB) needed for CHECKDB on database XXX = 27165.

And for CHECKALLOC:

Estimated TEMPDB space (in KB) needed for CHECKALLOC on database XXX = 35383596.

This isn't an expected result - what a discrepancy!

By the way I have made a Microsoft Connect entry: http://connect.microsoft.com/SQLServer/feedback/details/787049/discrepancy-by-estimated-tempdb-space-for-checkdb-and-checkalloc-with-estimateonly

So feel free to vote.

I wish you a nice day,
tosc

Torsten Schuessler

SQL Server 2012 Tempdb File Size Change tracked with Extended Events

We are using SQL Server 2012 and the tempdb is growing so fast. How do I effectively find what’s causing my tempdb growing. Can I monitor the file size change with Extended Events to find out the ...

The tempdb system database is a global resource that is available to all users connected to the instance of SQL Server. tempdb is re-created every time is started so that the system always starts with a clean copy of the database. The database engine uses tempdb for:

    • Temporary user objects (temp tables, table variables ...)
    • Internal objects (work tables/work files/ intermediate results ...)
    • Version store for data modification transactions (Online indexes, After trigges, Snapshot, MARS ...)
    • Service Broker, database mail ...

But this is another deep dive topic of tempdb latch contention on allocation pages... :-)
For now I only want to know

What's causing that my tempdb is growing so fast?

I usually look first to the tempdb file size and autogrow settings, you know something like this:

--> SQL Server tempdb file size and autogrow information <--
SET NOCOUNT ON;
GO  
USE [master];
GO
-- Check for trace flag 1117/1118 or any other trace flag
DBCC TRACESTATUS (1117) WITH NO_INFOMSGS; -- Grows all data files at once, else it goes in turns.
DBCC TRACESTATUS (1118) WITH NO_INFOMSGS; -- Switches allocations in tempDB from 1pg at a time (for first 8 pages) to one extent
DBCC TRACESTATUS () WITH NO_INFOMSGS;

SELECT
  
old.physical_name AS 'FileName',
  
old.name AS 'LogicalName',
  
old.size * 8.0 / 1024.0 AS 'OriginalSizeInMB',
  
new.size * 8.0 / 1024.0 AS 'CurrentSizeInMB',
  
'GrowthType' =
      
CASE
          
WHEN new.growth = 0 THEN 'File is fixed size and will not grow.'
          
WHEN new.growth > 0 AND new.is_percent_growth = 0
              
THEN 'Growth increment is in units of 8-KB pages, rounded to the nearest 64 KB'
          
ELSE 'Growth increment is expressed as a whole number percentage.'
      
END,
  
'GrowthIncrement' =
      
CASE
          
WHEN new.is_percent_growth = 0 THEN CAST((new.growth * 8 / 1024) AS NVARCHAR(30)) + 'MB'
          
ELSE CAST (new.growth AS NVARCHAR(30)) + '%'
          
END,
  
'MaximumFileSize' =
      
CASE new.max_size -- file size, in 8-KB pages
          
WHEN 0 THEN 'No growth is allowed.'
          
WHEN -1 THEN 'File will grow until the disk is full.'
          
-- !Databases that are upgraded with an unlimited log file size will report -1 for the maximum size of the log file!
          
WHEN 268435456 THEN 'Log file will grow to a maximum size of 2 TB.'
          
ELSE CAST (new.max_size * 8.0 / 1024.0 AS NVARCHAR(30)) + 'MB'
      
END
FROM
   MASTER
.sys.master_files old INNER JOIN tempdb.sys.database_files new ON
  
old.FILE_ID = new.FILE_ID
WHERE
  
database_id = DB_ID('tempdb')
   AND
old.size <> new.size

In fact, this is a good starting point to presize tempdb, for peak periods or set autogrow to be rare but "big enough", but I want to know what's causing my tempdb to grow so fast.

So I came out on Extended Events. Extended Events are a new mechanism introduced in SQL Server 2008 to capture SQL Server performance data with low overhead compared to SQL Server profiler, server side tracing, DBCC commands and other utilities. The scope of Extended Events is far beyond this tip and please refer to the articles below for better understanding of this feature. Extended Events allow more granular level tracking that was impossible in prior SQL Server versions. Extended Events in SQL Server 2012, XE in short, allows you capturing performance monitoring data at individual database level or per session level and for this post I will track information at the database level for tempdb.

The code snippet below creates the session to track tempdb file size changed and some informations of client application, session id, client hostname and so on.

--Drop the event if it already exists
IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE name = 'tempdb_file_size_changed')
    
DROP EVENT SESSION [tempdb_file_size_changed] ON SERVER;
GO

-- Create event
CREATE EVENT SESSION [tempdb_file_size_changed] ON SERVER
ADD EVENT sqlserver.database_file_size_change(SET collect_database_name=(1)
    
ACTION
  
(sqlserver.client_app_name,sqlserver.client_hostname, sqlserver.database_id,sqlserver.session_id,
  
sqlserver.session_nt_username,sqlserver.username) WHERE ([database_id]=(2)))
ADD TARGET package0.event_file
(SET filename=N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\tempdb_file_size_changed.xel')
WITH (MAX_DISPATCH_LATENCY=1 SECONDS)
GO

Once the script is completed and started I can wait for my tempdb rumbling.

To summarize the file size change, I ran these following queries:

SET NOCOUNT ON;
GO  
USE [master];
GO
SELECT
      
database_name AS DatabaseName
      
, file_type AS FileType
      
, SUM (size_change_kb) AS Total_Size_Change_KB
      
, SUM (duration) AS Total_Duration
      
, client_app_name AS Client_Application
      
, session_id AS SessionID
      
FROM (
      
SELECT
          
n.value ('(data[@name="size_change_kb"]/value)[1]', 'int') AS size_change_kb
          
, n.value ('(data[@name="database_name"]/value)[1]', 'nvarchar(50)') AS database_name
          
, n.value ('(data[@name="duration"]/value)[1]', 'int') AS duration
          
, n.value ('(data[@name="file_type"]/text)[1]','nvarchar(50)') AS file_type
          
, n.value ('(action[@name="client_app_name"]/value)[1]','nvarchar(50)') AS client_app_name
          
, n.value ('(action[@name="session_id"]/value)[1]','nvarchar(50)') AS session_id
          
      
FROM
          
(   SELECT CAST(event_data AS XML) AS event_data
              
FROM sys.fn_xe_file_target_read_file(
                  
N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\tempdb_file_size_changed*.xel',
                   NULL,
                   NULL,
                   NULL)
           )
AS tab
CROSS APPLY event_data.nodes('event') AS q(n)) xyz
GROUP BY client_app_name, database_name, file_type, session_id
ORDER BY client_app_name

 

And what was causing my tempdb, it was me by Microsoft SQL Server Management Studio :-( - only for this blog entry.

Feel free to download these scripts:

I wish you a nice  day,
tosc

Torsten Schuessler

Inappropriate?

1 2 3 4 5 6 7 8 9 10 11 ... 24 »