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
Pasa, pasa.... si has llegado hasta aqui no te des la vuelta. Busca y rebusca que igual encuentras algo que te sirve. Como en tu casa
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
Publicado por
Gon
en
16:42
0
comentarios
Etiquetas: SQL Server 2005, SQL Server 2008
Hola de nuevo,
Hoy me tiro a la piscina y escribo una entrada sin estar muy seguro de lo que escribo :-P
Yo recuerdo que en Sql Server 2000 se podía crear un script que me generaba la base de datos con las tablas y los datos. En Sql Server 2005 no he encontrado esa opción por ningún lado y si alguien me sabe decir como se hace de una forma rápida se lo estaré eternamente agradecido.
El caso es que como me he empeñado en hacer eso he perdido parte de mi tiempo buscando y preguntando al señor Google y al final lo he conseguido siguiendo estos pasos (gracias a este post http://blog.sqlauthority.com/2007/11/16/sql-server-2005-generate-script-with-data-from-database-database-publishing-wizard/)
Para conseguir un script que me permita crear una base de datos con sus tablas y - lo más importante - sus datos es necesario descargarse de la web de MS la app "Microsoft SQL Server Database Publishing Wizard 1.1"
http://www.microsoft.com/downloads/details.aspx?FamilyId=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=en
Esta pequeña duplicación es un asistente igual que los de Sql Server que me permite seleccionar una base de datos, sus tablas y la forma de exportar: Sólo Esquema, sólo datos o esquema y datos
Y como Gon es tu amigo... problema resuelto!
Salu2
Publicado por
Gon
en
14:20
4
comentarios
Etiquetas: Microsoft, SQL Server 2005
Hola a todos,
Hoy amiguitos os voy a contar una bonita historia sobre SSIS (SQL Server Integration Services) y Oracle en una plataforma de 64-bit a la hora de ejecutar unos jobs con el SQLAgent.
Resulta que haces un desarrollo en un entorno x86, crees que todo está perfecto y ¿sabes lo que pasa cuando lo llevas a producción en un entorno x64?... Exacto, que no funciona, que se producen errores y si no estás prevenido o encuentras la solución tu proyecto se puede ir rápidamente al traste.
Esto ocurre por lo siguiente:
En un entorno de 32-bits se instala BIDS(Business Intelligence Development Studio) de 32-bits, el cliente Oracle de 32-bits y DTEXEC (SQLAgent) de 32-bits. No hay problema.
Sin embargo, en entornos de 64-bits BIDS se instala de 32-bits (no hay versión de 64), Oracle de 64 y ya tenemos el primer problema. Primera solución: Instalar el cliente Oracle de 32 bit en la máquina de producción.
Pero esto provoca que cuando DTEXEC (de 64-bit) quiere ejecutar el ETL que llama al cliente Oracle (ahora de 32-bit) vuelve a fallas. HORROR!!!
La solución es no ejecutar con el SQLAgent SSIS directamente y utilizar CMDExec de 32-bits
Vaya lio, ¿no?
Venga, que con la información condensada es más fácil
- Instalar el cliente Oracle 10.2.0.1 versión de 32-bit
- Instalar el parche Oracle #4547817 (que actualiza a 10.2.0.2)
- Instalar el parche #5383042 (arregla el bug #3807408)
- Desarrollar con los paquetes con SSIS
- Ejectuar el ETL con CMDExec que usa la versión de 32-bit de DTEXEC (C:\Program Files(x86)\Microsoft SQL Server\90\DTS\binn). Próximamente en un post contaré como hacer esto y alguna cosa mas
Para terminar avisaros que los dos parches son de pago. Si, como lo lees, Oracle te hace pagar por arreglar un fallo en su aplicación, jajajaja. Y luego dicén de MS….
En fin, que a ver si con esto se solucionan vuestros problemas. Os dejo un link que me sirvió para ver la luz y poder hacer todo esto. Suerte!
http://portal.sqltrainer.com/2007/11/sql-server-integration-services-oracle.html
Salu2
Publicado por
Gon
en
12:51
1 comentarios
Etiquetas: BI, Oracle, SQL Server 2005
En el post anterior he comentado algo sobre las 10 mejores prácticas de Integration Services. Via http://geeks.ms/blogs/elbruno/archive/2007/05/23/10-best-practices-para-sql-server-integration-services.aspx (el bruno) os indico cuales son:
Espero os sean de utilidad
Salu2
Publicado por
Gon
en
12:48
1 comentarios
Etiquetas: BI, SQL Server 2005
O lo que es lo mismo "SSIS Query Oracle with parameters" :-)
Escribo este post porque despues de pegarme mucho (muchiisimo) con SSIS (Integration Services) y Oracle para poder hacer una consulta en un OLEDBSource Task (Origen OLDB) con parámetros he conseguido encontrar la solución.
Lo primero es crear una variable que contenga la consulta y tantas variables como parámetros. En propiedades indicar lo siguiente:
- Evaluate as Expression en propiedades a True
- Expression Property: "select xxx from xxx where job = '" + @[User::NbVariable] + "'"
Por su parte el Origen OLDB lo configuraremos para que el access mode sea a SQL Command de Variable e indicaremos la variable definida anteriormente.
Si pinchamos en vista previa veremos que nos devuelve los datos.
el post que me ha ayudado.... http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1530650&SiteID=17
Curiosamente ademas es una de las 10 best practices
Proximamente comentaré algo sobre ejecutar un paquete de SSIS en una maquina de x64 atacando a un oracle x64 sin el driver de Oracle OLEDB de x32
Salu2
Publicado por
Gon
en
12:36
0
comentarios
Etiquetas: BI, SQL Server 2005
Hola,
Hoy toca solucionar un problema que me he encontrado cuando he querido crear un Datasource a mi base de datos de Analysis Services y Performance Point Server no me la mostraba en el desplegable...
Solución:
Dentro de Roles, en el DataWarehouse, crear un nuevo perfil con full control y como Membership asginarle Everyone (Todos).
Con esto deberia ser suficiente para que desde PPS podamos engancharnos sin problemas.
Salu2
Publicado por
Gon
en
17:09
0
comentarios
Etiquetas: BI, PPS, SQL Server 2005
Hola a todos,
Hoy esto va de un poquito de BI. Resulta que para una prueba necesitaba tener una tabla de dimensión de tiempo con granularidad de horas y por lo que he visto SSAS permite crear esta dimensión pero se queda en el día. Buscando en la web (no mucho la verdad) he encontrado este enlace que proporciona un script para crear y cargar la tabla:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3353754&SiteID=1
Y el script es el siguiente:
/***************************************
Script: Creates and Populates an Hour Dimension Table
Note: This script does hours and minutes. If seconds are needed,
then modify the datepart on the last line that increments the date.
Obviously the table will be bigger when you include seconds.
Author: Ibrahim Hafidh
Date: 10/11/2005
****************************************/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[dimHour]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[dimHour]
GO
CREATE TABLE dimHour
(
HourID INT IDENTITY (1, 1) NOT NULL PRIMARY KEY
, TheDate DATETIME NOT NULL
, TheTime Datetime NOT NULL
, MilitaryHour INT NOT NULL
, StandardHour INT NOT NULL
, TheMinute INT NOT NULL
, TheSecond INT NOT NULL
, Standard varchar(2) NOT NULL
)
DECLARE @startdate DATETIME
DECLARE @enddate DATETIME
DECLARE @date DATETIME
SET @startdate = '1/1/2005 12:00:00 AM'
SET @enddate = '1/1/2005 23:59:59 PM'
SET @date = @startdate
WHILE @date <= @enddate
BEGIN
INSERT INTO dimHour (TheDate, TheTime, MilitaryHour, StandardHour, TheMinute, TheSecond, Standard)
VALUES (
@date --TheDate
, convert(nvarchar(11), @date, 114) --Time format
, DATEPART(hh, @date) --Military Hour
, CONVERT(varchar(2),
CASE
WHEN DATEPART([hour], @Date) > 12 THEN CONVERT(varchar(2), (DATEPART([hour], @Date) - 12))
WHEN DATEPART([hour], @Date) = 0 THEN '12'
ELSE CONVERT(varchar(2), DATEPART([hour], @Date))
END) -- Standard Hour
, DATEPART(mi, @date) --Minute
, DATEPART(ss, @date) --Second
, CASE WHEN DATEPART(hh, @date) between 0 and 11 THEN 'AM' ELSE 'PM' END
)
SET @date = DATEADD(mi, 1, @date) -- ** Modify the datepart to ss if seconds are needed
END
Por otra parte dejo también este enlace muy útil de conversiones de fechas en SQL Server 2005
http://www.dreamincode.net/forums/showtopic42872.htm
Y esto es todo por hoy....
A2
Publicado por
Gon
en
11:52
0
comentarios
Etiquetas: BI, SQL Server 2005