O Upgrade Advisor é uma ferramenta que acompanha o SQL Server 2005 e tem por objetivo servir de auxílio no momento do planejamento e execução da migração do SQL Server 7 e 2000 para o SQL Server 2005.
O Upgrade Advisor permite analisar um servidor SQL Server, um arquivo de trace,pacotes DTS, Reporting Services, Analysis Services e até mesmos scripts de modo a saber se estes componentes são compatíveis com o SQL Server 2005.
O Upgrade Advisor está incluído no download público do SQL Server 2005 CTP June, mas uma nova versão foi lançada na data de ontem.
Eu testei a nova versão do Upgrade Advisor e muitas melhorias foram feitas, incluindo a adição de novas regras de validação.
Para quem está planejando migrar para o SQL Server 2005 o Upgrade Advisor é uma ferramenta indispensável.
Segue o link do Microsoft SQL Server 2005 Upgrade Advisor - CTP June Refresh.
Agradecimentos ao José Ricardo pela "dica".
Segue um exemplo de como utilizar a nova função de PIVOT do SQL Server 2005
Crie uma tabela e popule os valores de produto/mes.
use AdventureWorks
go
set nocount on
go
drop table foo
go
create table foo (Produto int, Mes int , Valor money)
go
insert foo values (1,1,20)
insert foo values (1,2,10)
insert foo values (1,3,10)
insert foo values (2,1,200)
insert foo values (2,2,100)
insert foo values (2,3,100)
go
Mostra a tabela produtos e valores mês a mês:
select * from foo
Produto Mes Valor
1 1 20,00
1 2 10,00
1 3 10,00
2 1 200,00
2 2 100,00
2 3 100,00
Utilizando o método atual do SQL Server 2000 para pivotar a tabela com SELECT, CASE e SUM utilizamos o código abaixo:
select Produto,
sum(case Mes when 1 then Valor else 0 end) as Jan,
sum(case Mes when 2 then Valor else 0 end) as Fev,
sum(case Mes when 3 then Valor else 0 end) as Mar
from foo
group by Produto
Temos o resultado abaixo:
Produto Jan Fev Mar
1 20,00 10,00 10,00
2 200,00 100,00 100,00
Com a nova função PIVOT do SQL Server 2005 não precisamos utilizar o SELECT, CASE e SUM. Segue o código do SQL Server 2005 para produzir o mesmo resultado anterior:
select Produto,[1] as Jan, [2] as Fev,[3] as Mar
from
(select Valor,Mes,Produto
from foo) p
PIVOT
(
sum(Valor)
for Mes in ([1],[2],[3])
) as foo
Temos o mesmo resultado:
Produto Jan Fev Mar
1 20,00 10,00 10,00
2 200,00 100,00 100,00
Uma das questões mais comuns nos grupos de discussões de SQL Server é a seguinte:
P)Como eu faço para dar acesso ao Profiler para usuários que não são sysadmin?
A resposta mais comum até pouco tempo atrás era a seguinte:
R) Isto não é possível. Somente usuários do grupo sysadmin podem utilizar o profiler.
Desde as primeiras versões do beta do SQL Server 2005 a resposta para a mesma pergunta mudou e ficou assim:
R) Isto não é possível. Somente usuários do grupo sysadmin podem utilizar o profiler. No entanto o SQL Server 2005 permitirá que isso seja feito.
Com o lançamento do SQL Server 2005 batendo na nossa porta já era tempo de vermos se isso é possível e como fazer isso.
É possível delegar a permissão do uso do profiler para um usuário que não é sysadmin do SQL Server 2005. Para isso utiliza-se uma permissão chamada ALTER TRACE.
Como fazer isso? Para permitir um usuário chamado FOO o uso do profiler basta digitar o comando abaixo:
GRANT ALTER TRACE TO [foo];
para remover a permissão basta digitar:
REVOKE ALTER TRACE TO [foo];
Simples assim ;)
O SQL Server 2005 continua suportando dois tipos de logins: Windows (baseados no Active Directory) e o SQL Server Login (usuário e senha guardados no SQL Server).
Uma das novidades no SQL Server 2005 é a possibilidade de forçar a politíca de senhas do Active Directory também para os SQL Servers Logins.
Outra novidade são os comandos [CREATE,DROP,ALTER] LOGIN que podem(devem) ser utilizados para a manutenção dos logins Windows e SQL.
Teoria a parte, vamos a prática :-)
Para criar um SQL Server Login que obedeça a politíca do AD execute o comando abaixo no SQL Server 2005.
CREATE LOGIN [foo] WITH PASSWORD=N'foobar123'
MUST_CHANGE, DEFAULT_DATABASE=[master],
CHECK_EXPIRATION=ON,
CHECK_POLICY=ON;
Três novas opções chamam a atenção:
MUST_CHANGE: Significa que na primeira conexão com o SQL Server 2005 o usuário precisará trocar a senha. Vale somente para SQL Logins.
CHECK_EXPIRATION: Significa que a expiração de senha segue a política do Windows. Vale somente para SQL Logins e precisa que o SQL Server 2005 esteja instalado no Windows 2003. O valor padrão é ON
CHEK_POLICY: Significa que a política de senhas (complexidade) segue a política do Windows. Vale somente para SQL Logins e precisa que o SQL Server 2005 esteja instalado no Windows 2003. O valor padrão é ON.
Caso você queira usar o modo antigo, sem os controles de senha (não recomendável) basta alterar os valores de ON para OFF.
Uma outra novidade é a possibilidade de colocar um Login em DISABLE. O login continua a existir com todas as suas propriedades mas nenhuma autenticação é possível com ele.
ALTER LOGIN foo disable;
para ativiar
ALTER LOGIN foo enable;