Como restaurar um banco no sql server express 2005

O cenário é bastante comum. Você tem um arquivo de backup, (*.bak) e precisa restaurá-lo.

Siga os passos abaixo para restaurar o arquivo usando SQL Script (T-SQL)

Passo 1: Descubra o nome logico (logical name) do banco de dados que está no backup.

RESTORE FILELISTONLY
    FROM DISK = 'D:\BackUpYourBaackUpFile.bak'

GO

Passo 2: Use o valor da coluna LogicalName no seguinte passo:

    ----Altere o banco para single user Mode
ALTER DATABASE SeuBancoDeDados

    SET SINGLE_USER WITH
ROLLBACK IMMEDIATE

    ----Restaurar Banco
            RESTORE DATABASE SeuBancoDeDados

    FROM DISK = 'D:\BackUpYourBaackUpFile.bak'
            WITH MOVE 'SeuMDFLogicalName' TO 'D:\Data\SeuArquivoMdf.mdf',

            MOVE 'SeuLDFLogicalName' TO 'D:\Data\SeuArquivoLDF.mdf'

ALTER DATABASE YourDB SET MULTI_USER
GO

SQL Server – Rotina para backup de todos os bancos

A rotina abaixo permite fazer backup de todos os bancos no sql server 2005 e também no sql server express, através de um script que pode ser executado por linha de comando, ou agendado pelo agendador de tarefas do windows (task scheduler).

Siga os passos abaixo:

1) Crie um arquivo de texto com o nome Backup_All_Databases.sql.

2) Cole o seguinte script no arquivo criado. Obs.: Altere a pasta do backup que está no início do script para a pasta que você desejar.

DECLARE @BackupFile varchar(255), @DB varchar(30), @Description varchar(255), @LogFile varchar(50)

DECLARE @Name varchar(30), @MediaName varchar(30), @BackupDirectory nvarchar(200)
SET @BackupDirectory = 'C:\Backuped_SQL_DB\'
--Add a list of all databases you don't want to backup to this.
DECLARE Database_CURSOR CURSOR FOR SELECT name FROM sysdatabases WHERE name <> 'tempdb' AND name <> 'model' AND name <> 'Northwind'

OPEN Database_Cursor
FETCH next FROM Database_CURSOR INTO @DB
WHILE @@fetch_status = 0

BEGIN
SET @Name = @DB + '( Daily BACKUP )'
SET @MediaName = @DB + '_Dump' + CONVERT(varchar, CURRENT_TIMESTAMP , 112)

SET @BackupFile = @BackupDirectory + + @DB + '_' + 'Full' + '_' +
CONVERT(varchar, CURRENT_TIMESTAMP , 112) + '.bak'
SET @Description = 'Normal' + ' BACKUP at ' + CONVERT(varchar, CURRENT_TIMESTAMP) + '.'

IF (SELECT COUNT(*) FROM msdb.dbo.backupset WHERE database_name = @DB) > 0 OR @DB = 'master'
BEGIN
SET @BackupFile = @BackupDirectory + @DB + '_' + 'Full' + '_' +

CONVERT(varchar, CURRENT_TIMESTAMP , 112) + '.bak'
--SET some more pretty stuff for sql server.
SET @Description = 'Full' + ' BACKUP at ' + CONVERT(varchar, CURRENT_TIMESTAMP) + '.'

END
ELSE
BEGIN
SET @BackupFile = @BackupDirectory + @DB + '_' + 'Full' + '_' +
CONVERT(varchar, CURRENT_TIMESTAMP , 112) + '.bak'
--SET some more pretty stuff for sql server.

SET @Description = 'Full' + ' BACKUP at ' + CONVERT(varchar, CURRENT_TIMESTAMP) + '.'
END
BACKUP DATABASE @DB TO DISK = @BackupFile
WITH NAME = @Name, DESCRIPTION = @Description ,

MEDIANAME = @MediaName, MEDIADESCRIPTION = @Description ,
STATS = 10
FETCH next FROM Database_CURSOR INTO @DB
END
CLOSE Database_Cursor
DEALLOCATE Database_Cursor

3) Execute o seguinte comando no prompt do ms-dos (ou se preferir crie agende uma tarefa com este comando).

sqlcmd -S . -i "C:\Backups\Backup_All_Databases.sql"

Se desejar agente uma tarefa para fazer o backup diariamente.

O plesk não cria o DNS do meu domínio

O plesk não cria o DNS do meu domínio

Este problema acontece quando existe alguma referência dupla ao domínio na tabela dns_zone.
Para verificar se este é o caso, execute no prompt:

"%plesk_bin%"\dbclient.exe --direct-sql --sql="select * from  dns_zone where name like 'DominioDoUsuario.com';"

Caso você tenha dois registros, este tutorial é para você.
Descubra qual é o registro certo, fazendo:

"%plesk_bin%"\dbclient.exe --direct-sql --sql="select * from  domains where name like 'DominioDoUsuario.com';"

Verifique o valor para a coluna dns_zone_id

Verifique qual registro está errado na tabela dns_zone (é o registro que não está na tabela domains – campo dns_zone_id).

Em seguida remova o registro errado, com o seguinte comando:

"%plesk_bin%"\dbclient.exe --direct-sql --sql="delete from  dns_zone where id = IdDoRegistro;"

Para finalizar, execute:

"%plesk_bin%"\dnsmng.exe update *

Alterando o webmail padrão do plesk em todos os domínios para mewebmail

A partir do plesk 8.3 você pode definir o webmail por domínio. Entretanto, por padrão, ao criar um domínio ou migrar de outra versão, todos os domínios ficam sem nenhum webmail.

Você pode definir o horde como webmail padrão para um domínio via linha de comando, assim:

"%plesk_bin%"/domain_pref.exe --update DominioDoUsuario.com -webmail horde

Teoricamente, você também poderia definir o MeWebmail como padrão, seria assim:

"%plesk_bin%"/domain_pref.exe --update DominioDoUsuario.com -webmail mewebmail

Mas você pode trocar todos os domínios que estão usando o horde, para usar o mewebmail, assim:

"%plesk_bin%"\dbclient.exe --direct-sql --sql="update [parameters] set  [value]='mewebmail' where [parameter]='webmail_type'"

em seguida, faça:

"%plesk_bin%"\websrvmng.exe --reconfigure-webmail

Caso seja necessário, em seguida, execute:

"%plesk_bin%"\defpackagemng.exe" --fix --type=webmail

database.exe – Gerenciando banco de dados no plesk através de linha de comando

Os scripts de linha de comando do plesk ficam na pasta: %plesk_bin%

database.exe

Removendo o usuário meuUser do banco MeuBanco:

database.exe --update MeuBanco -remove_user meuUser

Criando o usuário MeuUser2 no banco MeuBanco com a senha 1234:

database.exe --update MeuBanco -add_user MeuUser2 -passwd 1234

Listando bancos mysql, usuário e senha dos domínios no plesk

Para usar este tutorial, use os scripts de linha de comando do plesk, na pasta: %plesk_bin%

Para revelar o banco de dados mysql, usuário e senha de todos os domínios do servidor com um único comando, faça:

dbclient.exe --direct-sql --sql="SELECT db_users.*, data_bases.name, domains.name, data_bases.type FROM db_users INNER JOIN (domains INNER JOIN data_bases ON domains.id = data_bases.dom_id) ON db_users.db_id = data_bases.id WHERE (((data_bases.type)='MySql'))"

Verificando espaço em disco e transferência de toda a revenda

O plesk exibe um relatório da revenda, com o consumo de espaço em disco e transferência, mas não exibe o valor alocado (definido pelo cliente).

Para saber o valor que a revenda definiu, para cada domínio, faça, no prompt de comando:

c:
cd %plesk_bin%
dbclient.exe --direct-sql --sql="SELECT limits.limit_name, limits.value /1048576, domains.name FROM domains INNER JOIN limits ON domains.limits_id = limits.id WHERE ((limits.limit_name='disk_space') AND ((limits.id) In (select limits_id from domains where cl_id in (select id from clients where login='LOGINDAREVENDA'))))"

*Necessário substituir LOGINDAREVENDA pelo login da revenda que deseja fazer a pesquisa.

Revelando login e senha de ftp de um domínio no plesk

Este script usa os scripts de linha de comando do plesk.
Os scripts de linha de comando do plesk ficam na pasta: %plesk_bin%

Para revelar o login e senha de ftp de todos os domínios hospedados no servidor, faça:

c:
cd %plesk_bin%
dbclient.exe --direct-sql --sql="SELECT domains.name, hosting.fp_adm, hosting.fp_pass FROM domains INNER JOIN hosting ON  domains.id = hosting.dom_id"

Como descobrir emails e senhas do plesk

O Plesk tem um script de linha de comando, que permite a você executar SQLS. Com isto, você pode recuperar informações direto da base de dados do plesk, que podem ser muito úteis no gerenciamento do servidor.

Os scripts de linha de comando do plesk ficam na pasta: %plesk_bin%

Para descobrir todos os usuários de email e suas senhas, geradas através do plesk, faça:

c:
cd %plesk_bin%
dbclient.exe --direct-sql --sql="select mail.mail_name + '@' + domains.name,accounts.password from domains,mail,accounts where domains.id=mail.dom_id and accounts.id=mail.account_id order by domains.name ASC, mail.mail_name ASC"

Subdomain.exe – Gerenciando subdomínios no plesk via linha de comando

Os scripts de linha de comando do plesk ficam na pasta: %plesk_bin%

Subdomain.exe

Para criar um subdomínio:

subdomain.exe --create Subdominio -domain dominioDoUsuario.com -hard_quota 50 -ssi true

To remove subdominio.dominiodousuario.com do dominio dominiodousuario.com:

subdomain.exe --remove subdominio -domain dominiodousuario.com

Para alterar o nome de um subdomínio existente de subdominio.dominiodousuario.com para – subdominio1.dominiodousuario.com

subdomain.exe --update subdominio -domain dominiodousuario.com -new_name subdominio1

Para habilitar frontpage suporte para o subdominio1.dominiodousuario.com

subdomain.exe --update subdominio1 -domain dominiodousuario.com -fp true

Para obter informacões de subdominio.dominiodousuario.com:

subdomain.exe --info subdominio1 -domain dominiodousuario.com

domain.exe – gerenciando domínios no plesk via linha de comando

Os scripts de linha de comando do plesk ficam na pasta: %plesk_bin%

domain.exe

Criar domínio dominiodousuario.com

domain.exe --create dominiodousuario.com -clogin John_Doe -dom_user false -www true -hosting true -ip 200.230.22.14 -cgi true -notify false

Para obter informações sobre o domínio dominiodousuario.com:

domain.exe --info dominiodousuario.com

Para renomear o domínio dominiodousuario.com para dominiodousuario1.com

domain.exe --update dominiodousuario.com -new_name dominiodousuario1.com

Para habilitar um usuário do domínio dominiodousuario.com com a senha “minhasenha”

domain.exe --update dominiodousuario.com -dom_user true -du_passwd minhasenha

Para setar o nome do usuário do domínio dominiodousuario.com para “John”:

domain.exe --update dominiodousuario.com -du_pname "John"

Para habilitar hosting físico para o domínio dominiodousuario.com:

domain.exe --update dominiodousuario.com -hosting true