--dropar todas as conexões abertas
ALTER DATABASE dbName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
"A plenitude da atividade humana é alcançada somente quando nela coincidem, se acumulam, se exaltam e se mesclam o trabalho, o estudo e o jogo; isto é, quando nós trabalhamos, aprendemos e nos divertimos, tudo ao mesmo tempo. (...) É o que eu chamo de 'ócio criativo', uma situação que, segundo eu [penso], se tornará cada vez mais difundida no futuro." (Domenico de Masi)
07 abril, 2014
31 março, 2014
MS SQL - listar todas tabelas
--Lista todas as tabelas dentro do banco conectado.
SELECT name, crdate
FROM sysobjects
WHERE xtype='U' order by name;
24 março, 2014
Microsoft SQL Server - Recriar LDF - erro 1813
Esse é um compilado de vários sites que peguei, as fontes originais não tenho mais. Desculpa aos que me ajudaram.
DBCC REBUILD_LOG
MS SQL - Recriar LDF - erro 1813
1 - Criar um banco novo com o mesmo nome do antigo. Prestar atenção no nome físico dos arquivos, devem ser iguais aos antigos.
2 - Parar o serviço do MS SQL.
3 - Substituir o arquivo mdf novo pelo antigo.
4 - Eliminar o novo arquivo ldf.
5 - Iniciar o serviço do MS SQL.
O banco irá subir em modo suspeito, conectar na base master como administrador (sa) e executar o scrip abaixo, substituir o nome do banco nos locais em destaque obecendo as aspas.
EXEC sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
BEGIN TRAN
UPDATE master..sysdatabases SET status = status | 32768
WHERE name = 'Database'
IF (@@rowcount = 1)
BEGIN
COMMIT TRAN
RAISERROR ('You are in emergency sql mode', 0,1) WITH LOG
END
ELSE
BEGIN
ROLLBACK
RAISERROR ('Unable to set sql into emergency mode',0,1) WITH LOG
END
GO
EXEC sp_configure 'allow updates', 0
RECONFIGURE WITH OVERRIDE
GO
6 - Reiniciar o serviço do MS SQL.
7 - Executar o comando abaixo na base master como administrador (sa), substituir o nome do banco e o caminho onde deve ficar o log.
--restart sql server at this point
DBCC REBUILD_LOG ('Database', 'c:\sqldata\database.ldf')
--perform DBCC CHECKDB at this point. If problems exist you may have to DTS good data out and rebuild database
--can also try REPAIR clauses to checkdb
ALTER DATABASE database SET MULTI_USER
17 março, 2014
Limpar cache do Microsoft SQL Server
Caso precise limpar o cache do banco para testar alguma consulta execute
-- Limpa cache de procedures
DBCC FREEPROCCACHE
-- Limpa buffers (comandos add-hoc)
DBCC DROPCLEANBUFFERS
-- Limpa cache de procedures
DBCC FREEPROCCACHE
-- Limpa buffers (comandos add-hoc)
DBCC DROPCLEANBUFFERS
10 março, 2014
Verificar versão do banco de dados Microsoft SQL Server
Para verificar a versão do banco de dados MS SQL executar a consulta abaixo:
select @@version;
select @@version;
03 março, 2014
Google Apps - Trocar senha proximo login
Abaixo segue um script para ser usado no Google Apps para forçar os usuários a trocarem a senha periodicamente. O link original está em fonte, o código abaixo sofreu algumas modificações para ficar mais adequado a minha necessidade.
fonte: https://sites.google.com/site/appsscripttutorial/home/force-google-apps-users-to-change-password-periodically
/*
Função seta o campo trocar senha no proximo login como verdadeiro
Seta uma senha padrão para todos os usuarios
Dispara email para quem executa o scrip com um relatorio de execução
Possibilidade de schedular para que a troca de senha ocorra periodicamente
*/
function invalidatePass() {
//Create logs
Logger.log('Incio de execução');
Logger.log('Lista de usuários que trocarão senha no proximo login');
Logger.log('=====================================================================');
var msgEmailAlterado = 'Lista emails que terão a senha trocada no próximo acesso' + '\n';
var mailSent = false;
try {
//pegar todos usuarios do dominio
var users = UserManager.getAllUsers();
//iterate for each user
for (var i = 0; i < users.length; i++){
//set the user to change password on next login
//var userVerifica = users[i]
//if (users[i].getIsAdmin()==false) {
if (!users[i].getIsAdmin()) {
users[i].setPassword("init@123");
users[i].setChangePasswordAtNextLogin(true);
Logger.log(users[i].getEmail())
var msgEmailAlterado = msgEmailAlterado + '\n' + users[i].getEmail();
}
//Put the email of the user in log
}
}
//Catch if any error occurs
catch(erro){
//Log the error
Logger.log('=====================================================================');
Logger.log('Ocorreu um erro: '+erro.message);
//Send an email to yourself with logs
GmailApp.sendEmail(Session.getEffectiveUser().getEmail(), 'Usuários que ocorreu erro na execução', Logger.getLog());
mailSent = true;
}
if(!mailSent){
//if execution successful
var tituloEmail = 'Usuários que foram modificados com sucesso'
var destinoEmail = Session.getEffectiveUser().getEmail()
//var corpoEmail =
Logger.log('=====================================================================');
Logger.log('Fim da execução. Concluído com sucesso!!!');
//Send an email to yourself with logs
GmailApp.sendEmail(destinoEmail, tituloEmail, msgEmailAlterado);
}
}
24 fevereiro, 2014
Oracle - Indice
--índice oracle
--listar indice que estão fora da tablespace indice
SET LINESIZE 200
SET PAGES 100
COL segment_name FORMAT a30
SELECT tablespace_name,count(*) indices FROM dba_indexes
WHERE owner=’USUARIO’ GROUP BY tablespace_name;
--montar comando de migração de índice
SELECT ‘alter index ‘||owner||’.'||index_name||’ rebuild tablespace NomeDaTableSpaceDeIndices;’
FROM dba_indexes
WHERE tablespace_name = ‘TableSpaceDados’;
-- Alterar o tablespace de indice
ALTER INDEX . REBUILD TABLESPACE;
Detalhe caso a tabela contenha campos do tipo BLOB, você terá que mover também os indices LOB, mas o comando é um pouco diferente, abaixo o comando para mover os indices LOB:
-- Alterar o tablespace de indice
ALTER TABLE . MOVE LOB( ) STORE AS (TABLESPACE );
fonte: vou ficar devendo, copiei o script a muito tempo e não tenho mais a origem. Desculpas a quem escreveu.
Assinar:
Postagens (Atom)