quarta-feira, 13 de fevereiro de 2013

Order by–Nulos primeiro

 

Como realizar a ordenação de uma massa de dados trazendo primeiro os registros cujo a coluna possui valores nulos?

No exemplo abaixo será ordenado pela coluna de nome do cliente trazendo primeiro os valores nulos.

Oracle:

SELECT CdNotaFiscal, NmCliente
FROM NOTAFISCAL
ORDER BY NmCliente NULLS FIRST

Sql Server \ Sybase:

SELECT CdNotaFiscal, NmCliente
FROM NOTAFISCAL
ORDER BY CASE WHEN NmCliente IS NULL THEN 'A' ELSE NmCliente END

Obrigado

Diferença entre PFILE e SPFILE – ORACLE

 

São arquivos utilizados na inicialização do bando de dados Oracle.

Ao iniciar uma instancia, o Oracle realizada a leitura de “um dos arquivos”  que armazena as características (parâmetros – Memória, caminho de arquivos,etc) do banco de dados.

Como disse anteriormente tanto o PFILE como o SPFILE são arquivos, porém SPFILE é uma versão binária do PFILE. O PFILE é armazenado com o nome init.ora e o SPFILE como spfile.ora.

Ok, e quando o Oracle utiliza um ou outro?

Ao tentar iniciar uma instancia, o Oracle procura inicialmente pelo SPFILE, se não encontrar procure pelo PFILE.

Por se tratar de uma arquivo binário, o SPFILE não pode ser alterado manualmente, mas isso não quer dizer que não possa ser alterado, os parâmetros podem ser alterados através do comando:

Alter system set “parâmetros”  = “valor”;

Alguns parâmetros podem ser alterados dinamicamente, ou seja, sem a necessidade de reiniciar o banco de dados. Para saber quais os parâmetros podem ser alterados dinamicamente execute a seguinte consulta:

Select * from V$Parameter;

As colunas ISSES_MODIFIABLE identifica parâmetros que podem ser alterados em sessão (Alter Session) e a coluna ISSYS_MODIFIABLE identifica parâmetros que podem ser alterados dinamicamente com Alter Session, onde,  quando for IMMEDIATE a alteração passa a ter vigor imediatamente após a alteração, DEFERRED passa a valer para as próximas sessões e FALSE valor estático, ou seja, só ira valer no caso de reinicialização da instancia.

Para verificar a existência e caminho do seu SPFILE:

show parameter SPFILE;

NAME       TYPE    VALUE
---------- ------ ------------------------------
spfile     string C:\ORACLEXE\APP\ORACLE\PRODUCT\11.2.0
SERVER\DBS\SPFILEXE.ORA

Obrigado

terça-feira, 5 de fevereiro de 2013

Sistemas operacionais–SqlServer 2008

 

Quais os sistemas operacionais suportados para cada versão do SqlServer 2008?

SqlServer Express:

  • Windows XP Professional SP2 ou superior
  • Windows Vista Home Basic ou superior
  • Windows XP Home Edition SP2 ou superior
  • Windows XP Home Reduced Media Edition
  • Windows XP Tablet Edition SP2 ou superior
  • Windows XP Media Center 2002 SP2 ou superior
  • Windows XP Professional Reduced Media Edition
  • Windows XP Professional Embedded Edition Feature Pack 2007 SP2
  • Windows XP Professional Embedded Edition para Point of Service SP2
  • Windows Server 2003 Samall Bussiness Server Standard Edition R2 ou superior

SqlServer Developer e Evaluation:

  • Windows XP Professional SP2 ou superior
  • Windows Vista Home Basic ou superior

Sistemas operacionais suportados por todas as versões do SqlServer 2008:

  • Windows Server 2008 Standard ou superior
  • Wndows Server 2003 Standard SP2 ou superior

Obs: Por utilizar recursos .Net Framework, o SqlServer 2008 não é suportado pelo Windows Server 2008 Server Core que não possui tais.

 

Fonte – Kit de treinamento MCTS (Exame: 70-432)

Obrigado

 

Requisitos mínimos para instalação do SqlServer 2008

 

Segue os requisitos mínimos para instalação do SqlServer 2008 em 32 e 64 bits:

 

32 Bits:

Processador – Pentium III ou superior

Velocidade do processador – 1,0 gigahertz (GHz) ou superior

Memória – 512 megabytes (MB)

64 Bits

Processador – Itanium, Opteron Athelon ou Xeon/Pentium com suporte para EM64T

Velocidade do processador – 1,6 gigahertz (GHz) ou superior

Memória – 512 megabytes (MB)

Quanto ao espaço livre para instalação, isso vai depender dos serviços e ferramentas selecionadas no momento da instação.

Obrigado

quarta-feira, 30 de janeiro de 2013

Uso do Log de Transação–Sql Server

 

Informa o percentual de uso do log de transação de todos os banco de dados.

dbcc sqlperf (logspace)

 

Database Name Log Size (MB) Log Space Used (%) Status
master 0,9921875 64,56693267822266 0
tempdb 399,9921875 60,40694046020508 0
msdb 3,9921875 37,279842376708984 0
CURSO 5999,9921875 100,00083923339844 0

4 record(s) selected [Fetch MetaData: 0/ms] [Fetch Data: 0/ms]

 

Obrigado

sexta-feira, 18 de janeiro de 2013

Tamanho do arquivo–Visual Basic 2008

 

Segue código que utilizei no SSIS para verificar o tamanho do arquivo. No meu caso precisa verificar se o arquivo gerado possuia informação, senão o mesmo deveria ser deletado.

 

Código para verificação do tamanho do arquivo:

 

' Microsoft SQL Server Integration Services Script Task

' Write scripts using Microsoft Visual Basic 2008.

' The ScriptMain is the entry point class of the script.

Imports System

Imports System.Data

Imports System.Math

Imports Microsoft.SqlServer.Dts.Runtime

Imports System.IO

<System.AddIn.AddIn("ScriptMain", Version:="1.0", Publisher:="", Description:="")> _

<System.CLSCompliantAttribute(False)> _

Partial Public Class ScriptMain

Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase

Enum ScriptResults

Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success

Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure

End Enum

Public Sub Main()

Dim sReader As StreamReader

Dim strContents As String

sReader = File.OpenText(Dts.Variables("sCaminhoArquivoGerencial").Value & Dts.Variables("sNomeArquivoLote").Value)

strContents = sReader.ReadToEnd()

sReader.Close()

 

If strContents.Length <> 0 Then

    Dts.Variables("sTamanhoArquivo").Value = strContents.Length

Else

     Dts.Variables("sTamanhoArquivo").Value = 0

End If

Dts.TaskResult = ScriptResults.Success

End Sub

End Class

 

Obrigado

quinta-feira, 17 de janeiro de 2013

Como identificar o Isolation Level–Sql Server

 

Para identifcar não só o Isolation Level mas também outros comandos:

DBCC useroptions

Set Option Value
textsize 2147483640
language us_english
dateformat mdy
datefirst 7
lock_timeout -1
quoted_identifier SET
ansi_null_dflt_on SET
ansi_warnings SET
ansi_padding SET
ansi_nulls SET
concat_null_yields_null SET
isolation level read committed

Obrigado