terça-feira, 11 de dezembro de 2012

Tamanho de tabelas no SQL Server

SELECT OBJECT_NAME(ID) TABELA, CONVERT(DEC(15),SUM(RESERVED)) RESERVED
INTO #X
FROM SYSINDEXES
WHERE indid in (0, 1, 255)
GROUP BY ID

SELECT TABELA, LTRIM(STR(RESERVED * D.LOW / 1024., 15, 0)) + ' KB'
FROM #X, master.dbo.spt_values d
where d.number = 1
and d.type = 'E'
ORDER BY RESERVED DESC

Como descobrir/exibir as instâncias do SQL Server instaladas

Recentemente precisei descobrir o nome da instância do SQL Server que estava instalada no meu servidor, como já conhecia o utilitário de linha de comando do SQL Server (sqlcmd), executei no prompt de comando o seguinte: SQLCMD -L e obtive o resultado abaixo:

terça-feira, 4 de dezembro de 2012

Reset de senha no MySQL

Dica rápida para resetar a senha do MySQL

Digite no prompt: 

# mysqld_safe --skip-grant-tables & 

Agora que iniciou o MySQL, digite: 

# mysql 

Já logado no MySQL, digite: 

mysql> use mysql; 

Agora vamos resetar a senha: 

mysql> update user SET password=password('NOVA SENHA') WHERE user='root'; 

Agora saia do MySQL: 

mysql> quit 

Reinicie o serviço do MySQL e pronto.

Recuperando a senha SYS do Oracle

Essa dica é para aqueles que estão assumindo uma empresa que já trabalhava com Oracle e precisam fazer uma alteração no Banco de Dados com privilégios de usuário sys

Foi isso que me motivou a realizar esta pesquisa bem sucedida. 

Abaixo está a infinita lista de "DOIS" comandos. :) 

No prompt (tanto no servidor Linux quanto no servidor Windows)... 

Entre no Oracle da seguinte forma: 

sqlplus / as sysdba 

Digite a seguinte linha de comando dentro do Oracle para alterar a senha do user SYS: 

alter user sys identified by NOVASENHA; 

Oracle + SQLPlus: Como aumentar tablespace

Primeiramente certifique-se que já fez um backup do banco de dados. Qualquer "caca" que fizer poderá ser recuperada posteriormente. 

Vamos expor um programa que é nativo da Oracle. O mesmo é instalado juntamente com o Oracle: SQL*PLUS 

SQLPlus é um programa que fornece um ambiente interativo, em que comandos do SQL e comandos do SQL*PLUS são digitados diretamente ou através de um arquivo de comandos, para formatar resultados de pesquisa, para ajustar o ambiente, para editar e para armazenar comandos SQL. 

Logue-se ao sqlplus como sys: 

sqlplus sys/senha 

Entre com o comando a seguir: 

ALTER DATABASE DATAFILE '/diretório/onde/se/localiza/o/banco/de/dados/exemplo.DBF' RESIZE 23M 

Este comando vale para qualquer tablespace criada, porém tem que ser um comando para cada tablespace. 

Oracle - Criar usuário com privilégio de DBA

CREATE USER nome IDENTIFIED BY senha
GRANT DBA TO nome
 

Logo que comecei a usar o banco de dados Oracle uma dúvida que surgiu logo de início é como criar um usuário com privilégios de DBA. Para isto é necessário seguir dois passos. 

1º passo: Criar um usuário no banco de dados. 

Sintaxe: 

CREATE USER nome IDENTIFIED BY senha
  • nome - Consiste no nome que o seu usúario terá.
  • senha - Consiste na senha que o usuário utilizará para logar no sistema.

Exemplo: 

CREATE USER MAGUSCODE IDENTIFIED BY MAGUSCODE 

Neste exemplo será criado um usuário com o nome de MAGUSCODE com a senha de acesso MAGUSCODE. 

2º passo: Atribuir privilégio de DBA. 

Sintaxe: 

GRANT DBA TO nome
  • nome - Nome do usuário que será atribuído o privilégio de DBA.

Exemplo: 

GRANT DBA TO MAGUSCODE 

quarta-feira, 21 de novembro de 2012

Instalando PostgreSQL no Linux (CentOS)


Instalando MySQL no Linux (CentOS)



Dicas - SQLServer 2008R2



Alterando o Schema de uma tabela

O uso de schemas é uma boa prática para organizar a estrutura e as permissões de um banco de dados SQL Server.

Todos os objetos pertencentes a um Schema herdam suas permissões (desde que não existam permissões explícitas para cada objeto). Além disso, cada objeto pertence a um, e somente um, Schema.

Apesar do schema fazer parte da identificação de todo objeto, o simples renomeio de uma tabela  não possibilita associá-la a outro Schema.

Para realizar esta tarefa, deve-se utilizar a cláusula TRANSFER do comando ALTER SCHEMA.
Veja a sintaxe abaixo:

ALTER SCHEMA nome_do_schema TRANSFER outro_schema.nome_da_tabela; 

Note que o uso desta cláusula permite que a tabela nome_data_tabela seja "importada" para o Schema nome_do_schema.

No exemplo abaixo, 2 Schemas são criados (Marketing RecursosHumanos). Em seguida, cria-se a a tabela Funcionario no Schema Marketing. Suponhamos que esta seja uma associação equivocada, e que a tabela Funcionario deva pertencer ao Schema RecursosHumanos.

-- Criando Schema para a área de Marketing
CREATE SCHEMA Marketing
GO

-- Criando Schema para a área de RecursosHumanos
CREATE SCHEMA RecursosHumanos
GO

-- Criando tabela Funcionario no Schema Marketing
CREATE TABLE Marketing.Funcionario
(
id int identity(1,1) PRIMARY KEY,
nome VARCHAR(100)
)
GO

/* Alterando o Schema da tabela Funcionario. 
(DE: Marketing PARA: RecursosHumanos) */
ALTER SCHEMA RecursosHumanos TRANSFER Marketing.Funcionario
GO

Observações:
·      Tome cuidado ao alterar nomes ou schemas de objetos de um banco de dados. Tenha sempre em mente que este objeto pode ser referenciado por aplicações ou mesmo por outros objetos existente no banco de dados. Caso isso aconteça, estas referências serão inválidas.


quarta-feira, 7 de novembro de 2012

Dica Importante SQL Server 2008 Management Studio

Por padrão o SQL Server 2008 Management Studio vem configurado para não ter a mudança de uma tabela usando o modo “designer” sem que apague-a e re-crie novamente. O que acontece é o seguinte:
           
Se eu peguei uma tabela no meu banco de dados na internet, e ao tentar acrescentar um campo de auto-incremento ou chave primária ele deixa. No momento de salvar a tabela, o gerenciador mostra um alerta falando que não consegue salvar o que foi mudado na tabela.

Para realizar tal tarefa, será necessário desmarcar uma opção no gerenciador. Depois de abrir o gerenciador do SQL Server 2008, cliquei no menu Tools e escolhi a opção Options.


Uma nova tela se abre e existem várias opções específicas. Acesse a opção chamada Designers e ao 
lado direito deve ser desmarcado o item Prevent saving changes that require table 
re-creation.


Depois de desmarcar esta opção, é necessário fechar o gerenciador totalmente. Depois de abrir o
gerenciador a funcionalidade de edição vai funcionar perfeitamente. Sem que necessite apagar a tabela
e criá-la novamente.