Tag Archives: SQL Server

Backup SQL Server Express via linha de comando

Uma das desvantagens das versões Express do SQL Server é não ter o SQL Agent, que te permite agendar backups e outras tarefas administrativas nos seus bancos de dados.

No caso do backup, você pode facilmente automatizar usando o agendador de tarefas e um arquivo .bat com os comandos abaixo, que já inclui a compactação usando 7-Zip:

sqlcmd.exe -S (local)\SQLExpress -Q "BACKUP DATABASE MeuBanco TO DISK='d:\backup\meubanco.bak' WITH FORMAT"

"c:\program files\7-zip\7z.exe" a d:\backup\meubanco.7z d:\backup\meubanco.bak

É uma dica simples, mas que pode ser usada como ponto de partida para um script mais avançado e que atenda outras necessidades. Afinal, todo mundo precisa agendar backups de uma forma ou de outra.

E não esqueça de manter o backup bem longe do servidor. :)

Não deixe para amanhã

Como desabilitar rapidamente constraints e triggers de um banco SQL Server

Quando se está importando dados para um banco, as constraints e triggers podem ser um chato obstáculo. Em alguns casos poder ser muito mais fácil desabilitar tudo e reativar no final do processo. Pesquisando sobre isso, encontrei essa ótima dica no StackOverflow.

Para desabilitar todas as constraints e triggers de todas as tabelas do banco:

exec sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT ALL"
exec sp_msforeachtable "ALTER TABLE ? DISABLE TRIGGER ALL"

Para habilitar:

exec sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL"
exec sp_msforeachtable "ALTER TABLE ? ENABLE TRIGGER ALL"

Alias, essa sp_msforeachtable é muito interessante e pode ser explorada de muitas formas diferentes. Testei no SQL Server 2008, mas deve funcionar no 2005 pelo menos.

Um detalhe a ser observado é que esse comando não desabilita constraint de PK nem UNIQUE.

SQL Server 2008 Express e a dependência do .NET 2.0 SP2

Hoje tentei instalar o SQL Server 2008 Express em um servidor Windows 2008. Logo no início da instalação ele já para e dá o seguinte erro:

SQL Server 2008 Setup requires Microsoft .NET Framework 2.0 SP2 to be installed.

Lá fui eu a procura do tal .NET 2.0 SP2. Depois de algum tempo, percebi que não existe download do tal .NET 2.0 SP2. Achei estranho e comecei a pesquisar até encontrar esse post que explica a pegadinha.

Na verdade você deve baixar o .NET Framework 3.5 SP1, que já contém o .NET Framework 2.0 SP2. :)