Arquivo da categoria ‘SQL’

Dica

Suponha que você precise pesquisar pelo no banco de dados um nome exatamente como ele foi inserido, vamos supor que seja aaaA, mas no seu banco de dados você já tem os valores AAAA, aaaa, AaaA e aaaA, a query abaixo retornará 4 linhas como resultado:

1 SELECT FROM tabela WHERE coluna = 'aaaA'

Para fazer o uso de case sensitive nessa coluna basta adicionar o collation como abaixo:

1 SELECT FROM tabela WHERE coluna COLLATE Latin1_General_CS_AS = 'aaaA'

Esse collation faz com que a busca seja feita com uso de case sensitive

Para alterar o collation da tabela definitivamente basta alterar a tabela da seguinte maneira: (mais…)

erro_sqlserver

Eis que tentamos renomear um BD (bd_RC_ERP)  no SQL Server 2008  R2 ehh..

ERRO:

‘The database could not be exclusively locked to perform the operation. (Microsoft SQL Server, Error: 5030)’

sql erro 5030 - renomear Bd

Porém a solução é até que simples e não requer tanta complicação. (mais…)

Programando.. Programando…

De repente….

” A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) “

Solução: (mais…)

Dica

Bem recentemente, citei uma dica de como habilitar o Intellisense no SQL 2008, depois de um problema gerado pelo Service Pack do Visual Studio 2010.

No entanto, mesmo que você esteja usando o SQL Server Manager 2008, conforme citado pelo amigo André Aguirre , o mesmo não se aplica caso o Banco de Dados SQL estiver em versões mais antigas como o 2000 e 2005.

Para tanto, eis a solução: (mais…)

Dica


Enquanto eu estava trabalhando com o SQL Server 2008 IntelliSense, percebi que não estava funcionando como eu esperava. Mesmo depois de eu ter habilitado o IntelliSense ele ainda não estava abrindo algumas sugestões.

Pesquisando, descobri que mais uma vez a Microsoft errou e admite, (menos mal dessa vez ) , mas o caso é que depois de instalar o Service Pack 1 do Visual Studio, a bagunça é tão grande que o IntelliSense do SQL Server 2008 é desativado.

Depois de um tempo, eu descobri algumas informações vitais de como fazer o IntelliSense  trabalhar o tempo todo sem lhe dar qualquer problema. (mais…)

Com essa query, é possível fazer uma listagem das tabelas de uma database com as colunas e detalhes como tipo, tamanho, e se o campo aceita nulo. É possível listar os campos de uma tabela adicionando um filtro TABELAS.NAME = ‘tabela desejada’ ou listar as views (XTYPE = ‘V’) ou procedures (XTYPE = ‘P’)

SELECT
TABELAS.NAME AS TABELA,
COLUNAS.NAME AS COLUNA,
TIPOS.NAME AS TIPO,
COLUNAS.LENGTH AS TAMANHO,
COLUNAS.ISNULLABLE AS EH_NULO

FROM
SYSOBJECTS TABELAS
INNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID = COLUNAS.ID)
INNER JOIN SYSTYPES TIPOS ON (COLUNAS.USERTYPE = TIPOS.USERTYPE)
WHERE
TABELAS.XTYPE = ‘U’ /*’U’ = TABELAS*/
ORDER BY TABELAS.NAME

~\\|//~
 -(o o)- RODRIGO SILVA

erro_visual_studio

Tive recentemente de utilizar uma máquian com o VS 2008 , e por N motivos precisei desinstalar o danado..

Porém nem tudo são flores… Achei que desinstalar seria tão simples como clicar alguns ícones e seguindo as instruções de desinstalação no Windows , mas…..O processo de desinstalação padrão não atende as necessidades gerando vários problemas..

Quando tentei desinstalar o aplicativo principal do Microsoft Visual Studio 2008 Standard Edition, usando o Adicionar / Remover Programas e depois de 2008 VSTS mídia de instalação, eu continuei recebendo a seguinte caixa de diálogo de erro dizendo:

“A problem has been encountered while loading the setup components – Cancelling setup.”  (mais…)

erro_sqlserver

E lá estamos, quando o SQL inventa de reportar o erro “Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding”.

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding

Sim pode ser aparentemente um erro simples por ter excedido o time de execução com alguma tarefa, mas mesmo assim uma boa forma de resolver isso é:

Solução: (mais…)

erro_sqlserver

Eis que tentamos restaurar um bakup (.bak) do SQL Server 2005 PTBR em um 2008 EN ehh..

Error 3154: The backup set holds a backup of a database other than the existing database.

Porém a solução é até que simples e não requer tanta complicação.

O Sql está tentando restaurar o database em outra database existente que está ativa..

Fix/WorkAround/Solução:

0) Vá em opções e selecione (check / habilite ) a opçao overwrite existing database.

1) caso contrário use o comando WITH REPLACE enquanto usar o comando RESTORE.  (Veja um exemplo:)

2) Delete o antigo database que está em conflito e restaure novamento usando o comando de RESTORE.

3) Segue um exemplo 1:

RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\BackupAdventureworks.bak'
WITH REPLACE

4) Segeu exemplo 2:

Use this script to restore:

ALTER DATABASE AdventureWorks
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
RESTORE DATABASE AdventureWorks
FROM DISK = 'C\:BackupAdventureworks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'C:\Data\datafile.mdf',
MOVE 'AdventureWorks_Log' TO 'C:\Data\logfile.ldf',
REPLACE

Referência : Pinal Dave (http://blog.SQLAuthority.com)

~\\|//~
 -(o o)- RODRIGO SILVA

erro_sqlserver

Galera,

acabei de passar por uma situação aqui e acho bom compartilhar:
O cliente tinha há pouco iniciado a implantação e tinha convertido do MsAccess para o SQL Server alguns dados. Infelizmente teve um problema no servidor e não tinha feito nenhum backup.
Através de um disco de boot ele conseguiu copiar a pasta do SQL com os arquivos mdf e ldf.

Copiei os arquivos em um diretório qualquer apenas para fazer um teste e rodei a seguinte sentença no SQL 2005:

USE master
CREATE DATABASE NOME_DA_BASE ON
( FILENAME = N’C:\DIRETORIO\NOME_DA_BASE.mdf’ ),
( FILENAME = N’C:\DIRETORIO\NOME_DA_BASE_log.ldf’ )

FOR ATTACH

E funcionou…. :victory:

A outra forma SIMPLES de fazer isso, é acessar o  SQL Server Management Studio ou SSMS e botão direito em databases no servidor sql… clica em atach..

~\\|//~
 -(o o)- RODRIGO SILVA