The Language of this installtion package is not supported by your system
The reason I was getting this error was due to the method I had used in extracting the data from the file en_office_professional_plus_2010_x86_515486.exe
I had used Winzip, by right clicking the file and selecting Extract to D:\Office
The correct way for extacting the data was to extract using the command line. The syntax being
D:\en_office_professional_plus_2010_x86_515486.exe /extract:D:\Office
The switch /extract:D:\Office extracts the files contents to D:\Office on my PC, but could be any location.
Wednesday, June 23, 2010
Thursday, June 17, 2010
Tuesday, June 15, 2010
datetime in integer
Select @dt = GETDATE()
Select CONVERT(varchar(26),@dt, 121)
, CONVERT(bigint, replace(replace(replace(replace(convert(varchar(23),@dt,121),'-',''),':',''),'.',''),' ',''))
, CONVERT(int, @dt) -- date offset starting 1899-12-31
, DATEADD( D, -(CONVERT(int, @dt) ), @dt)
Select CONVERT(varchar(26),@dt, 121)
, CONVERT(bigint, replace(replace(replace(replace(convert(varchar(23),@dt,121),'-',''),':',''),'.',''),' ',''))
, CONVERT(int, @dt) -- date offset starting 1899-12-31
, DATEADD( D, -(CONVERT(int, @dt) ), @dt)
Tuesday, June 8, 2010
file system. sql server
--==============================================================
--Script Author: Timothy Ford aka SQLAgentMan
-- http://thesqlagentman.com
-- Can be used for personal use; credit must be given to author
-- Code can not be used for commercial use, repackaged, resold without permission
--==============================================================
--==============================================================
--CREATE DATABASE iDBA IF IT DOES NOT ALREADY EXIST:
--==============================================================
/*
IF NOT EXISTS (SELECT name FROM master..sysdatabases WHERE name = 'iDBA')
BEGIN
CREATE DATABASE iDBA;
ALTER DATABASE [iDBA] SET AUTO_SHRINK OFF;
ALTER DATABASE [iDBA] SET RECOVERY SIMPLE WITH NO_WAIT;
ALTER DATABASE [iDBA] MODIFY FILE (NAME = N'iDBA', MAXSIZE = 1000MB , FILEGROWTH = 100MB);
ALTER DATABASE [iDBA] MODIFY FILE (NAME = N'iDBA_log', MAXSIZE = 200MB , FILEGROWTH = 100MB);
END
*/
--====================================================================
--CREATE THE STORED PROCEDURE AS USED FOR LOADING DBA REPOSITORY NIGHTLY
--====================================================================
USE [iDBA];
CREATE PROCEDURE [dbo].[usp_database_file_snapshot] AS
DECLARE @SQL VARCHAR(5000)
DECLARE @version smallint
--DETERMINE IF THE INSTANCE IS SQL 2005 OR LATER SO CATALOG VIEWS CAN BE USED
SELECT @version = CONVERT(smallint, LEFT(CONVERT(varchar(20),SERVERPROPERTY('ProductVersion')),CHARINDEX('.',CONVERT(varchar(20),SERVERPROPERTY('ProductVersion')))-1))
IF EXISTS (SELECT NAME FROM tempdb..sysobjects WHERE NAME = 'RESULTS_FILE_HISTORY')
BEGIN
DROP TABLE [tempdb].[dbo].[RESULTS_FILE_HISTORY]
END
CREATE TABLE [tempdb].[dbo].[RESULTS_FILE_HISTORY] ([Server] nvarchar(128), [DatabaseName] sysname, [Name] sysname, [Filename] NVARCHAR(260),
[FileType] varchar(4), [Size_In_Mb] int, [Available_Space_In_Mb] int, [Growth_Increments] int, [Growth_Units] varchar(2),
[Max_File_Size_In_Mb] int)
--IF THIS IS A SQL 2000 OR EARLIER INSTANCE YOU MUST USE THE SYSTEM TABLES
IF @version < 9
BEGIN
SELECT @SQL =
'USE [?] INSERT INTO [tempdb].[dbo].[RESULTS_FILE_HISTORY]([Server], [DatabaseName], [Name], [Filename],
[FileType], [Size_In_Mb], [Available_Space_In_Mb], [Growth_Increments],
[Growth_Units], [Max_File_Size_In_Mb])
SELECT @@servername, DB_NAME(),
[name] AS [Name],
[filename] AS [Filename],
[FileType] =
CASE (status & 0x40)
WHEN 0 THEN ''Data'''
+
'ELSE ''Log'''
+
'END,
[Size_In_Mb] =
CASE ceiling([size]/128)
WHEN 0 THEN 1
ELSE ceiling([size]/128)
END,
[Available_Space_In_Mb] =
CASE ceiling([size]/128)
WHEN 0 THEN (1 - CAST(FILEPROPERTY([name], ''SpaceUsed''' + ') as int) /128)
ELSE (([size]/128) - CAST(FILEPROPERTY([name], ''SpaceUsed''' + ') as int) /128)
END,
[Growth_Increments] =
CASE (status & 0x100000)
WHEN 0 THEN CAST(CEILING([growth]/1024*8) AS int)'
+
'ELSE [growth]'
+
'END,
[Growth_Units] =
CASE (status & 0x100000)
WHEN 0 THEN ''Mb'''
+
'ELSE ''%'''
+
'END,
[Max_File_Size_In_Mb] =
CASE [maxsize]
WHEN -1 THEN NULL
WHEN 268435456 THEN NULL
ELSE [maxsize]/1024*8
END
FROM dbo.sysfiles
ORDER BY [fileid]'
END
ELSE --IF THIS IS A SQL 2005 OR LATER INSTANCE YOU WILL USE THE CATALOG VIEWS
BEGIN
SELECT @SQL =
'USE [?] INSERT INTO [tempdb].[dbo].[RESULTS_FILE_HISTORY]([Server], [DatabaseName], [Name], [Filename],
[FileType], [Size_In_Mb], [Available_Space_In_Mb], [Growth_Increments],
[Growth_Units], [Max_File_Size_In_Mb])
SELECT @@servername, DB_NAME(),
[name] AS [Name],
physical_name AS [Filename],
[FileType] =
CASE type
WHEN 0 THEN ''Data'''
+
'WHEN 1 THEN ''Log'''
+
'END,
[Size_In_Mb] =
CASE ceiling([size]/128)
WHEN 0 THEN 1
ELSE ceiling([size]/128)
END,
[Available_Space_In_Mb] =
CASE ceiling([size]/128)
WHEN 0 THEN (1 - CAST(FILEPROPERTY([name], ''SpaceUsed''' + ') as int) /128)
ELSE (([size]/128) - CAST(FILEPROPERTY([name], ''SpaceUsed''' + ') as int) /128)
END,
[Growth_Increments] =
CASE [is_percent_growth]
WHEN 0 THEN [growth]'
+
'ELSE CAST(CEILING([growth]/1024*8) AS int)'
+
'END,
[Growth_Units] =
CASE [is_percent_growth]
WHEN 1 THEN''%'''
+
'ELSE ''Mb'''
+
'END,
[Max_File_Size_In_Mb] =
CASE [max_size]
WHEN -1 THEN NULL
WHEN 268435456 THEN NULL
ELSE [max_size]/1024*8
END
FROM sys.database_files
ORDER BY [FileType], [file_id]'
END
--Run the command against each database
EXEC sp_MSforeachdb @SQL
--You can uncomment the following statement in order to see the results returned in SSMS:
/*
SELECT [Server], [DatabaseName], [Name], [Filename],
[FileType], [Size_In_Mb], [Available_Space_In_Mb],
CEILING(CAST([Available_Space_In_Mb] AS decimal(10,1)) / [Size_In_Mb]*100) AS [Free Space %],
[Growth_Increments], [Growth_Units], [Max_File_Size_In_Mb]
FROM [tempdb].[dbo].[RESULTS_FILE_HISTORY];
*/
GO
-------------------------------------------------------------------------------
--==============================================================
--CODE TO PERSIST THE DATA (Daily In This Case)
--==============================================================
--==============================================================
--Script Author: Timothy Ford aka SQLAgentMan
-- http://thesqlagentman.com
-- Can be used for personal use; credit must be given to author
-- Code can not be used for commercial use, repackaged, resold without permission
--==============================================================
/*
AUTHORS NOTE:
This runs via an SSIS process I've instituted to collect metadata from all instances I monitor.
If you're interested in doing so I suggest reading Rodney Landrum's DBA Toolbox book
from Red Gate Press.
The code here only runs locally against non-persisted data - just the temp table
Use Ctl+Shift+M to replace the template parameter for threshold with a value of your choosing. Default is 85%
*/
EXEC iDBA.dbo.usp_database_file_snapshot;
--==============================================================
-- Relies upon previously creating the iDBA.dbo.usp_database_file_snapshot stored procedure
--==============================================================
SELECT [Server], [DatabaseName], [Name], [Filename],
[FileType], [Size_In_Mb] AS [File Size (Mb)], [Available_Space_In_Mb] AS [Free Space (Mb)],
[Max_File_Size_In_Mb] AS [Max File Size (Mb)], ([Size_In_Mb] - [Available_Space_In_Mb]) AS [Space Used (Mb)],
CAST([Growth_Increments] AS varchar(10)) + ' ' + [Growth_Units] AS [Growth Increment],
CAST((([Size_In_Mb] - [Available_Space_In_Mb])*1.0) / [Size_In_Mb] AS decimal(5,2)) AS [% Consumed],
[date_stamp]
FROM [tempdb].[dbo].[RESULTS_FILE_HISTORY]
WHERE (([Size_In_Mb] - [Available_Space_In_Mb])*1.0) / [Size_In_Mb] >= 0.85
ORDER BY [Server], [DatabaseName];
--Script Author: Timothy Ford aka SQLAgentMan
-- http://thesqlagentman.com
-- Can be used for personal use; credit must be given to author
-- Code can not be used for commercial use, repackaged, resold without permission
--==============================================================
--==============================================================
--CREATE DATABASE iDBA IF IT DOES NOT ALREADY EXIST:
--==============================================================
/*
IF NOT EXISTS (SELECT name FROM master..sysdatabases WHERE name = 'iDBA')
BEGIN
CREATE DATABASE iDBA;
ALTER DATABASE [iDBA] SET AUTO_SHRINK OFF;
ALTER DATABASE [iDBA] SET RECOVERY SIMPLE WITH NO_WAIT;
ALTER DATABASE [iDBA] MODIFY FILE (NAME = N'iDBA', MAXSIZE = 1000MB , FILEGROWTH = 100MB);
ALTER DATABASE [iDBA] MODIFY FILE (NAME = N'iDBA_log', MAXSIZE = 200MB , FILEGROWTH = 100MB);
END
*/
--====================================================================
--CREATE THE STORED PROCEDURE AS USED FOR LOADING DBA REPOSITORY NIGHTLY
--====================================================================
USE [iDBA];
CREATE PROCEDURE [dbo].[usp_database_file_snapshot] AS
DECLARE @SQL VARCHAR(5000)
DECLARE @version smallint
--DETERMINE IF THE INSTANCE IS SQL 2005 OR LATER SO CATALOG VIEWS CAN BE USED
SELECT @version = CONVERT(smallint, LEFT(CONVERT(varchar(20),SERVERPROPERTY('ProductVersion')),CHARINDEX('.',CONVERT(varchar(20),SERVERPROPERTY('ProductVersion')))-1))
IF EXISTS (SELECT NAME FROM tempdb..sysobjects WHERE NAME = 'RESULTS_FILE_HISTORY')
BEGIN
DROP TABLE [tempdb].[dbo].[RESULTS_FILE_HISTORY]
END
CREATE TABLE [tempdb].[dbo].[RESULTS_FILE_HISTORY] ([Server] nvarchar(128), [DatabaseName] sysname, [Name] sysname, [Filename] NVARCHAR(260),
[FileType] varchar(4), [Size_In_Mb] int, [Available_Space_In_Mb] int, [Growth_Increments] int, [Growth_Units] varchar(2),
[Max_File_Size_In_Mb] int)
--IF THIS IS A SQL 2000 OR EARLIER INSTANCE YOU MUST USE THE SYSTEM TABLES
IF @version < 9
BEGIN
SELECT @SQL =
'USE [?] INSERT INTO [tempdb].[dbo].[RESULTS_FILE_HISTORY]([Server], [DatabaseName], [Name], [Filename],
[FileType], [Size_In_Mb], [Available_Space_In_Mb], [Growth_Increments],
[Growth_Units], [Max_File_Size_In_Mb])
SELECT @@servername, DB_NAME(),
[name] AS [Name],
[filename] AS [Filename],
[FileType] =
CASE (status & 0x40)
WHEN 0 THEN ''Data'''
+
'ELSE ''Log'''
+
'END,
[Size_In_Mb] =
CASE ceiling([size]/128)
WHEN 0 THEN 1
ELSE ceiling([size]/128)
END,
[Available_Space_In_Mb] =
CASE ceiling([size]/128)
WHEN 0 THEN (1 - CAST(FILEPROPERTY([name], ''SpaceUsed''' + ') as int) /128)
ELSE (([size]/128) - CAST(FILEPROPERTY([name], ''SpaceUsed''' + ') as int) /128)
END,
[Growth_Increments] =
CASE (status & 0x100000)
WHEN 0 THEN CAST(CEILING([growth]/1024*8) AS int)'
+
'ELSE [growth]'
+
'END,
[Growth_Units] =
CASE (status & 0x100000)
WHEN 0 THEN ''Mb'''
+
'ELSE ''%'''
+
'END,
[Max_File_Size_In_Mb] =
CASE [maxsize]
WHEN -1 THEN NULL
WHEN 268435456 THEN NULL
ELSE [maxsize]/1024*8
END
FROM dbo.sysfiles
ORDER BY [fileid]'
END
ELSE --IF THIS IS A SQL 2005 OR LATER INSTANCE YOU WILL USE THE CATALOG VIEWS
BEGIN
SELECT @SQL =
'USE [?] INSERT INTO [tempdb].[dbo].[RESULTS_FILE_HISTORY]([Server], [DatabaseName], [Name], [Filename],
[FileType], [Size_In_Mb], [Available_Space_In_Mb], [Growth_Increments],
[Growth_Units], [Max_File_Size_In_Mb])
SELECT @@servername, DB_NAME(),
[name] AS [Name],
physical_name AS [Filename],
[FileType] =
CASE type
WHEN 0 THEN ''Data'''
+
'WHEN 1 THEN ''Log'''
+
'END,
[Size_In_Mb] =
CASE ceiling([size]/128)
WHEN 0 THEN 1
ELSE ceiling([size]/128)
END,
[Available_Space_In_Mb] =
CASE ceiling([size]/128)
WHEN 0 THEN (1 - CAST(FILEPROPERTY([name], ''SpaceUsed''' + ') as int) /128)
ELSE (([size]/128) - CAST(FILEPROPERTY([name], ''SpaceUsed''' + ') as int) /128)
END,
[Growth_Increments] =
CASE [is_percent_growth]
WHEN 0 THEN [growth]'
+
'ELSE CAST(CEILING([growth]/1024*8) AS int)'
+
'END,
[Growth_Units] =
CASE [is_percent_growth]
WHEN 1 THEN''%'''
+
'ELSE ''Mb'''
+
'END,
[Max_File_Size_In_Mb] =
CASE [max_size]
WHEN -1 THEN NULL
WHEN 268435456 THEN NULL
ELSE [max_size]/1024*8
END
FROM sys.database_files
ORDER BY [FileType], [file_id]'
END
--Run the command against each database
EXEC sp_MSforeachdb @SQL
--You can uncomment the following statement in order to see the results returned in SSMS:
/*
SELECT [Server], [DatabaseName], [Name], [Filename],
[FileType], [Size_In_Mb], [Available_Space_In_Mb],
CEILING(CAST([Available_Space_In_Mb] AS decimal(10,1)) / [Size_In_Mb]*100) AS [Free Space %],
[Growth_Increments], [Growth_Units], [Max_File_Size_In_Mb]
FROM [tempdb].[dbo].[RESULTS_FILE_HISTORY];
*/
GO
-------------------------------------------------------------------------------
--==============================================================
--CODE TO PERSIST THE DATA (Daily In This Case)
--==============================================================
--==============================================================
--Script Author: Timothy Ford aka SQLAgentMan
-- http://thesqlagentman.com
-- Can be used for personal use; credit must be given to author
-- Code can not be used for commercial use, repackaged, resold without permission
--==============================================================
/*
AUTHORS NOTE:
This runs via an SSIS process I've instituted to collect metadata from all instances I monitor.
If you're interested in doing so I suggest reading Rodney Landrum's DBA Toolbox book
from Red Gate Press.
The code here only runs locally against non-persisted data - just the temp table
Use Ctl+Shift+M to replace the template parameter for threshold with a value of your choosing. Default is 85%
*/
EXEC iDBA.dbo.usp_database_file_snapshot;
--==============================================================
-- Relies upon previously creating the iDBA.dbo.usp_database_file_snapshot stored procedure
--==============================================================
SELECT [Server], [DatabaseName], [Name], [Filename],
[FileType], [Size_In_Mb] AS [File Size (Mb)], [Available_Space_In_Mb] AS [Free Space (Mb)],
[Max_File_Size_In_Mb] AS [Max File Size (Mb)], ([Size_In_Mb] - [Available_Space_In_Mb]) AS [Space Used (Mb)],
CAST([Growth_Increments] AS varchar(10)) + ' ' + [Growth_Units] AS [Growth Increment],
CAST((([Size_In_Mb] - [Available_Space_In_Mb])*1.0) / [Size_In_Mb] AS decimal(5,2)) AS [% Consumed],
[date_stamp]
FROM [tempdb].[dbo].[RESULTS_FILE_HISTORY]
WHERE (([Size_In_Mb] - [Available_Space_In_Mb])*1.0) / [Size_In_Mb] >= 0.85
ORDER BY [Server], [DatabaseName];
Thursday, June 3, 2010
Wednesday, June 2, 2010
Sins of Time , but its better to have time and date in two separate dimensions
Hats off to Steve
/** * Function: fn_GetTimestampRange
* Author: Steve Gray / steve.gray@cobaltsoftware.net
* Version: 1.0.0.0
* Date: 30 April 2010
*
* Parameters:
* @FromDate - Start of time-range
* @ToDate - End of time-range
* @IncludeSeconds - 0 = Minute level, 1 = Second level
**/
CREATE FUNCTION fn_GetTimestampRange(@FromDate DATETIME, @ToDate DATETIME, @IncludeSeconds BIT)
RETURNS TABLE
AS
RETURN (
/* Loop through the days in the range */
WITH DayCTE([Date])
AS
(
SELECT CONVERT(DATETIME, CONVERT(VARCHAR(255), @FromDate, 20))
UNION ALL
SELECT DATEADD(DAY, 1, [Date]) FROM DayCTE WHERE Date < @ToDate
), /* Obtain a set of numbers 0..59 */
NumberCTE([Number])
AS
(
SELECT 0
UNION ALL
SELECT Number + 1 FROM NumberCTE WHERE Number < 59
)
SELECT
Result.DateKey,
DATEPART(YEAR, Result.DateKey) AS [Year],
DATEPART(QUARTER, Result.DateKey) AS [Quarter],
DATEPART(WEEK, Result.DateKey) AS [Week],
DATEPART(WEEKDAY, Result.DateKey) AS [WeekDayNumber],
DATENAME(WEEKDAY, Result.DateKey) AS [WeekDayName],
DATEPART(DAYOFYEAR, Result.DateKey) AS [DayOfYear],
DATEPART(MONTH, Result.DateKey) AS [Month],
DATEPART(DAY, Result.DateKey) AS [Day],
DATEPART(HOUR, Result.DateKey) AS [Hour],
DATEPART(MINUTE, Result.DateKey) AS [Minute],
DATEPART(SECOND, Result.DateKey) AS [Second]
FROM
(
SELECT
DATEADD(SECOND, COALESCE(SecondCTE.Number, 0),
DATEADD(MINUTE, MinuteCTE.Number,
DATEADD(HOUR, HourCTE.Number, DayCTE.Date))) AS DateKey
FROM
DayCTE
LEFT JOIN NumberCTE HourCTE ON HourCTE.Number
BETWEEN 0 AND 23
AND DayCTE.Date IS NOT NULL
LEFT JOIN NumberCTE MinuteCTE ON MinuteCTE.Number
BETWEEN 0 AND 59
AND HourCTE.Number IS NOT NULL
LEFT JOIN NumberCTE SecondCTE ON SecondCTE.Number
BETWEEN 0 AND 59
AND @IncludeSeconds = 1
AND MinuteCTE.Number IS NOT NULL
WHERE
DATEADD(SECOND, COALESCE(SecondCTE.Number, 0),
DATEADD(MINUTE, MinuteCTE.Number,
DATEADD(HOUR, HourCTE.Number, DayCTE.Date)))
BETWEEN @FromDate AND @ToDate
) RESULT
);
/** * Function: fn_GetTimestampRange
* Author: Steve Gray / steve.gray@cobaltsoftware.net
* Version: 1.0.0.0
* Date: 30 April 2010
*
* Parameters:
* @FromDate - Start of time-range
* @ToDate - End of time-range
* @IncludeSeconds - 0 = Minute level, 1 = Second level
**/
CREATE FUNCTION fn_GetTimestampRange(@FromDate DATETIME, @ToDate DATETIME, @IncludeSeconds BIT)
RETURNS TABLE
AS
RETURN (
/* Loop through the days in the range */
WITH DayCTE([Date])
AS
(
SELECT CONVERT(DATETIME, CONVERT(VARCHAR(255), @FromDate, 20))
UNION ALL
SELECT DATEADD(DAY, 1, [Date]) FROM DayCTE WHERE Date < @ToDate
), /* Obtain a set of numbers 0..59 */
NumberCTE([Number])
AS
(
SELECT 0
UNION ALL
SELECT Number + 1 FROM NumberCTE WHERE Number < 59
)
SELECT
Result.DateKey,
DATEPART(YEAR, Result.DateKey) AS [Year],
DATEPART(QUARTER, Result.DateKey) AS [Quarter],
DATEPART(WEEK, Result.DateKey) AS [Week],
DATEPART(WEEKDAY, Result.DateKey) AS [WeekDayNumber],
DATENAME(WEEKDAY, Result.DateKey) AS [WeekDayName],
DATEPART(DAYOFYEAR, Result.DateKey) AS [DayOfYear],
DATEPART(MONTH, Result.DateKey) AS [Month],
DATEPART(DAY, Result.DateKey) AS [Day],
DATEPART(HOUR, Result.DateKey) AS [Hour],
DATEPART(MINUTE, Result.DateKey) AS [Minute],
DATEPART(SECOND, Result.DateKey) AS [Second]
FROM
(
SELECT
DATEADD(SECOND, COALESCE(SecondCTE.Number, 0),
DATEADD(MINUTE, MinuteCTE.Number,
DATEADD(HOUR, HourCTE.Number, DayCTE.Date))) AS DateKey
FROM
DayCTE
LEFT JOIN NumberCTE HourCTE ON HourCTE.Number
BETWEEN 0 AND 23
AND DayCTE.Date IS NOT NULL
LEFT JOIN NumberCTE MinuteCTE ON MinuteCTE.Number
BETWEEN 0 AND 59
AND HourCTE.Number IS NOT NULL
LEFT JOIN NumberCTE SecondCTE ON SecondCTE.Number
BETWEEN 0 AND 59
AND @IncludeSeconds = 1
AND MinuteCTE.Number IS NOT NULL
WHERE
DATEADD(SECOND, COALESCE(SecondCTE.Number, 0),
DATEADD(MINUTE, MinuteCTE.Number,
DATEADD(HOUR, HourCTE.Number, DayCTE.Date)))
BETWEEN @FromDate AND @ToDate
) RESULT
);
Subscribe to:
Comments (Atom)