Robson's profileRobson BrandãoPhotosBlogListsMore Tools Help

Robson Brandão

MCT Windows Server System - SQL Server

Palestras Microsoft - SQL Server

Quer assistir uma palestra sobre SQL Server na sua Faculdade ? Mande uma mensagem para o meu BLOG. Por enquanto, só em São Paulo (Capital)
June 15

SPARSE Columns

As tabelas com muitos valores nulos podem ser beneficiadas com esse novo recurso existente no SQL Server 2008, pois com a  propriedade SPARSE, colunas com valores NULL,  não ocupam espaço em disco.

Veja um exemplo comparando uma tabela com valores NULL usando SPARSE e não.

CREATE TABLE tab_semSparse
(
ID INT IDENTITY,
Col1 INT,
Col2 VARCHAR(100)
)
GO


CREATE TABLE
tab_comSparse
(
ID INT IDENTITY,
Col1 INT sparse,
Col2 VARCHAR(100) sparse
)
GO


DECLARE
@idx INT = 0
WHILE @idx < 50000
BEGIN
INSERT INTO tab_semSparse VALUES (NULL, NULL)
INSERT INTO tab_comSparse VALUES (NULL, NULL)
SET @idx+=1
END
GO

sp_spaceused 'tab_semSparse'
GO

sp_spaceused
'tab_comSparse'
GO

Com_Sem_SPARSE 

Observe só o espaço economizado com a propriedade SPARSE.  Além disso, o limite de colunas para tabelas é 30 mil ao invés de 1024 para colunas comuns sem SPARSE.

Apesar de ser muito útil com dados nulos, tem um preço alto para colunas não nulas. Um valor extra de 4 bytes é acrescido ao tamanho da linha.

Nem todas as colunas podem ter esse atributo, as limitações estão a seguir:

·         Colunas com IDENTITY ou ROWGUIDCOL
·        
Data Types TEXT, NTEXT, IMAGE, TIMESTAMP, GEOMETRY, GEOGRAPHY, UDT
·        
Varbinary(max) com filestream
·        
Colunas computadas
·        
Colunas que fazer parte de chave primária ou indice clustered.
·         Colunas não podem ser compactadas.

O tamanho máximo de uma linha para tabelas com SPARSE columns é 8019 bytes, pois um vetor é usado incluindo um overhead maior degradando bytes. Caso o tamanho de uma linha passe disso, um erro é disparado:

Msg 576, Level 16, State 5, Line 1

Cannot create a row that has sparse data of size 8047 which is greater than the allowable maximum sparse data size of 8019.

Aqui há uma dica importante: Se a linha ultrapassa metade desse limite (4009 bytes), o ALTER TABLE não pode ser usado para atribuir e nem para mudar a propriedade SPARSE.

Série de novos artigos sobre SQL Server 2008

A partir de agora uma série de artigos sobre o SQL Server 2008 será publicada, enviem sugestões para publicações no blog.

June 01

Será que o data type do SQL Server é igual aos outros bancos do mercado ?

Se em seu ambiente existe bases heterogêneas, por exemplo, SQL Server e DB2, pode aparecer dúvidas sobre como criar tabelas idênticas nos dois ambientes.

O SQL Server tem uma tabela de sistema que nos mostra um mapeamento dos tipos de dados SQL Server para os principais banco de dados do mercado. Trata-se da MSdatatype_mapping.

Ao executar a query a seguir, podems obter essa informação:

SELECT * FROM MSDB..MSdatatype_mappings


datatype_mapping

May 27

User Account Control

Estar logado com senhas administrativas nunca é uma boa prática de segurança, tanto em computadores corporativos quanto em computadores pessoais.
Na verdade é uma sensação de poder. Logar com senhas administrativas nos dá previlégios de fazer o que for possível na máquina, e é ai que mora o grande perigo.

Profissionais de TI e usuários comuns tem uma coisa em comum: a curiosidade.

Toda vez que vamos procurar alguma documentação na WEB, entramos em sites que nunca vimos antes e nem ao certo sabemos se é seguro ou não navegar por ali.

Entre um link e outro, podemos disparar involuntariamente a instação de algum programa, script ou outra praga digital no nosso computador, podendo nos dar prejuizos que vão desde uma mensagem chata, queda de desempenho ou até mesmo roubo de informações.

Isso só acontece porque você está logado como Administrador. Se fosso um usuário simples, nada disso aconteceria.

Como evitar isso ?

Quando a Microsoft desenvolveu o Windows Server 2003, ela lançou o programa de computação confiável, que em uma de suas recomendações dizia para trabalhar com contas de usuários comuns e somente quando necessário usar a conta administrativa. Isso era feito pelo velho conhecido nosso o RUNAS.

runas1 runas2

Mas, como isso não é muito prático, poucas pessoas adotaram essa política de boas práticas.

No Windows Vista veio o User Account Control. Toda vez que precisamos rodar um aplicativo ele nos pede uma permissão antes:

UAC

Se você está usando uma conta administrativa, basta pressionar “Continue” para rodar o arquivo. Caso contrário, vai aparecer um espaço para você digitar a senha de um administrador para proseguir.

Caso você queira desabilitar esta opção, segue o passo-a-passo:

1) No Control Panel, acesse User Accounts

UAC3

2) Nas Propriedades da conta, escolha Turn User Account Control on or off.

UAC4

3) Marque ou desmarque a checkbox para ativar ou desativar o UAC.

UAC6

4) Após a confirmação, é necessário um RESTART na máquina.

UAC7
 

Lembre-se que por questões de sugurança não é recomendável desabilitar o UAC.

May 25

Google tem a 6ª pane em 6 meses

O Será que aconteceu na madrugada de 24 de fevereiro de 2009 no GOOGLE ?

Quem tentava entrar no serviço entre 2h30 e 5h (horário de Brasília) se deparava com a mesma mensagem de erro 502 que causou algumas das instabilidades anteriores.

Por mais que o
Google afirme oficialmente que a pane durou duas horas e meia, relatos de usuários dão conta que a instabilidade chegou a durar até 4 horas – período muito menos impactante do que as mais de 24 horas sem acesso na quarta crise...

 
Vamos relembrar outras panes ?

http://idgnow.uol.com.br/internet/2009/05/15/fora-do-ar-relembre-as-principais-panes-de-servicos-do-google/

 

May 14

É possivel criar um banco de dados no SQL Server com outras extensões de arquivos ?

Dúvida muito comum nos treinamentos. A resposta é SIM. Não só para a criação dos bancos, mas para backups também.

O formato do arquivo é binário e não importa qual a extensão estamos usando. Sendo assim, meu backup pode ser .BAK, .DAT, .RBS e meu banco de dados também pode ser .MP3, .XLS, .DOC, .PDF entre outros.

Veja um exemplo:

-- Criando um banco de dados com extensão diferente das tradicionais MDF, LDF e NDF.

create database TESTE
on
(
name = 'Teste_data',
filename = 'c:\bancos\Teste_data.xls',
size = 50MB
)
Log on
(
name = 'Teste_log',
filename = 'c:\bancos\Teste_log.wmv',
size = 2MB
)

Command(s) completed successfully.

APESAR DE SER POSSÍVEL, ESTA É UMA PÉSSIMA PRÁTICA. PROCURE NÃO USAR.

-- Criando backup com uma extensão qualquer

backup database TESTE to disk = 'c:\bancos\back_teste.BR'

Processed 160 pages for database 'TESTE', file 'Teste_data' on file 1.
Processed 2 pages for database 'TESTE', file 'Teste_log' on file 1.
BACKUP DATABASE successfully processed 162 pages in 0.334 seconds (3.783 MB/sec).

May 13

Alterando o local físico do TempDB

As boas práticas sempre dizem que o TEMPDB precisa estar em um disco separado da unidade de instalação do SQL SERVER.

Vamos ver como se faz isso em alguns passos:

Primeiramente, precisamos descobrir onde está o TEMPDB. Para isso executamos uma query na DMV sys.master_files

select
name, physical_name from sys.master_files where database_id = db_id ('Tempdb')

Tempdb1

Agora, vou mover os arquivos para a pasta C:\Tempdb. Como é apenas uma demostração, vou mover para o próprio disco, mas em produção, o disco físico deve ser diferente.

alter database tempdb
modify file (name = 'tempdev', filename = 'C:\Tempdb\tempdb.mdf')

The file "tempdev" has been modified in the system catalog. The new path will be used the next time the database is started.

alter database tempdb
modify file (name = 'templog', filename = 'C:\Tempdb\templog.ldf')

The file "templog" has been modified in the system catalog. The new path will be used the next time the database is started.

Após esse procedimento, é preciso reiniciar o serviço do SQL SERVER para que tenha efeito.

Executando novamente a query na DMV sys.master_files obtemos a nova localidade do TempDB.

select
name, physical_name from sys.master_files where database_id = db_id ('Tempdb')

Tempdb2

May 12

Alterando a conta de serviço do SQL Server 2005-2008 sem traumas

Alterar a conta de serviço do SQL Server pode muitas vezes parar o serviço se não for dadas as permissões necessárias.

Em versões anteriores do SQL Server, a troca da conta de serviço, era um problemão. Essa troca era quase sempre mau sucedida e após vários problemas de permissões em pastas, arquivos e chaves de registro, acabavámos colocando a conta com no grupo ADMINISTRATORS, jogando fora todas as sugestões de boas práticas e expondo o Servidor. Para resolver isso, a solução é bem simples:

Cada serviço (SQL SERVER, SQL AGENT, ANALYSIS e REPORTING SERVICES) tem um grupo de usuários que é criado durante a instalação.

Basta acrescentar uma conta comum a esse grupo e alterar a conta de serviço para essa conta.

Grupo_Services_SQL

May 11

Questão de Segurança – Evite o roubo de dados

Época de crise é um momento crítico para empresas e funcionários: Fusões, falências e demissões em massa.
Já parou para pensar que um funcionário demitido pode levar consigo dados e segredos da sua empresa ?
Tenho visitado algumas empresas e conversado com alguns profissionais em treinamentos e atitudes simples de segurança não são tomadas nas empresas.
Se conversar em off com alguns profissionais, vai perceber que para se defender de uma possível demissão, eles admitem já ter copiado dados da empresa atual para usar em outra empresa no futuro.
Atitudes simples podem proteger os dados de sua empresa:

  • A empresa precisa ter medidas práticas de segurança.
  • Documente os acessos dos funcionários nos sistemas, na rede e no prédio.
  • Deve-se instalar softwares de segurança nas máquinas para evitar roubo de informações.
  • É importante o RH trabalhar junto com a área de TI para ir limitando acessos e permissões até o dia do desligamento, isso inclui acesso externo ao sistema de telefone.
  • Deve-se evitar a todo custo “deixar vazar” as intenções da demissão, deixando bem claro tolerância ZERO para quem espalhar.
  • Monitorar acessos para identificar mau uso do sistema.

Após a demissão, o sentimento de vingança no ex-funcionário é natural, mas muitas empresas esquecem disso, por isso, alguns procedimentos devem ser tomados:

  • Invalide a conta do funcionário demitido. Isso deve ser feito no Servidor de domínio e nos logins das aplicações.
  • Pegue de volta notebooks, celulares e smartphones que são de propriedade da empresa.
  • Se for da área de TI, altere as senhas administrativas.
  • Feche acessos remotos.

Um último conselho: desabilite os logins de funcionários em férias. Se não for possível, monitore bem.

April 07

MCT Summit

Foi um evento dos melhores !

Nos dias 4 e 5 de abril, em pleno sábado e domingo, nos reunimos durante o dia todo para aprimorarmos nossos conhecimentos e conversar com o pessoal da Microsoft.

O evento realmente foi muito bom, vimos as novidades do Windows 7, Windows Server R2, SQL Server, Visual Studio 10, SharePoint, Exchange, Azure enfim fizemos o que mais gostamos de fazer que é falar sobre technologia Microsoft.

Para o pessoal de SQL SERVER, o foco principal desse blog, devo dizer que a Microsoft está trabalhando muito na nova versão. Recursos ainda mais surpreendentes virão.

As fotos que tirei no evento ficarão no blog. Prestem atenção no local reservado ao Rover ..rssss

Das informações passadas, a maioria é reservada e não podemos falar delas em público ainda, mas assim que puder falarei.

O melhor de todo o evento é claro reencontrar amigos, trocar idéias e sair RENOVADO sabendo como melhorar ainda mais nosso trabalho.

Agradecimento especial ao Emilio Mansur e pela Leda Figueiredo que organizaram um evento de respeito. Parabéns pessoal! Parabéns a todos MCTs !

March 03

Remover colunas não mudam o tamanho da tabela

Responda rápido a esta pergunta: Remover uma coluna, reduz o tamanho da tabela ?

Para descobrir isso, vamos fazer um teste.

Use AdventureWorks
Go

-– Criando uma tabela de teste
Select * into sizeTable from Sales.SalesOrderDetail

-– Checando o tamanho da tabela
exec sp_spaceused 'sizeTable'

space1

-–Removendo algumas colunas

alter table testTable
Drop column
SalesOrderID,SalesOrderDetailID,CarrierTrackingNumber,
OrderQty ,ProductID,SpecialOfferID, UnitPrice,UnitPriceDiscount, LineTotal, rowguid

-– Checando o tamanho da tabela após remover colunas
exec
sp_spaceused 'sizeTable'

space2 

O tamanho continua o mesmo.
Assim como acontece com os arquivos que apagamos do disco, o sistema operacional não lbera todos os bytes, apenas os marca com apagados. Quando for gravar um novo arquivo e precisar de espaço em disco, o SO utiliza esses setores marcados.

Descobrindo a Primary Key de uma tabela

Existem várias formas de se descobrir a Primary Key de uma tabela.

1) sp_help

sp_help
'Person.Address'

PK_sp_help

 

2) sp_pkeys

sp_pkeys 'Address','Person'

pk2_sp_pkeys
sp_pkeys ‘tabela’, ‘owner’

 

3) sp_helpconstraint

sp_helpconstraint 'Person.Address'

pk3-sp_helpconst


4) Consultar na sys.objects

select * from sys.objects where type = 'PK' AND parent_object_id = object_id('Production.Product')

pk_sys_obj

January 29

Microsoft fornece código ao projeto Apache Stonehenge

Li esta notícia no blog de TI da Microsoft e achei importante transmitir  essa informação. Principalmente para os que não sabem que a Microsoft contribui para o OpenSource.

Alguns meses após se tornar uma das colaboradoras da Fundação Apache, a Microsoft forneceu o código do aplicativo StockTrader 2.0 a um projeto do grupo, conhecido como Stonehenge. O código será utilizado por empresas e desenvolvedores que buscam testar a interoperabilidade na implantação dos padrões Web.

As companhias e profissionais que contribuem com o Stonehenge fornecem amostras de código para aplicações que trabalham em diversas plataformas para resolver questões referentes às diferenças de implementação de padrões Web específicos.

O StockTrader 2.0, que tem a função de implementar padrões WS-* e demonstrar princípios de serviços orientados ao desenho de arquitetura.

O projeto incubado Stonehenge foi anunciado em novembro de 2008 no ApacheCon. Apache, Microsoft, Red Hat e WSO2 estão entre os colaboradores.

Para mais informações sobre o projeto Apache Stonehenge, acesse: http://wiki.apache.org/incubator/StonehengeProposal
January 23

Dicas para um ambiente virtualizado para o SQL Server

Virtualização é uma realidade há muito tempo, as vantagens são muitas: consolidação, ambiente de teste, deployment, disaster recovery e treinamento são exemplos de uso. Eu sempre uso VMs para essas tarefas, principalmente nos treinamentos. Por isso, vou passar algumas dicas sobre o ambiente que uso para ter a melhor performance das minhas VMs.

1) Usar computadores com multicore. No mundo virtualizado, os produtos rodam uma thread por VM em cada core separado, por isso quanto mais core, maior a performance. O SQL Server deve ser licenciado na VM. Se sua VM usa um processador, você precisa 1 licença do SQL Server, independente de quantos processadores tem o seu SO HOST.

Uma dica importante é que cada Windows Server 2003 Enterprise Edition R2 pode rodar 4 VMs com uma única licença, a verão Datacenter pode rodar ilimitadas VMs e que o SQL Server Enterprise Edition com SP2, pode tem número ilimitado de instâncias.

2) Crie um ambiente em Clustering. O Virtual PC 2007 não suporta ambiente em cluster, por isso, é preciso usar o Virtual Server 2005 R2 ou o VMware Server. Em meu ambiente de Cluster de teste, tenho 3 VMs: um DC, primeiro e segundo nós.

3) Configurar os virtual HDs. O padrão é usar o tipo dinâmico, pois vai expandindo de acordo com a necessidade, mas no ambiente de cluster, por exemplo, o disco de QUORUM deve ser fixo. Os VHDs com valores fixos são mais rápidos.

4) Usar diferentes drivers ou SAN. Criar os virtual HDs em discos físicos diferentes é sem dúvida mais rápido, se possível, use uma SAN.

5) Usar um Virtual SCSI Controller. O padrão é usar um virtual IDE controller, mas o ganho de um Virtual SCSI Controller é de 20%.

6) Aloque memória suficiente. As VMs usam a memória do sistema operacional HOST. Cada VM necessita além da memória reservada para ela, um adicional de 32 MB por VM para cobrir o overhead . Se quiser ter uma VM rodando com 512 MB, aloque 544 MB( 512 + 32).

7) Use um SO 64 bits no HOST. Um cenário muito comum da virtualização é a  consolidação, em um ambiente 64 bits, temos suporte a mais processadores e memória do que um ambiente 32 bits.

January 06

O OpenOffice está morrendo ?

Segundo Michael Meeks, que é desenvolvedor da Novell no projeto OpenOffice.org, da Sun,o projeto está “profundamente doente”:

“em um projeto saudável, podemos esperar um grande número de desenvolvedores voluntários [...] além de grande número de empresas oferecendo suporte [...] o que não vemos no projeto OO, bem ao contrário [...] mesmo a partir da visão mais positiva possível, OO.org está, quando muito, ESTAGNADO, a partir de uma perspectiva de desenvolvimento".

Fonte: http://olinux.uol.com.br/news/open_news.phl?id=8671

January 05

Gerenciando Logins Órfãos no SQL SERVER

Para ter acesso a uma instância do SQL Server, precisamos de um login. Esse login pode ser um usuário Windows ou um próprio login SQL Server.

Após ter acesso à instância, é preciso ter um usuário em cada banco de dados que se pretende acessar.

Até o SQL Server 2000, os logins ficavam armazenados no banco MASTER na tabela de sistema syslogins.

A partir do SQL Server 2005, passamos a não ter mais acesso às tabelas de sistema que saíram do banco MASTER, e foram para um banco oculto chamado MSSQLSYSTEMRESOURCE.

loginorfao1 

Nesse banco temos todas as tabelas de sistema que só podemos acessar usando Views de Sistemas dentro do schema sys.

Agora, o banco Master possui poucas tabelas, conforme figura abaixo:

loginorfao2

Os usuários de cada banco são acessados através da sys.sysusers (ou semplesmente sysusers no SQL Server 2000).

Tanto a sys.syslogins quanto sys.sysusers tem uma coluna SID do tipo unique identifier que definem um relacionamento entre as duas tabelas.

Assim, como no Windows, o nome do login não tem muita importância, o que realmente importa é o SID, por isso é possível renomear o login do SQL Server sem ter que redefinir suas permissões.

Fazendo uma query na sys.syslogins e na sys.sysusers obtemos os SIDs associados:

select * from sys.syslogins where name = 'SQL1'
select * from sys.sysusers where name = 'SQL1'

loginorfao3

Um problema que pode ocorrer é surgir logins órfãos, ou seja, um login mapeado com um usuário que não existe mais.

Simulando uma situação, vou apagar o login SQL1 do exemplo anterior e daí teremos um login órfão. 

Para saber todos os logins órfãos, execute o seguinte comando:

EXEC sp_change_users_login 'Report'

loginorfao4 

Se criarmos outro login com o mesmo nome, esse novo login, apesar do mesmo nome, tem outro SID.

Repare os SIDs diferentes após executar uma query na sys.syslogins e sys.sysusers

select * from sys.syslogins where name = 'SQL1'
select * from sys.sysusers where name = 'SQL1'

loginorfao5 

Para associar o novo login com o usuário do banco, podemos usar sp_change_users_login, onde o primeiro SQL1 é o user, o segundo é o login

EXEC sp_change_users_login 'Update_One', 'SQL1', 'SQL1'

Após executar a procedure, o login já estará associado ao user deixando de ser órfão.

November 13

Bem vindo ao Futuro

Para quem estava atrás de novidades no mundo Microsoft agora encontrou.

O PDC 2008 realizado entre os dias 27 e 30 de outubro no Los Angeles Convention Center nos mostrou que o futuro já começou.

Windows 7

Tecnologias como Windows Server 2008 R2, Windows 7, Visual Studio 2010, Service Pack 2 do Vista e .Net Framework 4.0 já estão estourando para a comunidade testar.

Claro que para o pessoal de Infra, o que interessa mesmo é o Windows 7 e o Windows Server 2008 R2.

As informações ainda são muito restritas, mas já é possivel ver algumas imagens do novo sistema operacional.

A Interface mais limpa ainda do que no Windows Vista, com a barra de ferramentas aprimorada além da mudança na arquitetura são as mudanças.

windows 7 tela 1

Por exemplo, agora as miniaturas dos documentos abertos são agrupados por aplicativos, e são mostradas em conjunto para facilitar a navegação entre os arquivos, podendo fechá-los ou expandi-los na tela.

No caso do Internet Explorer por exemplo, as tabs são mostradas em miniaturas também, podendo navegar diretamente a elas sem ter que abrir o browser e escolher.

windows 7 tela 2

Por enquanto é só, tenho muito que explorar ainda. Mas, para que serve o intervalo entre um treinamento e outro ? rsss

November 12

Dica Windows - Habilitar novamente o Hibernate

Certa vez fazendo uma faxina no meu notebook, acabei selecionando a opção de remover o arquivo do Hibernate do Windows, o que me ajudou a economizar alguns GB de espaço. Mas pensei, que se fosse no Power Options futuramente, poderia ativá-lo. Puro engano, daí conversando com um colega especialista em Windows, ele me disse: "Simples meu caro, basta ir ao command prompt e digitar POWERCFG -H ON. Fiz isso e aqui está a dica para vocês.

Obs: Como não me logo no meu note como usuário Administrator, apesar de ser Administrador da máquina, tive que rodar o Command prompt com a opção RUN AS Administrator.

powercfg 

E daí aparece a opção novamente.

powercfg2

October 21

Dica #74 - Limpar arquivo de LOG

ATENÇÃO: Antes de continuar, tenha certeza de que não vai mesmo precisar das transações gravadas no log.

Provavelmente você fará isso se estiver em um ambiente de desenvolvimento.

BACKUP LOG DB1 WITH TRUNCATE_ONLY

É possivel também usar o comando DBCC SHRINKFILE.

DBCC SHRINKFILE (2, TRUNCATEONLY)

O valor 2 refere-se ao id do arquivo de log do banco de dados. Para saber o id dos arquivos do banco, faça uma query na sys.database_files.

SELECT file_id, name FROM sys.database_files

Dica #73 - Derrubar todos os usuários do banco de dados

Se o seu objetivo é derrubar os usuários de um banco específico sem parar o serviço do SQL Server, vai uma dica: Coloque o banco em OFFLINE.
Para fazer isso, use o comando ALTER DATABASE conforme exemplo:

ALTER DATABASE DB1 SET OFFLINE WITH ROLLBACK IMMEDIATE

Para retornar o uso do Banco de dados, coloque-o novamente em ONLINE:

ALTER DATABASE DB1 SET ONLINE

September 22

TechED 2008 - 14 à 16 de outubro

Quer se preparar para os desafios de amanhã ?

Conhecer profissionais da área e fazer networking ?

Saber tudo sobre os lançamentos da Microsoft ?

Conversar com os especialistas da Microsoft ?

Então venha para o TechEd 2008. Faça parte dessa experiência.

TechEdLogoTop

August 25

Diferenças entre Windows XP e Windows Vista

Sempre bate a dúvida quanto a troca de versões do Windows. Foi assim do Windows 98 para o XP e está sendo assim do XP para o Vista.

Se você quer saber as diferenças entre os dois sistemas, consulte o link abaixo com comparações feitas pela própria Microsoft.

http://www.microsoft.com/brasil/windows/products/windowsvista/editions/comparexp.mspx

August 22

Dica #72 - Listar subpastas do servidor através do SQL Server

Para obter uma lista de subpastas do servidor, basta rodar a procedure extendida xp_dirtree

EXEC master..xp_dirtree 'C:\Program files'

August 18

Dica #71 - Como separar a Data ou Hora de um campo tipo DATETIME

Para separar a data da hora em um campo DATETIME ou SMALLDATETIME no SQL Server 2000 e 2005, use a função CONVERT() conforme o exemplo:

CREATE TABLE
TAB_A
(
COL1 DATETIME
) 

GO

INSERT TAB_A VALUES(GETDATE())

DECLARE @VAR INT
SET @VAR = 101
WHILE
@VAR <=110
BEGIN
            SELECT @var, CONVERT(CHAR(12),COL1,@VAR) FROM TAB_A
SET
@VAR = @VAR+1
END

GO

A função CONVERT() permite a conversão de dados com formatação do resultado.

No script acima, foi criado um laço WHILE para mostrar alguns formatos disponíveis.

101         08/17/2008
102         2008.08.17
103         17/08/2008
104         17.08.2008
105         17-08-2008
106         17 Aug 2008
107         Aug 17, 2008
108         15:12:57  
109         Aug 17 2008
110         08-17-2008

 

Robson Brandão

Occupation
Location
Interests
Profissional de TI desde 1996, sou formado em Sistemas de Informação e trabalho com projetos e administração de banco de dados SQL Server e Sybase. Sou instrutor oficial Microsoft (MCT) e atualmente trabalho em um setor público e em centros de treinamentos Microsoft (CPLS). Através da minha empresa,
faço projetos de implementação de Active Directory, Migração de ambientes, Banco de Dados, Modelagem de dados e Workflow.
Ministro treinamentos oficiais, faço palestras e Webcasts, sou beta tester de produtos novos, além de escrever artigos e dicas.
Photo 1 of 1