lunes, 14 de noviembre de 2011

Feedburner no actualiza mis entradas

Hola a todos,

Hace mucho que no escribo en este blog ninguna entrada ya que apenas tengo tiempo y el poco que dispongo lo dedico a este otro blog: http://diariopplmadrid.blogspot.com. La verdad es que mis ratos libres en este momento lo prefiero dedicar a mi pasión, los aviones, que a la parte técnica. Va por rachas.

Bueno, el motivo por el que escribo esta entrada es porque de un tiempo a esta parte me he dado cuenta que el blog de aviones no me actualizaba el feed de FeedBurner y la gente que estaba suscrita no sabía que había entradas nuevas. Me extraño bastante y me puse a investigar. Por lo visto la causa es que el tamaño del feed cuando supera los 512K se para y si no haces nada pues así seguirá.

La solución es la siguiente:


- Ir a http://www.feedburner.com/ e introducir vuestro login y pass.
- A continuación pinchar en el blog que os está ocurriendo el problema.
- Ir a la ventana de Troubleshootize y pinchar en el botón de Resync Now









-Os aparecerá un mensaje como el siguiente o algo parecido respecto a 512K



- Vais al menú Edit Feed Details, pinchais en él y se os desplegarán las siguientes opciones



- Mirais la URL que hay en Original Feed y teneis que modificarla de manera que si tenias

http://myblogname.blogspot.com/atom.xml
o
http://myblogname.blogspot.com/feeds/posts/default

lo sustituireis por lo siguiente:
http://myblogname.blogspot.com/feeds/posts/default?max-results=5


(es decir, añadiremos un máximo de resultados para evitar llegar al tamaño máximo y que no "pete" siendo el 5 el número máximo de entradas y myblogname el nombre de vuestro blog)


- Dais a guardar y

Con esto, si vais otra vez a la ventana de Troubleshootize y volveis a sincronizar ya estará solucionado.

Más información la podeis obtener de aqui

http://www.google.com/support/feedburner/bin/answer.py?answer=79626

Un saludo

miércoles, 9 de febrero de 2011

Backup cubo SSAS con SQL Server Agent y nombre dinámico.

Hola a todos,

Hace tiempo que no escribo ningún post en este blog por razones que no vienen al cuento, pero hoy lo retomo con una nueva entrada que me parece interesante.

Ayer me surgió la necesidad de programar unas copias de seguridad tanto de una base de datos SQL Server (Transaccional) como de los cubos que están en el servidor de preproducción con el SQL Server Agent. No voy a enrollarme con esto porque información en Google hay muchísima pero si quiero detenerme en algo que a priori no parece sencillo. Hacer copias de seguridad de cubos con nombre dinámico, es decir, cubo_20110225.

Hacer un back de un cubo es bastante sencillo:

http://www.microsoft.com/latam/technet/productos/servers/sql/2005/bkupssas.mspx

Pero, ¿y si queremos que el nombre de nuestro backup incluya la fecha y no machaque el anterior?

Buscando en internet no vi nada que fuera intuitivo así que lo mejor es ponerse manos a la obra y a pesar de que no tengo ni pajolera idea de PowerShell vi un script que podía servir:

http://powershell.com/cs/media/p/47.aspx

Como en SQL Server Agent puedes crear un Step de un Job del tipo PowerShell pensé que iba por buen camino y haciendo modificaciones al código de forma intuitiva me quedo algo como lo que muestro a continuación y que funciona perfectamente.

Seguramente se puede hacer mejor y más elegante (ya digo que mis conocimientos de PowerShell son 0 patatero), pero para salir del paso puede servir.

$ServerInstance = "localhost"

$backupDestination = "D:\bkup\Automaticos\"

$logDir = ""

# Load Microsoft Analysis Services assembly, output error messages to null

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices") | Out-Null

# Declare SSAS objects with strongly typed variables

[Microsoft.AnalysisServices.Server]$SSASserver = New-Object ([Microsoft.AnalysisServices.Server])

[Microsoft.AnalysisServices.BackupInfo]$serverBackup = New-Object ([Microsoft.AnalysisServices.BackupInfo])

# Connect to Analysis Server with specified instance

$SSASserver.Connect($ServerInstance)

# Set Backup destination to Analysis Server default if not supplied

# TIP: using PowerShell "equal" operator

if ($backupDestination -eq "")

{

#Write-Debug "Setting the Destination parameter to the BackupDir parameter"

$BackupDestination = $SSASserver.ServerProperties.Item("BackupDir").Value

}

# Test for existence of Backup Destination path

# TIP: using PowerShell ! operator is equivalent to "-not" operator, see below

if (!(test-path $backupDestination))

{

#Write-Host Destination path `"$backupDestination`" does not exists. Exiting script.

exit 1

}

else

{

#Write-Host Backup files will be written to `"$backupDestination`"

}

# Set Log directory to Analysis Server default if not applied

if ($logDir -eq "")

{

# Write-Debug "Setting the Log directory parameter to the LogDir parameter"

$logDir = $SSASserver.ServerProperties.Item("LogDir").Value

}

# Test for existence of Log directory path

if (!(test-path $logDir))

{

# Write-Debug "djfdaklfjalfjañskdlf"

#Write-Host Log directory `"$logDir`" does not exists. Exiting script.

exit 1

}

else

{

# Write-host Logs will be written to $logDir

}

# Test if Log directory and Backup destination paths end on "\" and add if missing

# TIP: using PowerShell "+=" operator to do a quick string append operation

if (-not $logDir.EndsWith("\"))

{

$logDir += "\"

}

if (-not $backupDestination.EndsWith("\"))

{

$backupDestination += "\"

}

# Create Log file name using Server instance

[string]$logFile = $logDir + "SSASBackup." + $serverInstance.Replace("\","_") + ".log"

# Write-Debug "Log file name is $logFile"

# Write-Debug "Creating database object and set options..."

$dbs = $SSASserver.Databases

$serverBackup.AllowOverwrite = 1

$serverBackup.ApplyCompression = 1

$serverBackup.BackupRemotePartitions = 1

# Create backup timestamp

# TIP: using PowerShell Get-Date to format a datetime string

[string]$backupTS = Get-Date -Format "yyyy-MM-ddTHHmm"

# Add message to backup Log file

# TIP: using PowerShell to output strings to a file

# Write-Debug "Backing up files on $serverInstance at $backupTS"

"Backing up files on $ServerInstance at $backupTS" | Out-File -filepath $LogFile -encoding oem -append

# Back up the SSAS databases

# TIP: using PowerShell foreach loop to enumerate a parent-child object

foreach ($db in $dbs)

{

$serverBackup.file = $backupDestination + $db.name + "." + $backupTS + ".abf"

# TIP: using mixed string literals and variable in a Write-Host command

# Write-Host Backing up $db.Name to $serverBackup.File

$db.Backup($serverBackup)

if ($?) {"Successfully backed up " + $db.Name + " to " + $serverBackup.File | Out-File -filepath $logFile -encoding oem -append}

else {"Failed to back up " + $db.Name + " to " + $serverBackup.File | Out-File -filepath $logFile -encoding oem -append}

}

# Disconnect from Analysis Server

$SSASserver.Disconnect()

# Clear out the old files and files backed up to the Log file

# Write-Host Clearing out old files from $BackupDestination

#[int]$retentionHours = $retentionDays * 24 * - 1

#"Deleting old backup files" | Out-File -filepath $logFile -encoding oem -append

# TIP: using PowerShell get-childitem (get child items for matching location) and pipe to

# where-object (selecting certain ones based on a condition)

#get-childitem ($backupDestination + "*.abf") | where-object {$_.LastWriteTime -le [System.DateTime]::Now.AddHours($RetentionHours)} | Out-File -filepath $logFile -encoding oem -append

#get-childitem ($backupDestination + "*.abf") | where-object {$_.LastWriteTime -le [System.DateTime]::Now.AddHours($RetentionHours)} | remove-item





Un saludo y espero que os sirva

martes, 13 de abril de 2010

Sql Server 2008 – Copiar Base de Datos con Datos con un Script

Hola de nuevo,

Hace tiempo os hablaba en mi blog de cómo crear una tabla con datos en SQL Server 2005. Pues bien, ahora me encuentro con que la herramienta de la que os hablaba no permite conectar a SQL 2008 y necesito replicar una base de datos con sus datos en otro servidor.

Pues bien, SQL 2008 viene con esta herramienta incorporada y no hace falta instalar nada más.

Simplemente ir a

Botón Derecho-Tareas- Generar Scripts

Dando a siguiente llegamos a esta pantalla

Es importante selecciónar Script con Datos y si no quieres generar los [dbo] delante de las tablas no te olvides de marcar a False "Schema qualify object names."

Y este es el resultado

Fácil, no?

Gracias a la ayuda de este blog: http://blog.sqlauthority.com/2009/07/29/sql-server-2008-copy-database-with-data-generate-t-sql-for-inserting-data-from-one-table-to-another-table/

Salu2

Recuperar las tablas y los procedimentos de una base de datos

Hola,

Hoy algo facilitio y rápido, como recuperar las tablas que hemos creado y los procedimientos en una base de datos:

SELECT * FROM information_schema.routines order by SPECIFIC_NAME

select * from information_schema.tables

Fácil, no?

Saludos


jueves, 8 de abril de 2010

Forzar Check in en TFS

Hola de nuevo,

¿A quien no le ha pasado al trabajar con control de código fuente (Team Foundation Server, por ejemplo) que vas a trabajar en un archivo y te dice que lo tiene "pillado" otra persona y esta esta de vacaciones y no hay manera de dar con ella? Pues hoy a mi aunque en vez de estar de vacaciones estaba en una reunión.

Para solucionarlo he seguido el/los siguientes pasos:

- Mediante consola (un cmd de toda la vida) me he posicionado en "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE" (esta ruta puede variar dependiendo del sistema operativo y de la versión de Visual Studio instalada)
- Ejecutar la instrucción: tf lock /lock:none /workspace:developerWorkspace;developerUsername $/project/folder/file /s:http://tfsserver:8080/ (sustituyendo los datos genericos por los nuestros)
- Aparece el siguiente mensage: TF30063: You are not authorized to access XXXXXX. y nos pide meter nuestro usuario admin de TFS

Y ahora pueden pasar dos cosas: que se solucione o que aparezca el mensaje siguiente:

TF10152: The item $/XXXXXXX/XXXXXXXXX/XXXX.cs must remain locked because its file type prevents multiple check-outs.

Si nos aparece esto deberemos poner lo siguiente:

- tf undo /workspace:developerWorkspace;developerUsername $/project/folder/file /s:http://tfsserver:8080/
- TF30063: You are not authorized to access XXXXX. Metemos user y pass y...

BIEEENNNNNN

The operation completed successfully. Because the workspace XXXXX;username is not on this computer, you must perform a separate get operation in that workspace to update it with the changes that have been made on the server.

Como siempre, hacer una copia de seguridad por si acaso.

Editado 21/05/2010: Es importante especificar el workspace de la persona que ha dejado pillado el archivo y el username de esa persona. Posteriormente, cuando nos pregunte el usuario/pass deberemos introducir el de la persona con privilegios

Salu2

lunes, 22 de marzo de 2010

Libertad

Hoy haremos una excepción al publicar algo que no es una post técnico

Todo parece indicar que el Consejo de Ministros aprobo el pasado viernes en Sevilla, en pleno puente de San José, como quien no quiere la cosa, ese engendro llamado «Ley de Economía Sostenible», que incluye la conocida como «Ley Sinde», que permitirá el cierre de páginas web en sólo cuatro días. Y todo parece indicar también que lo hará sin modificación alguna a pesar de los informes negativos de distintos órganos consultivos.

Nos sumamos a los blogs que republican hoy el manifiesto conjunto del pasado mes de diciembre ante lo extremadamente grave que nos parecía y nos parece esto, y animamos a todo el mundo a hacer lo mismo:



Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que:

  1. Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
  2. La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
  3. La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
  4. La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
  5. Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
  6. Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
  7. Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
  8. Exigimos que el Gobierno garantice por ley la neutralidad de la Red, en España ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
  9. Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
  10. En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.
Este manifiesto, elaborado de forma conjunta por varios autores, es de todos y de ninguno. Se ha publicado en multitud de sitios web. Si estás de acuerdo y quieres sumarte a él, difúndelo por Internet.
También está disponible en inglés, francés, portugués brasileiro, sueco y catalán, gallego, asturiano, aragonés, euskera.

lunes, 8 de febrero de 2010

Plantillas MSF

Hola a todos,

Hoy un post cortito

http://www.microsoft.com/downloads/details.aspx?FamilyId=9D2016AD-6F8A-47F5-84FA-BEC389DB18C1&displaylang=en

Desde esta URL te puedes bajar todas las plantillas para MSF

Un saludo

martes, 1 de diciembre de 2009

Del blog al estrellato :-)

Hola a tod@s,

Buscando información por internet de repente he visto este enlace:

http://www.computing.es/contenidoad.aspx?contenido_ad_id=865

Y yo sin enterarme, jajajaja

Salu2


Teclas rápidas Internet Explorer 7 y 8

Hola a todos,

Hoy un post útil. Llevo bastante tiempo con Internet Explorer (IE) 8 y a pesar de que muchas veces he querido cambiar de pestaña con teclas rápidas nunca he encontrado el hueco de buscarlo (se que soy un poco vago, lo se). Bueno pues no es muy dificil encontrar la solución gracias a nuestro amigo Google pero aun así os dejo la lista de teclas rápidas.

Ctrl + T o Ctrl + K = abrir una nueva pestaña.

Ctrl + I = ir a Favoritos del internet.

Ctrl + O o Ctrl + L= aparece una ventana donde escribes una dirección URL.

Ctrl + F = para buscar algo dentro de la página web abierta

Ctrl + N = te abre una nueva ventana del IE.

Ctrl + 1, Ctrl + 2, Ctrl + 'n' (siendo n un número del 1 al 9) = te va a la pestaña cuyo orden dentro del IE el número que has presionado ('n')

Ctrl + tabular = va mostrando las pestañas secuencialmente.

Ctrl + Q = Vista previa de las pestañas

Ctrl + W = o Ctrl + F4 = cerrar cada pestaña del IE.

Ctrl + R o Ctrl + F5 = actualizar la pestaña

Espero os sea útil.

A2

lunes, 7 de septiembre de 2009

Error instalar SQL Server 2008 Express with Advanced Services

Hola de nuevo,

El post de hoy no es muy resolutorio pero espero sirva de ayuda a alguno de vosotros al que se le reproduzca el/los mismo/s error/es

Resulta que tengo una máquina virtual (Virtual Machine) con W2K3 en español actualizado con el último SP y todos los updates aparecidos hasta la fecha y cuando intento instalar un SQL Server 2008 Express with Advanced Services cuando menos lo mínimo que puedo decir es que ha sido un infierno

Primero.

A pesar de bajar el ejecutable de la página de Microsoft en múltiples ocasiones (si digo que más de 8 no miento) al descomprimir y/o empezar a instalar sale un mensaje de "File is corrupted". Al final me lo descargo una vez más y previamente ejecuto el instalador con la cuenta de administrador y todos los privilegios posibles. Además, vi en un post que se podia ejecutar esta instrucción desde la consola (también con todos los permisos de admin.) "lodctr /R" (sin los "") que resetea los Performance Counters (no tengo ni idea de que es).

Bien parece que instala pero..... MEEECCCK... error

Segundo

Reviso los log y veo algo así como "error 0x5EBE5729". Mirando por internet veo que es posible a que tengo instalada una versión del MSXML que no le gusta nada. "XML update 2" bien, lo desinstalo desde Agregar y Quitar Programas y vuelta a la carga. Ejecutamos de nuevo el instalador y..... MEEEEECCCK.... error: "flinet sql.cab corrupt "pero el instalador sigue trabajando. Bueno, algo es algo, se ha instalado todo menos el SQL Full Search y Reporting Services.

Tercero

Volvemos al instalador y reintentamos sobre estos dos elementos y lo configuramos con la cuenta de Administrador. Ahora parece que se lo traga y .... BIIEEEENN... todo instalado.

Como veis no tengo ningún problema ni ninguna resolución concluyente pero igual con esto que he hecho consigo ayudaros. Pego unos link que a mi me han ayudado.

http://social.technet.microsoft.com/Forums/es-ES/sqlserveres/thread/d599c96a-9cdd-4f8f-a624-8d1d940b06f7
http://blogs.msdn.com/esecuelesinfronteras/archive/2009/06/03/error-en-la-solicitud-de-inicio-del-servicio-sqlbrowser-durante-la-instalaci-n-de-sql-server-2008.aspx
http://forums.extremeoverclocking.com/t303972.html

suerte y...

Salu2

jueves, 13 de agosto de 2009

Error 1500 - Hay otra instalacion en curso // Another installation is in progress

Hola de nuevo,

Volviendo a errores raros-soluciones rápidas hoy me ha pasado lo siguiente, intento desinstalar o instalar una aplicación me sale el mensaje siguiente:

"Error 1500 - Hay otra instalacion en curso" o en inglés "Error 1500 - Another installation is in progress"

La solución es muy sencilla: ir al Administrador de tareas (Task Manager), buscar el proceso Msiexec.exe y finalizarlo. A mi me ha funcionado pero no tengo muy claro a que se ha debido. Por si acaso pasaré el antivirus porque no me fio un pelo :-)

Salu2

miércoles, 8 de julio de 2009

SQL Server 2008: Saving changes is not permitted (Guardar cambios no esta permitido)

Hola a todos,

Trabajando con SQL Server 2008 me ha pasado una cosa curiosa, resulta que he creado una tabla y se me ha olvidado hacer un campo autoincrementable. La he vuelto a abrir, he puesto el Identity = True y al ir a guardar me sale un mensaje que dice: "Saving changes is not permiteed" ("guardar los cambios no está permitido"). Parece que es una medida de seguridad del editor y para solucionarlo hay que ir al menú Tools, Options, expandir Designers y en Table and Database Designers quitar el check de Prevent saving changes that require the table to be re-created check box (en castellano sería ir al menú Herramientas Opciones, Diseñadores, Diseñadores de Tabla y Base de datos)

Os dejo una captura de pantalla:

http://msdn.microsoft.com/en-us/library/bb895146.aspx

Salu2


miércoles, 17 de junio de 2009

error creating the configuration section handler for dataConfiguration

Hola a todos,

Hace tiempo que no escribo ningún post y retomo el blog con este error con la Enterprise Library 4.1 que ha hecho que me tire una horita intentando solucionarlo:
"An error occurred creating the configuration section handler for dataConfiguration: Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)"

Gracias al siguiente post (http://blogs.msdn.com/tomholl/archive/2007/04/19/avoiding-configuration-pitfalls-with-incompatible-copies-of-enterprise-library.aspx) he encontrado el motivo del error y su correspondiente solución.

Cuando en el App.config nos vamos a la clave "<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />" vemos que hay una PublicKey Token y un número que no coincide con la con el registrado en mi máquina.

Solución: Poner PublicKeyToken=null y listo.

A grandes malas, grandes remedios

Salu2

miércoles, 22 de abril de 2009

Cache de filtros en PPS

Hola,

Hoy gracias a un compañero mio, Dani, me llega esta solución a un problema con el cacheo de los filtros en Performance Point Server.

PPS cuando entras en un dashboard ya publicado y eliges unos filtros, cierras la página y vuelves a cargarla, te mantiene los filtros que has elegido, en vez de sacarte los que tienes configurados por defecto. Pues bien, en el link este viene la solución para eso

http://blogs.msdn.com/performancepoint/archive/2008/02/12/always-display-default-filter-selection-in-dashboards.aspx

Básicamente y resumiendo los pasos serían los siguientes:

1) Abrir Microsoft SQL Server Management Studio y conectar a la base de datos donde está PPSMonitoring.

2) Mirar si en la tabla ParameterValues hay entradas y si es así borrarlas con la siguiente sentencia:

image

2) Dentro de Procedimientos Almacenados, modificar dbo.ParameterValuesCreate comentando la siguiente sección de código

Inicio de comentario

clip_image006

Fin de comentario

clip_image008

5. Ejecutar para guardar los cambios

clip_image010

Y eso es todo. Que os sea útil

A2

martes, 24 de marzo de 2009

Evento EPM raona

Hola,

Hoy un post cortito. El próximo jueves 2603/2009 vamos a hacer en Madrid un evento-desayuno sobre EPM.

En este link os podeis registrar que es gratis y va a estar muy bien (no porque yo sea uno de los ponentes, jeje)

Salu2