nav-left cat-right
cat-right
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 d...

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...

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ín...

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 t...

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 p...

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"