Category: SQLSERVER


Pessoal,

Esse comando serve para desabilitar todas as constraints do Banco de Dados SQL Server.

Lembrando que apenas constraints Foreign Key. Unique e Primary mantem.

exec sp_msforeachtable “ALTER TABLE ? NOCHECK CONSTRAINT ALL”

 

Comando para habilitar todas as constraints do Banco de Dados SQL Server.

exec sp_msforeachtable “ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL”

Olá.

Vejam algumas select de exemplo utilizando o dicionário de Dados. Nesse caso estamos utilizando como regra tabelas que possuem chave de código de empresa e revenda.

Contribuição de Edison Mello. Parabéns Mello.

Acha todas as tabelas que são relacionadas com a FAT_CLIENTE.
SELECT
  parent.name TABELA, 
  child.name TABELA_FILHA, 
  foreigns.name NOME_FKey, 
  parent_columns.name COLUNA, 
  child_columns.name COLUNA_FILHA
FROM sys.tables parent 
INNER JOIN sys.foreign_keys foreigns 
  ON parent.[object_id] = foreigns.[referenced_object_id] 
INNER JOIN sys.tables child 
  ON child.[object_id] = foreigns.[parent_object_id] 
INNER JOIN sys.foreign_key_columns foreigns_columns 
  ON foreigns_columns.[constraint_object_id] = foreigns.[object_id] 
INNER JOIN sys.columns parent_columns 
  ON parent_columns.[object_id] = foreigns_columns.[parent_object_id] 
  AND parent_columns.[column_id] = foreigns_columns.[parent_column_id] 
INNER JOIN sys.columns child_columns 
  ON child_columns.[object_id] = foreigns_columns.[referenced_object_id] 
  AND child_columns.[column_id] = foreigns_columns.[referenced_column_id] 
WHERE parent.name = ‘FAT_CLIENTE’
ORDER BY TABELA, TABELA_FILHA

Lista as tabelas que não tem empresa e nem revenda

select DISTINCT a.name
from sys.tables a
inner join sys.columns b
  on a.object_id=b.object_id
where a.name not in (select DISTINCT a.name
        from sys.tables a
      inner join sys.columns b
      on a.object_id=b.object_id
      where b.name = ‘EMPRESA’)
and a.name not in (select DISTINCT a.name
        from sys.tables a
      inner join sys.columns b
      on a.object_id=b.object_id
         where b.name = ‘REVENDA’)
or a.name  in (select DISTINCT a.name
        from sys.tables a
      inner join sys.columns b
      on a.object_id=b.object_id
         where b.name = ‘REVENDA’
           and a.name not in (select DISTINCT a.name
                             from sys.tables a
                            inner join sys.columns b on a.object_id=b.object_id
                               where b.name = ‘EMPRESA’))
order by a.name;

Lista as tabelas que tem somente empresa

select DISTINCT a.name
from sys.tables a
inner join sys.columns b
  on a.object_id=b.object_id
where b.name = ‘EMPRESA’
and a.name not in (select DISTINCT a.name
        from sys.tables a
      inner join sys.columns b
      on a.object_id=b.object_id
         where b.name = ‘REVENDA’)
order by a.name                              

Lista as tabelas que tem empresa e revenda

select DISTINCT a.name
from sys.tables a
inner join sys.columns b
  on a.object_id=b.object_id
where b.name = ‘REVENDA’
and a.name not in (select DISTINCT a.name
        from sys.tables a
      inner join sys.columns b
      on a.object_id=b.object_id
         where b.name = ‘REVENDA’
           and a.name not in (select DISTINCT a.name
                             from sys.tables a
                            inner join sys.columns b on a.object_id=b.object_id
                               where b.name = ‘EMPRESA’))
order by a.name                               
 
Lista as constraints das tabelas

select t.name, f.name
FROM sys.tables t 
INNER JOIN sys.foreign_keys f
  ON t.[object_id] = f.[referenced_object_id] 
 

Acessar o SQL Server Management Studio

Conectar no Servidor do Banco de Dados SQL Server

Localize o Banco de Dados que deseja realizar o backup no exemplo chama-se: SQLBD

Clique com o botão direito do mouse sobre o backup de dados selecione a opções Tarefas > Backup

A tela principal de parâmetros irá aparecer, Certifique-se que o Banco de Dados e certifique principalmente o Local onde será realizado o Backup, podendo ser alterado conforme desejado.

Lado esquerdo clique em Opções

Em Compactação selecione a opção Compactar backup

Clique em OK

E aguarde a finalização do processo de Backup

Pronto! A tela de backup concluído com êxito irá aparecer.

Technorati Marcas: ,

Technorati Marcas: ,

 

Para sqlserver Full – Recomenda-se utilizar DEFAULT INSTANCE

Para sqlserver Free – Recomenda-se utiilizar nomeada – MSSQLSERVER

sqlcmd -Q "BACKUP DATABASE [NOME_BANCO_DE_DADOS] TO DISK = N’c:\SQLSERVER_BACKUP\Backup_Diario.bkp’ WITH NOFORMAT, INIT,  NAME = N’Backup_Diario’, SKIP, REWIND, NOUNLOAD,  STATS = 10"

Esse comando pode ser digitado diretamente no DOS do sistema operacional. Inclusive é possivel criar arquivo em lote (bat). E depois realizar o agendamento desse arquivo no servidor.

 

Eltz

Technorati Marcas: ,,
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.