quinta-feira, 18 de dezembro de 2008

Team Foundation Server Error 29112

Após vários dias tentando resolver este erro (Error 29112 - Report server service not configured properly) na instalação do Team Foundation Server (TFS), descobri que o problema era que o banco de dados que estava definido no Report Server do SQL Server não estava com o nome padrão "ReportServer", bastou configurar a ferramenta com este nome no banco de dados que o problema foi resolvido.

segunda-feira, 10 de novembro de 2008

Nova Vídeo-Aula para a SQL Magazine

Foi disponibilizada no site da revista SQL Magazine uma nova vídeo-aula mostrando o funcionamento do Resource Governor do SQL Server 2008. Este recurso disponibilizado nesta nova versão do banco de dados possibilita a administração da utilização de memória e CPU pelos usuários do SGBD. Maiores detalhes em: http://www.devmedia.com.br/articles/viewcomp.asp?comp=10974

quinta-feira, 30 de outubro de 2008

Reportagens da TechEd 2008

Na TechEd 2008 houveram diversas palestras sobre o SQL Server 2008, abaixo tem algumas reportagens sobre os assuntos abordados que estão no WNews. Vale a pena dar uma conferida.

Canal TechEd no WNews:
http://wnews.uol.com.br/site/teched/

Vídeos ref. Banco de dados:

Algumas matérias sobre o assunto:

http://blogs.technet.com/aggbug.aspx?PostID=3143047


(Colaboração: Marcus Vinicius Bittencourt)

quarta-feira, 22 de outubro de 2008

Grouping Sets no SQL Server 2008

A nova versão do banco de dados SQL Server 2008 acrescentou uma nova funcionalidade na Transact-SQL que permite o controle dos totais que devem ser acrescentados no result sets da consulta SQL.
Antes com a cláusula Rollup todos os níveis existentes no group by acrescentavam um total no result set, por exemplo em um agrupamento de Empresa, Filial, Funcionario era gerado uma linha de total por Empresa,Filial,Funcionario, outro na quebra de Empresa,Filial e outro na quebra de Empresa.
Com esta nova cláusula é possível informar que somente devem ser gerados totais por Empresa, Filial, Funcionário e outro por quebra de Empresa, desprezando a quebra por filial.

Sintaxe:

Select Empresa, Filial, Funcionario, SUM(Valores)
From FichaFinanceira
Group By Grouping Sets ( (Empresa, Filial, Funcionario), (Empresa) )
Order By Empresa, Filial, Funcionario

quinta-feira, 31 de julho de 2008

Estatísticas de Índices no Firebird

Quando é realiza uma consulta a uma tabela no firebird, o otimizador do banco de dados utiliza estatísticas existentes para os índices da tabela envolvida com o objetivo de escolher qual deles utilizar para ter o melhor desempenho.
Estas estatísticas são calculadas em cima do número de chaves distintas para cada índice.
A medida que a tabela vai recebendo novos dados estas estatísticas vão ficando desatualizadas, algumas vezes basta atualizar-las para ter um bom ganho de desempenho nas consultas.
O comando que atualiza as estatísticas de um índice é o seguinte:

SET STATISTICS INDEX nomeíndice;

terça-feira, 27 de maio de 2008

Conexão direta do DBExpress com o Oracle

O DBExpress é uma forma de conexão dos aplicativos desenvolvidos em Delphi se conectarem com o banco de dados.
A empresa CoreLab desenvolveu drivers de conexão alternativos aos distribuídos pela Borland.
Uma das vantagens do driver para Oracle é a possibilidade de conexão com o servidor sem a necessidade da instalação do client do Oracle nas estações.
Para realizar este procedimento altere as seguintes propriedades no componente de conexão:

GetDriverFunc getSQLDriverORANET
Vendor Lib dbexpoda.dll
Database servidororacle:portaoracle:oraclesid

Como trocar o Schema dos objetos no SQL Server 2005

Quando um banco de dados é restaurado em um novo servidor e os usuários/logins originais não existem no servidor, podemos trocar o dono dos objetos com o seguinte procedimento:

SELECT 'ALTER SCHEMA DBO TRANSFER donoantigo.' + NAME + ';'
FROM SYSOBJECTS
WHERE UID= xx;

Execute a instrução no Query Analyzer e copie o resultado para uma nova janela da ferramenta, após a execução todos os objetos do uid = xx serão transferidos para o dbo.

PS: Para descobrir o uid que deve ser utilizado, basta consultar na tabela sysobjects o uid de um objeto que desejes trocar o dono:

SELECT * FROM SYSOBJECTS
WHERE NAME='nomeobjeto'

Novos Níveis de Isolamento de Transações no SQL Server

A partir do SQL Server 2005 a Microsoft disponibilizou no seu servidor de banco de dados novos níveis de isolamento utilizando o versionamento de registros.
Para disponibilizar estes novos níveis é necessário alterar a configuração padrão do banco de dados através das seguintes instruções SQL:
  • Para habilitar o novo tipo de isolamento Snapshot:
ALTER DATABASE nomebanco
SET ALLOW_SNAPSHOT_ISOLATION ON;

  • Para que o nível de isolamento Read Commited use versionamento de registro:
ALTER DATABASE nomebanco
SET READ_COMMITED_SNAPSHOT ON;


Estes níveis de isolamento evitam bloqueios que eram comuns nas versões anteriores do SQL Server.

sábado, 19 de janeiro de 2008

Carregar o Oracle com um Datafile Corrompido

Para carregar o Oracle se um Datafile estiver corrompido.

STARTUP MOUNT;
ALTER DATABASE DATAFILE '/u01/oradata/ORCL/EXEMPLO.dbf' OFFLINE FOR DROP;
ALTER DATABASE OPEN;

Depois será necessário remover a tablespace (EXEMPLO) e recriar.

Trocar o Character Set do Oracle de US7ASCII para WEISO8859P1

Para trocar a tabela de caracteres utilizada pelo Oracle execute as seguintes instruções após uma boa cópia de segurança:

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET WE8ISO8859P1;
SHUTDOWN IMMEDIATE;
STARTUP;


Neste exemplo a tabela de caracteres ficará comWEISO8859P1.

Conexão com o Firebird em Terminal Server

Quando conectamos o Firebird no próprio servidor do banco de dados não precisamos especificar o nome do servidor.
Entretanto quando é conectado a partir de um servidor Windows utilizando o terminal services somente irá funcionar especificando servidor:caminho\arquivo.FDB