April 2009


Si ejecutan en x64 y reciben este error

The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered error

Para solucionar este error lo que tienen que hacer es lo siguiente

-Abren el paquete en BIDS (Business Intelligence Developement Studio)

-Hacen click en el Configuration Manager

-En la opción Active Solution Platform eligen New

-En tipo de plataforma eligen x86

-Cuando compilan asegúrense de que están escogiendo x86

 

Saludos,

Eduardo Castro – Microsoft SQL Server

http://comunidadwindows.org

Costa Rica

Technorati Tags: SQL Server

LiveJournal Tags: SQL Server

del.icio.us Tags: SQL Server

Advertisements

Si se desea transferir una base de datos que está en SQL Server 2008 hacia SQL Server 2005 no existe una forma fácil y natural de hacerlo, por ejemplo no se puede restaurar un respaldo de SQL 2008 en SQL 2005. La opción que podemos seguir es la que sugiere Chris Goddard. La idea de Chris consiste en utilizar el Managemente Studio, en esta herramienta se elige el Wizard de Generación de Scripts y se le indica la versión de SQL Server 2005 y que incluya los datos. Puede ver los detalles en esta dirección http://www.devx.com/dbzone/Article/40531

image

image

 image

 image

 image

 image

Se debe tener cuidado con esta opción ya que si la BD tiene muchos datos se va requerir mucho espacio, si los datos son sensitivos hay que tomar en cuenta que estos no están encriptados.

En el script generado se debe comentar la siguiente línea:


--EXEC sys.sp_db_vardecimal_storage_format N'Northwind', N'ON'
--GO

Saludos,

Eduardo Castro – Microsoft SQL Server

http://comunidadwindows.org

Costa Rica

Technorati Tags: SQL Server

LiveJournal Tags: SQL Server

del.icio.us Tags: SQL Server

En un artículo anterior se mención los problemas de rendimiento que se pueden presentar en SQL Server debido al manejo de memoria, o más bien cuando el sistema operativo no le asigna toda la memoria a SQL Server, para resolver estos problemas el CSS Team tiene una serie de reocmendaciones que incluyo a continuación:

Windows 2003

We can use a combination of memory sizing and locked pages to avoid the issue in the vast majority of cases.   What you want to do is monitor your memory counter a peak load.    Doing this with locked pages disabled will let you see all the counters in one place.   Using the values captured you can establish the max and min server memory settings of SQL Server to accommodate the peak work load.   Once you have these targets you can enabled locked pages again.

Take for example a 64GB machine and when run peak load the OS and other applications require 10GB.   You might configures SQL Server max server memory around 53GB (bit of overhead for thread stacks and memory outside buffer pool) to achieve steady server performance.

Windows 2008

Windows 2008 updated the working set policy decisions and avoids many of the significant working set trim.  These changes are designed to avoid significant trims and steady the performance of the server.   This allows SQL Server to adjust to memory notifications and avoid being pages.   Testing has shown that prior to these changes the SQL Server working set could be significantly trimmed.  After the changes the system maintains better working set balance and no longer trims the SQL Server working set aggressively.   Instead the memory notifications that SQL Server listens to can be fired and SQL Server will back-off when required.

The example used if peak memory requires 10GB but common load only 4GB you can keep max memory around 59GB and only when peak load on the system is occurring will SQL Server back off to accommodate the load.

Min Server Memory

Use the min server memory setting with care.   This is a floor to SQL Server.   Once committed memory to reach the min server memory setting SQL Server won’t release memory below the mark.   If you set max server memory to 59GB and min server memory to 56GB, but the server needs to back SQL Server down to 53GB SQL Server won’t drop below 56GB.    When you combine this setting with locked pages in memory the memory can’t be paged.  This can lead to unwanted performance behaviors and allocation failures.

http://blogs.msdn.com/psssql/archive/2008/03/03/sql-server-working-set-trim-problems-consider.aspx

Saludos,

Eduardo Castro – Microsoft SQL Server

http://comunidadwindows.org

Costa Rica

Technorati Tags: SQL Server

LiveJournal Tags: SQL Server

del.icio.us Tags: SQL Server

Microsoft ha anunciado que la versión estándar de SQL Server va a soportar Locked Pages http://blogs.msdn.com/psssql/archive/2009/04/24/sql-server-locked-pages-and-standard-sku.aspx

Esta es una característica muy útil que estaba únicamente presente en la versión Enterprise, cuando se presentan problemas de rendimiento relacionados con el uso de memoria y la paginación. En inglés este problemas es conocido como “working set trim problems” unas formas de evitar este problema las pueden consultar en la siguiente dirección http://blogs.msdn.com/psssql/archive/2008/03/03/sql-server-working-set-trim-problems-consider.aspx

 

Saludos,

Eduardo Castro – Microsoft SQL Server

http://comunidadwindows.org

Costa Rica

Technorati Tags: SQL Server

LiveJournal Tags: SQL Server

del.icio.us Tags: SQL Server

Los siguiente comandos permiten incluir Internet Explorer 8 en una imagen de instalacion de Windows Vista, así de esa forma cuando instalen una nueva máquina esta ya tendrá Internet Explorer 8 instalado.

 

expand C:\slipstreaming\IE8-WindowsVista-x64-ENU\IE8.MSU -F:* c:\Slipstreaming\pkg

"C:\Program Files\Windows AIK\Tools\x86\imagex.exe" /dir C:\slipstreaming\VistaSP1x64\sources\install.wim 20

"C:\Program Files\Windows AIK\Tools\x86\imagex.exe" /mountrw C:\slipstreaming\VistaSP1x64\sources\install.wim 1 C:\Slipstreaming\mount

attrib -R "C:\Slipstreaming\mount\Windows\Offline Web Pages"

"c:\Program Files\Windows AIK\Tools\x86\Servicing\pkgmgr.exe" /n:"c:\Slipstreaming\pkg\Windows6.0-KB944036-x64.xml" /o:""c:\Slipstreaming\mount";"c:\Slipstreaming\mount\windows"" /s:"c:\Slipstreaming\sandbox" /l:"c:\Slipstreaming\slp.log"

attrib +R "C:\Slipstreaming\mount\Windows\Offline Web Pages"

"c:\Program Files\Windows AIK\Tools\x86\imagex.exe" /commit /unmount c:\Slipstreaming\mount

vLite

 

Eduardo Castro

http://comunidadwindows.org

Technorati Tags:

Registrate en http://windowsvistaadoptionday.eventbrite.com/

Deseamos invitarlo a la sesión que tendremos sobre Windows Vista este mes de mayo.

En esta sesión veremos informacion acerca de las ventajas de Windows Vista desde la perspectiva de administración de TI.

Al final de la actividad entre los presentes se rifarán los siguientes premios: una notebook Toshiba con capacidad hasta 4GB de RAM, doble procesador, DVD writer, multilector de tarjeta, wireless.  Además un disco duro externo de 500GB, una impresora multifuncional EPSON (impresora, fax, fotocopiadora y escaner), licencias de Windows y más.

Cada asistente recibirá un DVD de la Comunidad Windows con recursos útiles en la administración de la infraestructura de TI.

El evento tiene un costo de $20, sin embargo hemos llegado a un acuerdo con los patrocinadores y contamos con una cantidad limitada de cupones de descuento para aquellas personas registradas como miembros de la comunidad, el cupón de descuento es de un 100%. Para obtener ese cupón de descuento deben enviar sus datos de miembro a la siguiente cuenta de correo eventos@mswindowscr.org.

Si no eres miembro puedes registrarte de forma gratuita en la siguiente dirección http://comunidadwindows.org/user/CreateUser.aspx?ReturnUrl=

El detalle de la invitación lo encontrarás a continuación.

Te invita,

Comunidad Windows

http://windowsvistaadoptionday.eventbrite.com/

Windows Windows Vista representa una mejora importante para los profesionales de TI que administran un entorno de equipos de escritorio, en esta sesión veremos información acerca de las ventajas de Windows Vista desde la perspectiva de administración de TI

  • Cómo y por qué cambiar a Windows Vista
  • Productividad y Administración de Windows Vista
  • Cómo Windows Vista aporta más control para mantener en funcionamiento equipos de escritorio
  • Implementación avanzada
  • Mejoras en SP1

Al final de la actividad entre los presentes se rifarán los siguientes premios: una notebook con Windows Vista, un disco duro externo, una impresora multifuncional EPSON, licencias de Windows y más.

Fecha:
14 de mayo del 2009

Hora:
8:00 a.m. – 12:30 p.m.

Lugar:
CinemarkMultiplaza del Este

Dirección:

Multiplaza del Este, Zapote

Información:
eventos@mswindowscr.org

Reserve su espacio a tiempo.
Cupo limitado.

Muchas veces es necesario determinar cuáles han sido los jobs cuya ejecución ha fallado en SQL Server, para hacer esto se pueden utilizar los scripts creados por Drew Salem, los cuales incluyo a continuación:

 

USE 
 
[DBA_Admin]
 
GO
/****** 
 
Part 3a: The Failed Jobs Report 
 
Object Creation: Table Failed_Jobs 
 
Purpose: To create the table Failed_Jobs 
 
Date: 01/02/2009 
 
Author: Drew Salem - www.thebuddingdba.com 
 
For: SQLServerCentral.com 
 
******/
CREATE TABLE [dbo].[Failed_Jobs]
 
(
 
[originating_server] [varchar](255) NULL,
 
[job_name] [varchar](255) NULL,
 
[job_description] [varchar](1023) NULL,
 
[last_outcome_message] [varchar](255) NULL,
 
[last_run_date] [varchar](63) NULL,
 
[job_id] [varchar](255) NULL
 
)

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Después de creada esa tabla se debe crear  el procedimiento almancenado para llenar la tabla anterior:

USE [DBA_Admin]
GO
/****** 
  
Part 3a: The Failed Jobs Report 
  
Object Creation: The usp_GetFailedJob stored procedure 
  
Purpose: To retrieve failed jobs data from a single server 
  
Date: 08/02/2009 
  
Author: Drew Salem - www.thebuddingdba.com 
  
For: SQLServerCentral.com 
******/
CREATE PROC [dbo].[usp_GetFailedJob] 
  
@servername SYSNAME  
AS 
SET NOCOUNT ON 
DECLARE @sql1 VARCHAR (8000)
DECLARE @version VARCHAR (50)
--First check which version of SQL Server is running. 
  
SELECT @version = serverversion  
  
FROM Server_SQL_Details 
  
WHERE servername = @servername
--If it's 2000 then execute this code 
IF @version = '8'
 
BEGIN
  
SELECT @sql1 = '
     
Select j.originating_server, 
            
j.name, j.description, jh.last_outcome_message, substring(space(1), 
            
33,33) + 
-- Calculate and format fail datetime 
  
-- Add Run Duration Seconds 
  
cast(
  
-- Add Start Time Seconds 
  
dateadd(ss, cast(substring(cast(last_run_time + 1000000 as char(7)),6,2) as int),
-- Add Start Time Minutes  
  
dateadd(mi, cast(substring(cast(last_run_time + 1000000 as char(7)),4,2) as int),
-- Add Start Time Hours 
  
dateadd(hh, cast(substring(cast(last_run_time + 1000000 as char(7)),2,2) as int),
convert(datetime,cast (last_run_date as char(8)))))) as char(19)) As Last_Run_Date, j.job_id 
FROM [' + @servername + '].msdb.dbo.sysjobservers  
  
jh join [' + @servername + '].msdb.dbo.sysjobs j ON jh.job_id=j.job_id 
  
where last_run_outcome <> 1'
--Insert into a temp table before it gets its knickers in a twist  
  
CREATE TABLE #t2 (
  
originating_server VARCHAR(255), 
  
job_name VARCHAR(255),
  
job_desc VARCHAR(1023),
  
last_outcome_message VARCHAR(255), 
  
last_run_date VARCHAR(63),
  
job_id VARCHAR(255))
INSERT INTO #t2 EXEC(@sql1)
--And insert the relevant info into our Failed Jobs table 
  
INSERT INTO Failed_Jobs 
  
(originating_Server, job_name, job_description, last_outcome_message, last_run_date, job_id)
  
SELECT originating_server, job_name, job_desc, last_outcome_message, last_run_date, job_id 
  
FROM #t2 
DROP TABLE #t2 
END 
ELSE
--If it's 2005 then execute this code 
  
IF @version = '9'
  
BEGIN 
   
SELECT @sql1 = '
      
Select id.originating_server, 
      
j.name, j.description, jh.last_outcome_message, substring(space(1), 
      
33,33) + 
      
-- Calculate fail datetime 
      
-- Add Run Duration Seconds 
     
cast(
     
-- Add Start Time Seconds 
      
dateadd(ss, cast(substring(cast(last_run_time + 1000000 as char(7)),6,2) as int),
     
-- Add Start Time Minutes  
      
dateadd(mi, cast(substring(cast(last_run_time + 1000000 as char(7)),4,2) as int),
     
-- Add Start Time Hours 
      
dateadd(hh, cast(substring(cast(last_run_time + 1000000 as char(7)),2,2) as int),
      
convert(datetime,cast (last_run_date as char(8)))))) as char(19)) As Last_Run_Date, j.job_id 
    
FROM [' + @servername + '].msdb.dbo.sysjobservers  
     
jh join [' + @servername + '].msdb.dbo.sysjobs j ON jh.job_id=j.job_id  
        
join [' + @servername + '].msdb.dbo.sysoriginatingservers_view id  
          
ON id.originating_server_id=j.originating_server_id 
    
where last_run_outcome <> 1'
    
CREATE TABLE #t3 (
     
originating_server VARCHAR(255), 
     
job_name VARCHAR (255),
     
job_desc VARCHAR (1023),
     
last_outcome_message VARCHAR (255), 
     
last_run_date VARCHAR(63),
     
job_id VARCHAR (255))
    
INSERT INTO #t3 EXEC(@sql1)
   
INSERT INTO Failed_Jobs  
     
(originating_Server, job_name, job_description, last_outcome_message, last_run_date, job_id)
   
SELECT originating_server, job_name, job_desc, last_outcome_message, last_run_date, job_id 
    
FROM #t3 
   
DROP TABLE #t3 
  
END

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Saludos,

Eduardo Castro – Microsoft SQL Server

http://comunidadwindows.org

Costa Rica

Technorati Tags: SQL Server

LiveJournal Tags: SQL Server

del.icio.us Tags: SQL Server

Next Page »