Trucos!!
Diferentes trucos que se aprenden en el dia a dia

Montar unidad virtual en Windows XP
subst c: d:\carpeta
subst es el comando
c: es como se desea montar la nueva unidad
d:\carpeta es la carpeta en el disco duro donde se desea montar la nueva unidad.

Restaurar archivo .bak de SQL 2000 en SQLServer2005 Express

RESTORE DATABASE  BD FROM DISK = 'C:\backup.bak'
with replace

Otra opcion es

RESTORE DATABASE BD FROM DISK = 'C:\backup.bak'

with

replace,

MOVE 'bd_Data' TO 'C:\ruta\base.mdf',

MOVE 'bd_Log' TO 'C:\ruta\base_log.ldf'

Creacion de menus en access 2000

Mostrar todas las tablas de una base de datos con la cantidad de registros en SQL 2000

declare @tabla varchar(50)
declare @sql varchar(500)

declare xx cursor for
 SELECT table_name FROM INFORMATION_SCHEMA.TABLES

open xx
fetch next from xx into @tabla
drop table #temp
create table #temp (cuenta numeric(10), tabla varchar(50))

WHILE @@FETCH_STATUS = 0
BEGIN
set @sql = 'insert into #temp select count(*) as cuenta,'''+@tabla+''' as tabla from '+@tabla
exec(@sql)
fetch next from xx into @tabla

END
close xx
deallocate xx
select * from #temp order by cuenta desc

Reducir una base de datos SQL Server 2000

DBCC SHRINKFILE(nombre_sql_del_archivo, 1)
BACKUP log nombre_de_la_base_de_datos WITH TRUNCATE_ONLY
DBCC SHRINKFILE(nombre_sql_del_archivo, 1)

Buscar un campo en todas las tablas de la base de datos y reemplazar su valor

set ANSI_NULLS OFF

set QUOTED_IDENTIFIER OFF

GO

/****** Objeto:  procedimiento almacenado dbo.sp_delete_id    fecha de la secuencia de comandos: 16/01/2006 01:38:55 p.m. ******/


--ALTER PROCEDURE  [dbo].[sp_modifica_id] (@a_identificacion_actual varchar (15), @a_identificacion_nuevo varchar (15))

--as

declare @a_casa_cobranza_actual varchar (15)

declare @a_casa_cobranza_nueva varchar (15)

set @a_casa_cobranza_nueva = 'PRINCIPAL'

set @a_casa_cobranza_actual = 'BOGOTA'

Declare @v_nombre_tabla Varchar(100)

Declare @v_nombre_campo  Varchar(100)

Declare @v_rows Int

Declare @v_sql varchar(500)


Declare modificar_iden_deudor Cursor For

select sysobjects.name AS NombreTabla, 

sysobjects.name+'.'+ syscolumns.name as NombreCampo

from syscolumns inner join sysobjects on sysobjects.id=syscolumns.id inner join systypes 

on systypes.xtype=syscolumns.xtype where syscolumns.name = 'casa_cobranza' 

order by 1 ;


Open  modificar_iden_deudor

Set @v_rows = 0

Fetch Next From modificar_iden_deudor

Into @v_nombre_tabla,

@v_nombre_campo

 --Incrementa contador de numero de registros procesados

While @@Fetch_Status = 0

Begin

set @v_rows = @v_rows + 1

   set @v_sql = 'update ' + @v_nombre_tabla + ' set '+ @v_nombre_campo+' = '+char(39)+@a_casa_cobranza_nueva+char(39)+' where ' +  @v_nombre_campo + ' = ' + char(39) + @a_casa_cobranza_actual + char(39)

print @v_sql ;

--EXEC  (@v_sql ) 

Fetch Next From modificar_iden_deudor

Into @v_nombre_tabla,

@v_nombre_campo

end

Close modificar_iden_deudor

Deallocate modificar_iden_deudor
Print 'Total Registros Procesados:  ' +  Cast( @v_rows As Char(10))