quinta-feira, 28 de fevereiro de 2013

Como gerar scripts para exportar dados no SQL Server 2008

1. INICIANDO O ASSISTENTE

O assistente deve ser iniciado clicando com o botão direito do mouse sobre o banco onde se encontra a tabela a qual iremos gerar o script. Deve se clicar no banco, não na tabela e escolher as opções Tasks > Generate Scripts.
image

Figura 1 – Iniciando o assistente

Ao fazer isto uma janela de boas vindas pode ser apresentada, dependendo das configurações escolhidas. O assistente é bem sucinto. Você deve realizar a ação desejada e clicar no botão Next. O assistente mantém um painel de navegação à esquerda para você saber em qual etapa está e também poder retornar em um ponto específico da tarefa. A figura 2 demonstra a janela de boas vindas.
image
Figura 2 – Janela de boas vindas do assistente


Na segunda etapa deve ser selecionada a tabela ou as tabelas que devem ser usadas no script.
image
Figura 3 – Selecionando as tabelas

Um ponto importante para se observar é que ao gerar scripts para os dados a ferramenta não cria scripts dos dados das tabelas as quais aquela que foi selecionada depende, ou seja, possui chaves estrangeiras, então, é importante antes disto verificar este detalhe. Isto pode ser feito com o próprio SSMS, basta selecionar a tabela, clicar com o botão direito do mouse e escolher a opção View Dependencies. A figura 4 exibe a janela que é aberta ao fazer isto. Use a opção Object that depend on para mostrar as que dependem da tabela selecionada e Objects on wich <tabela> depends para mostrar aquelas que dependem da tabela selecionada.
image
Figura 4 – Janela para exibição de dependências


O passo seguinte consiste em escolher se o script será gerado em um arquivo, na área de trasnferência do Windows (Clipboard) e assim poder ser colado em qualquer editor de texto ou, ainda, em uma janela de consulta nova do SSMS. A Figura 5 mostra as opções selecionadas.
image
Figura 5 – Escolhendo como o script será gerado


Neste ponto é que se deve escolher entre gerar o script do schema da tabela e assim poder recriá-la no banco de dados de destino, se somente os dados serão gerados ou se tanto o schema como os dados irão para o script. Para fazer isto deve se clicar no botão Advanced que abre uma janela como a que pode ser conferida na figura 6.
image
Figura 6 – Seleção do tipo de script que será gerado


Esta janela possui várias opções principalmente relacionadas com a exportação do schema do banco. Veja qual a mais adequada com sua necessidade.
image
Figura 7 – Tela final do assistente


Com a próxima etapa o assistente executa a geração do script e finaliza copiando para a fonte escolhida.
image
Figura 8 – Tela final do assistente


Uma vantagem é que mesmo após finalizada a geração do script você pode voltar e gerar novamente para outra tabela ou com outras opções.
image
Figura 9 – Resultado final do script gerado

SQL – Gerando Inserts de Tabelas via T-SQL

Apesar do SQL Management Studio Express ser uma ferramenta poderosa  e gratuita, peca em algumas funcionalidades simples que a maioria  das ferramentas free tem. A título de exemplo, as ferramentas do MySQL como o Administrator e o Query Browser são extremente completas, auxiliando inclusive em uma funcionalidade que coloque em questão aqui. A geração de scripts de dados de um banco.

Tá, conseguimos facilmente gerar o script de criação das tabelas, procs, enfim, tudo mais de objetos existentes no banco através SQL Management Studio Express, clicando com o botão direto do mouse sobre o database na janela Object Explorer, indo em Tasks, Generate Scripts… Daí, basta selecionar os objetos a serem gerados e voilá! Está tudo aí, pronto para ser salvo e criado em qualquer outra servidor.
sqlmanagementstudioexpressgeneratescripts
Gerando Scripts do SQL Management Studio

O problema são os dados. Tudo bem, dá até pra fazer um backup em arquivo binário, mas e se o servidor for de acesso restrito? A rotina de backup só funciona apontando para os discos existentes no computador instalado. Com algum esforço, daria para apontar para um diretório da rede, mas nem sempre isso está acessível.

segunda-feira, 25 de fevereiro de 2013

Alterar chave de instalação do SQL2008R2

Sempre que desejamos conhecer um novo software, instalamos a versão de demonstração ( trial ). Em determinado tempo essa versão de demonstração expira e o software é bloqueado ou tem suas funções limitadas.
No caso abaixo tenho uma versão do Microsoft SQL Server 2008 R2 Trial que foi bloqueada.
a1
Após comprar do produto, temos em mãos a chave de instalação ( Product Key ou Serial Number ) que libera novamente o software.

Como instalar a nova chave?
1. Execute novamente o setup.exe
2. No SQL Server Installation Center, selecione Maintenance, depois Edition Upgrade
a2
3. Clique Next duas vezes, então informe a nova chave
a3
4. Continue com Next e Install, aguarde alguns minutos até concluir.

Verificar qual a porta que o SQLSERVER esta utilizando

DECLARE @TcpPort VARCHAR(5)
        ,@RegKey VARCHAR(100)
IF @@SERVICENAME !='MSSQLSERVER'
    BEGIN
        SET @RegKey = 'SOFTWARE\Microsoft\Microsoft SQL Server\' + @@SERVICENAME + '\MSSQLServer\SuperSocketNetLib\Tcp'
    END
    ELSE
    BEGIN
        SET @RegKey = 'SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
    END
EXEC master..xp_regread
    @rootkey = 'HKEY_LOCAL_MACHINE'
    ,@key = @RegKey
    ,@value_name = 'TcpPort'
    ,@value = @TcpPort OUTPUT
SELECT @TcpPort AS PortNumber
        ,@@SERVERNAME AS ServerName
        ,@@SERVICENAME AS ServiceName