Arquivo

Archive for junho \17\UTC 2013

Alterando o default collation de uma instancia SQL Server

17 de junho de 2013 Deixe um comentário

Fabrizzio A. Caputo

Apesar de N referencias na internet, faço do meu blog um arquivo pessoal para que alem dos outros eu tambem possa ter um repositorio online de codificação, então este post é apenas mais um na internet visando este proposito pessoal.

Para se alterar o collation default de uma instancia:

1 – Pare o serviço correspondente do SQL Server;

2 – Abra um prompt de comando (Executar -> CMD)

3 – Vá para o diretorio de instalação da instancia do SQL Server que voce deseja alterar. No meu caso: cd C:\Program Files\Microsoft SQL Server\MSSQL10.SQL200802\MSSQL\Binn

4 – Execute o comando: sqlservr -m -sNomeDaInstancia -T4022 -T3659 -q”NomeDoNovoCollation”

Será executado N comandos e reconstruções de indices, porem no final uma mensagem de sucesso conforme abaixo deve aparecer informando que a alteração foi realizada sem maiores problemas.

Foto 01

Ver o post original

Categorias:Sem categoria

FULL JOIN, COALESCE, ISNULL

17 de junho de 2013 Deixe um comentário

André Fercondini

O LEFT JOIN e o RIGHT JOIN auxilia a QUERY quando há uma “perna” do relacionamento faltando. Alguns bancos de dados contendo uma evolução histórica, sem integridade referencial ou bug de sistema deixam as duas “pernas” do relacionamento faltando.

Por exemplo:

CREATE TABLE REGIAO
(
    ID_REGIAO			INTEGER NOT NULL PRIMARY KEY,
    DS_REGIAO 			VARCHAR(40) NOT NULL
);
CREATE TABLE CLIENTE
(
    ID_CLIENTE			INTEGER NOT NULL PRIMARY KEY,
    NM_CLIENTE			VARCHAR(40) NOT NULL,
    NR_CNPJ                     CHAR(14) NOT NULL,
    ID_REGIAO			INTEGER NOT NULL
);
 INSERT INTO REGIAO(ID_REGIAO, DS_REGIAO) VALUES(1, 'NORTE'); INSERT INTO REGIAO(ID_REGIAO, DS_REGIAO) VALUES(2, 'SUL'); INSERT INTO REGIAO(ID_REGIAO, DS_REGIAO) VALUES(3, 'LESTE'); INSERT INTO REGIAO(ID_REGIAO, DS_REGIAO) VALUES(4, 'OESTE'); INSERT INTO CLIENTE(ID_CLIENTE, NM_CLIENTE, NR_CNPJ, ID_REGIAO) VALUES(1, 'CLIENTE 1', '11111111111111', 1); INSERT INTO CLIENTE(ID_CLIENTE, NM_CLIENTE, NR_CNPJ, ID_REGIAO) VALUES(2, 'CLIENTE 2', '11111111111122', 1); INSERT INTO CLIENTE(ID_CLIENTE, NM_CLIENTE, NR_CNPJ, ID_REGIAO) VALUES(3, 'CLIENTE 3', '11111111111133', 1); INSERT INTO CLIENTE(ID_CLIENTE, NM_CLIENTE, NR_CNPJ, ID_REGIAO) VALUES(4, 'CLIENTE 4', '11111111111144', 2); INSERT INTO CLIENTE(ID_CLIENTE…

Ver o post original 498 mais palavras

Categorias:Sem categoria

DML – Linguagem de Manipulação de Dados

17 de junho de 2013 Deixe um comentário

Consulta BD

Olá o/,

              Como vimos no post sobre SQL, o que é a linguagem SQL e que seus grupos de comandos.

          Vamos lá, iremos falar hoje sobre o comando DML (Data Manipulation Language ou Linguagem de Manipulação de Dados), vamos falar sobre os seus 4 principais comandos: INSERT, UPDATE, DELETE e SELECT. A instrução SELECT iremos detalhar em post futuros pois iremos usar consultas mais avançadas.

             Como falamos anteriormente os comandos DML são responsáveis pela inserção/atualização/exclusão e seleção de registros no SQL. Ex.: Registros de uma tabela de vendedores.

         Hoje irei colocar um vídeo mostrando a criação, a inserção, atualização, exclusão e listagem de registros. Estarei usando o SQL SERVER 2012 EXPRESS. No post sobre SGDB’s, tem links para a instalação. o/

           Quem não criou a…

Ver o post original 78 mais palavras

Categorias:Sem categoria

Algumas Nomenclaturas para conhecimento

17 de junho de 2013 Deixe um comentário

...::: SGBD :::...

Siglas relacionadas ao SQL Server

ACID – Atomicity Consistency Isolation Durability
Esta sigla é utilizada para definir as propriedades que uma transação deve possuir.

ADO – Activex Data Objects
Faz referência a uma biblioteca de objetos ActiveX para acesso a dados. Geralmente é através destes objetos que um programador em ASP ou VB acessa o SQL Server

ANSI-92 – American National Standarts Institute 92
ANI-92 é um conjunto de regras e requisitos estipulados pelo orgão ANSI para definição de banco de dados relacionais.

BLOB – Binary Large Objects
É um tipo de dado que um campo de uma tabela pode armazenar. No SQL Server os tipos de dados ntext, text, and image podem ser considerados como do tipo BLOB.

BOL – Books OnLine
Esta sigla é uma abreviação para a documentação eletrônica oficial do SQL Server.

DBCC – DataBase Console Commands
Apesar de algumas documentações ainda constar como DataBase Consistancy…

Ver o post original 597 mais palavras

Categorias:Sem categoria

Manutenção de bases

17 de junho de 2013 Deixe um comentário

...::: SGBD :::...

O comandos DBCC basicamente se dividem em 4 categorias descritas a seguir:
1. Comandos de Manutenção

Fazem alguma manutenção preventiva ou corretiva no banco de dados. Alguns comandos desta categoria:
DBCC DBREINDEX Reconstrói os índices de uma tabela. Muito útil para manutenção de índices.
DBCC DBREPAIR Apaga um banco corrompido. Use DRP DATABASE ao invés de DBCC DBREPAIR.
DBCC INDEXDEFRAG Desfragmenta um ou mais índices de uma tabela. Melhora a performance do índice.
DBCC SHRINKDATABASE Diminui o tamanho de todos os arquivos de dados ou Log de um banco de dados até um certo tamanho.
DBCC SHRINKFILE Diminui o tamanho de um arquivo específico de dados ou Log de um banco de dados até um certo tamanho.
DBCC UPDATEUSAGE Corrige erros de tamanho de dados retornados pela Stored Procedure sp_spaceused.

2. Comandos Gerais
Possuem diversas funcionalidades, como alocação de tabela na memória, ajuda sobre outros comandos DBCC e ‘pinagem’ de…

Ver o post original 506 mais palavras

Categorias:Sem categoria

[Script] Obtendo tamanho das bases de dados detalhadamente

17 de junho de 2013 Deixe um comentário

Freccia's Blog

Olá pessoal,

Mais uma vez aqui compartilhando scripts com vocês. Dessa vez o script que vou passar é para vocês pegarem o tamanho de suas bases de dados, porem com algumas outras informações como: Tamanho total, espaço utilizado, espaço disponivel e disco de localização dos arquivos (mdf e ldf). Vale lembrar que esse script apenas pega o tamanho do arquivo .mdf e .ndf, caso você desejar pegar a informação também para o arquivo .ldf, você precisa retirar a clausula “WHERE   df.type =…”. Abaixo segue o script, espero que todos gostem.

Ver o post original 300 mais palavras

Categorias:Sem categoria

SELECT WHERE

17 de junho de 2013 Deixe um comentário

André Fercondini

Quando utilizar uma cláusula WHERE em uma SELECT, fique atento à alguns detalhes que fazem grande diferença na performance da QUERY.

Evite passar um campo como parâmetro de função. Isso aumenta as chances do SQLSERVER utilizar um índice.

SELECT *
FROM customer
WHERE SUBSTR(customer.tipo,1,11) = ‘3G customer'

/* com certeza nenhum índice será usado, pois customer.tipo é parâmetro de função
SELECT *
FROM customer
WHERE customer.tipo = ‘3G customer'

/* customer.tipo não é parâmetro de função. Existe chance de um índice ser usado */

Use e abuse do LIKE %

SELECT *
FROM customer
WHERE customer.tipo LIKE ‘3G customer%'

/* customer.tipo não é parâmetro de função, mesmo com LIKE existe chance de um índice ser usado */

Lembre-se que existe o LIKE _

 SELECT * FROM customer WHERE customer.tipo LIKE ‘___customer%' /* customer.tipo não é parâmetro de função, mesmo com LIKE existe chance de um índice ser usado */ /*…

Ver o post original 117 mais palavras

Categorias:Sem categoria