Saiba quando foi alterada uma Procedure num Banco SQLServer

Saber quando foi a última alteração de uma procedure pode ajudar a resolver problemas. Mas como ?…segue abaixo:

Use BANCO DE DADOS

GO

SELECT

                SPECIFIC_CATALOG,      

                SPECIFIC_SCHEMA,       

                SPECIFIC_NAME,            

                ROUTINE_CATALOG,    

                ROUTINE_SCHEMA,      

                ROUTINE_NAME,           

                ROUTINE_TYPE,                              

                CREATED,           

                LAST_ALTERED

FROM    information_schema . routines

WHERE   routine_type  =  ‘PROCEDURE’ order by 9 desc

Como fazer o SQL atachar um banco de dados de uma unidade mapeada

Como é sabido o SQLServer não permite atachar um banco de dados que esteja em outra máquina. Mas há uma forma de fazer isso, segue abaixo:

  • Crie um compartilhamento do diretório onde está o banco de dados a ser atachado;
  • Na máquina que deseja atachar o banco de dados execute o comando:

———————————————————————

— Ativar funções avançadas (1=ativo, 0=inativo)

———————————————————————-

EXEC sp_configure ‘show advanced options’, 1;

GO

RECONFIGURE;

GO

——————————————————————-

— Ativar função xp_cmdshell (1=ativo, 0=inativo)

——————————————————————–

EXEC sp_configure ‘xp_cmdshell’,1

GO

RECONFIGURE

GO

——————————————————————————

— Define mapeamento a ser utilizado (caminho relativo)

——————————————————————————

EXEC XP_CMDSHELL ‘net use Unidade: \\Server\Compartilhamento /user:Server\Usuário Senha’

——————————————————–

— Valida estrutura mapeada

——————————————————–

EXEC XP_CMDSHELL ‘Dir Unidade:’

 

Após a execução do comando basta fazer o atach normalmente a unidade mapeada vai aparecer na lista e será possível ver o banco ou os bancos a serem atachados.

Ajuda de SQL – Limpeza de Logs

Todos que administram bancos de dados um dia já teve ou está passando por este problema. Alguns bancos de dados SQL Server de repente e sem aviso crescem seu log e acabam com espaço em disco, nesta hora você se pergunta… – Por que eu não fiz um job para fazer uma limpeza diária e cuidar automaticamente desse assunto para mim ?… As vezes não pensamos nisso ou nem imaginamos como é o código, segue abaixo a dica para te ajudar, basta criar um job com este código e agendar para o horário e recorrência que melhor se adequar a você. Boa sorte…


/*
Realiza Shrink em todos os Logs, de base de dados criados por usuários.
*/
declare @logname nvarchar(128)
declare @dbname nvarchar(128)
declare @dynamic_command nvarchar(1024)
set @dynamic_command = null
declare log_cursor cursor for
select db_name(mf.database_id),name
from sys.master_files mf
where mf.database_id not in (1,2,3,4) –avoid system databases
and mf.name not like ‘ReportServer$%’
and right(mf.physical_name,4) = ‘.ldf’ and mf.state_desc=’online’
open log_cursor
fetch next from log_cursor into @dbname,@logname
while @@fetch_status = 0
begin
set @dynamic_command = ‘USE ‘+@dbname+’ DBCC SHRINKFILE(N”’+@logname+”’,10)’
exec sp_executesql @dynamic_command
fetch next from log_cursor into @dbname,@logname
set @dynamic_command = null
end
close log_cursor
deallocate log_cursor

Page Reader Press Enter to Read Page Content Out Loud Press Enter to Pause or Restart Reading Page Content Out Loud Press Enter to Stop Reading Page Content Out Loud Screen Reader Support