SELECT f.name AS ForeignKey,
OBJECT_NAME(f.parent_object_id) AS TableName,
COL_NAME(fc.parent_object_id,
fc.parent_column_id) AS ColumnName,
OBJECT_NAME (f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id,
fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc
ON f.OBJECT_ID = fc.constraint_object_id
where OBJECT_NAME(f.parent_object_id) =('TablaAbuscar')
go
y despues para generar el script final debería ser así
alter table 'table name' WITH CHECK ADD CONSTRAINT 'foreign key' FOREIGN KEY 'columnname'
references 'ReferenceTableName'('referenceColumnName')
Wednesday, November 25, 2009
Wednesday, November 18, 2009
Cambio de clave del Sys Admin
Se debe ingresar con windows mode y no por sql autentication.
ALTER LOGIN [sa] WITH DEFAULT_DATABASE=[master]
GO
USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD=N'123a.'
GO
ALTER LOGIN sa ENABLE
GO
ALTER LOGIN [sa] WITH DEFAULT_DATABASE=[master]
GO
USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD=N'123a.'
GO
ALTER LOGIN sa ENABLE
GO
Tuesday, November 3, 2009
Respaldo o Backup Remoto en SQL server 2005
les doy un poco el contexto de lo sucedido, mi maquina de un dia para otro dejo de acceder a un servidor de QA y me atrase en la estimacion que debia hacer, comence a necesitar poder generar un bkp de la base de datos y no sabia como.
Desde SQL server accedia sin problemas a la maquina pero desde el aplicativo no habia caso que pudiese ingresar y la posible solucion VIEWs pero la conexion es lenta por eso lo vi inviable, finalmente cree views pero con mi jefe le agregamos ciertos querys para que fuese generando la data en mi local.
Aca van los pasos.
genero un Link al server que deseo conectarme , en este caso el servidor esta agregado como ODBC o aliases del sql server manager
sp_addlinkedserver 'qazeusnet','SQL Server'
despues para poder crear la vista necesito tener un usuario que tenga el mismo USername y clave del servidor al que deseo conectarme.
CREATE LOGIN user WITH PASSWORD = 'passwd';
CREATE USER user for login user ;
go
alter login user WITH PASSWORD = '123',
CHECK_POLICY = OFF; --para que las politicas de windows no me bloquee la creacion de usuario.
con esto ya puedo generar las vistas a un servidor que ni siquiera esta en mi rango de red, actualmente estoy en 10.10.57.48 y el server es el 10.10.95.17
Select count(*) from [qazeusnet].[BD_ZEUSNET].[dbo].[vessel]
y ya puedo ver la data del otro servidor sin vistas ni nada.
select 'Select * INTO ' + name+ ' from [qazeusnet].[BD_ZEUSNET].[dbo].[' +name+ ']
go'
from [qazeusnet].[BD_ZEUSNET].[dbo].[sysobjects] where xtype = 'U'
con esta Query obtengo todas las tablas de la base de datos y genero una query que me pueda poblar las tablas
me arrojará algo así
Select * INTO USER_ACCESS from [qazeusnet].[BD_ZEUSNET].[dbo].[USER_ACCESS]
y con esto ejecuto el script y tengo las tablas pobladas.
para poder saber cuantas tablas faltan por poblar
select count(*)
from [qazeusnet].[BD_ZEUSNET].[dbo].[sysobjects] where xtype = 'U'
select count(*) from [sysobjects] where xtype = 'U'
con esto ya tengo la data de la base de datos en mi local , ahora falta generar los procedimientos almacenados y los alter tables de las relaciones, trataré de hacerlo en un proximo post :D.
Saludos.
PCBT.
PD: ojala les sirva, sino filo a mi me ha servido :D
Creacion de vista dinamicas.
select 'create view ' + name+ ' as SELECT * from DB_link.[BBDD].[dbo].[' +name+ ']
go'
from DB_link.[BBDD].[dbo].[sysobjects] where xtype = 'U'
Tuesday, April 7, 2009
Saludando mi BLOG
Hoy tengo ganas de jugar con Mono , la plataforma .net de linux no se nada pero pienso poder comenzar a agregar comentarios sobre esta plataforma.
Estoy realizando este post para tan solo testear mi blog.
Estoy realizando este post para tan solo testear mi blog.
Subscribe to:
Posts (Atom)