View all Partitions with RowCount

If you work with partioned tables it is useful to know how many rows are located in which partition. To get this information the following SQL statement could help:

CREATE procedure usp_getRowsPerPartitions(@tablename as varchar(128)) 

AS

SELECT
      OBJECT_NAME(p.object_id) AS ObjectName,
      i.name                   AS IndexName,
      p.index_id               AS IndexID,
      ds.name                  AS PartitionScheme,   
      p.partition_number       AS PartitionNumber,
      fg.name                  AS FileGroupName,
      prv_left.value           AS LowerBoundaryValue,      
      prv_right.value          AS UpperBoundaryValue,
      CASE pf.boundary_value_on_right
            WHEN 1 THEN 'RIGHT'
            ELSE 'LEFT' END    AS Range,
      p.rows AS Rows

FROM sys.partitions                  AS p
JOIN sys.indexes                     AS i
      ON i.object_id = p.object_id
      AND i.index_id = p.index_id

JOIN sys.data_spaces                 AS ds
      ON ds.data_space_id = i.data_space_id

JOIN sys.partition_schemes           AS ps
      ON ps.data_space_id = ds.data_space_id

JOIN sys.partition_functions         AS pf
      ON pf.function_id = ps.function_id

JOIN sys.destination_data_spaces     AS dds2
      ON dds2.partition_scheme_id = ps.data_space_id 
      AND dds2.destination_id = p.partition_number

JOIN sys.filegroups                  AS fg
      ON fg.data_space_id = dds2.data_space_id

LEFT JOIN sys.partition_range_values AS prv_left
      ON ps.function_id = prv_left.function_id
      AND prv_left.boundary_id = p.partition_number - 1

LEFT JOIN sys.partition_range_values AS prv_right
      ON ps.function_id = prv_right.function_id
      AND prv_right.boundary_id = p.partition_number 

WHERE
      OBJECTPROPERTY(p.object_id, 'ISMSShipped') = 0 and OBJECT_NAME(p.object_id)=@tablename
UNION ALL

--non-partitioned table/indexes

SELECT
      OBJECT_NAME(p.object_id)    AS ObjectName,
      i.name                      AS IndexName,
      p.index_id                  AS IndexID,
      NULL                        AS PartitionScheme,
      p.partition_number          AS PartitionNumber,
      fg.name                     AS FileGroupName,  
      NULL                        AS LowerBoundaryValue,
      NULL                        AS UpperBoundaryValue,
      NULL                        AS Boundary, 
      p.rows                      AS Rows

FROM sys.partitions     AS p

JOIN sys.indexes        AS i
      ON i.object_id = p.object_id
      AND i.index_id = p.index_id

JOIN sys.data_spaces    AS ds
      ON ds.data_space_id = i.data_space_id

JOIN sys.filegroups           AS fg
      ON fg.data_space_id = i.data_space_id

WHERE
      OBJECTPROPERTY(p.object_id, 'ISMSShipped') = 0 and OBJECT_NAME(p.object_id)=@tablename

ORDER BY
      ObjectName,
      IndexID,
      PartitionNumber;

 

Leave a comment

MacPro: Einrichtung von Hyper-V mit NAT auf einem Notebook mit wechselnden Basisnetzwerken

Meine Konfiguration:
– MacOS & Windows 8.1 mit HyperV mit Bootcamp auf einem MacPro
– mehrere virtuelle Gastbetriebssysteme (Windows 8, Windows 7, …)
– 1 Netzwerkkarte

Problem:
Nach Einrichtung der virtuellen Maschine läuft der Internetzugriff problemlos. Sobald sich das Host-Netzwerk durch einen Standortwechsel ändert, war kein Zugriff auf das Internet mehr mit den Gastbetriebssystemen möglich
ohne die komplette Netzwerkinstallation neu zu installieren.

Lösung:
1. Alle virtuellen Maschinen müssen runtergefahren sein.
2. Alle virtuellen Switche der HyperV entfernen, die an die an die Netzwerkkarte gebunden sind löschen.
3. Für einen internen Switch erstellen (z.B. Internal1 (Internal2-4 werden nicht gebraucht, sind noch vom testen über):
VirtualSwitch2
4. Zusätzlich einen internen Switch erstellen, der später als NAT-Gateway fungiert (ich habe ihn Shared genannt). Er ist identisch konfiguriert.
5. Nun das Network Center über das Control Panel => Network and Internet => Network Sharing Center aufrufen:
NetworkCenter
6. Nun die WiFI-Verbindung anklicken und das Internet Connection Sharing für den Shared Switch aktivieren:
NetworkCenter2

NetworkCenter3

NetworkCenter4
7. Nun sollte der Shared Verbindung automatisch die Adresse 192.168.137.1 bekommen und als DHCP Server fungieren:
NetworkCenter5
8. Nun einfach wieder in den HyperV Manager wechseln und für jede virtuelle Maschine zwei Netzwerkkarten einrichten:
NetworkCenter6
9. Innerhalb der Gastsysteme existieren nun 2 Netzwerkkarten von denen eine eine dynamische Adresse im Bereich 192.168.137.x und die andere eine APIPA-Adresse (nicht löschen!) bekommt:

NetworkCenter7

,

2 Comments

Mime-Type for HTML5 Video

Um auf einem IIS6 Videos mit HTML5 Tags bereitzustellen, muss man im Informations-Dienste Manager die MIME-Types für die gewünschten Videos nachpflegen:

IIS6_1

IIS6_2

IIS6_3

Eine Liste der zu pflegenden Mime Types findet sich hier:
http://voice.firefallpro.com/2012/03/html5-audio-video-mime-types.html

, ,

Leave a comment

Free ebook Windows 2012 R2 -Technical Overview

Microsoft Press hat zur finalen Version von Windows Server 2012 R2 ein kostenloses E-Book veröffentlicht. Auf gut 240 Seiten gibt Mitch Tulloch darin einen Überblick zu Themen wie Hyper-V, Failoverclustering und Remote Desktop Services. Das E-Book steht in den Formaten PDF, ePub und mobi zum Download bereit.

http://blogs.msdn.com/b/microsoft_press/archive/2013/11/08/free-ebook-introducing-windows-server-2012-r2-technical-overview.aspx

Leave a comment

AMO Code Snippets to secure SSAS

AMO Code Snippets to secure SSAS

How to secure Analysis Services Cube with AMO.

Leave a comment

Windows XP Aktivierung blockiert Login nach Repair

Nach einer Reparatur meines Windows XPs verlangte die Neuinstallation eine Aktivierung vor dem ersten Login.
Dies war in sofern problematisch, als das die dazu notwendigen Netzwerktreiber noch nicht installiert waren.
Ohne Login also eine zunächst unlösbare Aufgabe.

Die Lösung war dann die Verschiebung der Aktivierung um 30 Tage mit folgenden Kommandos in der Command-Shell ohne Netzwerktreiber:
1. regsvr32 regwizc.dll
2. regsvr32 licdll.dll
3. rundll32.exe syssetup,SetupOobeBnk

Danke für den Tipp an Alexander…http://alexanderschimpf.de/140/

Leave a comment

DMVs for Analysis Services

http://blogs.microsoft.co.il/blogs/yanivmor/archive/2010/01/27/dmvs-for-analysis-services.aspx
http://www.ssas-info.com/VidasMatelisBlog/43_ssas-2008-ctp6-new-dmv-systemdiscover_object_activity

Leave a comment