pedrogalvaojunior.files.wordpress.com · web viewquando você salva o diagrama do banco de dados,...

31
Gerenciamento do SQL Server Express com o SQL Server 2005 Management Studio Express Edition Artigo Técnico sobre o SQL Server Autores: Eric Brown, Consultor Sênior - Quilogy Inc. Publicado em: Março de 2006 Aplica-se ao: SQL Server 2005 Resumo: Aprenda a gerenciar o SQL Server 2005 Express Edition usando a ferramenta de gerenciamento gráfico gratuita, SQL Server 2005 Management Studio Express Edition (SSMSE). Os desenvolvedores e administradores aprenderão a usar os recursos do SSMSE para simplificar, automatizar e reduzir a complexidade do suporte e administração de bancos de dados. Pré-requisitos: SQL Server 2005 Express Edition CTP de Novembro do SQL Server 2005 Management Studio Express Edition

Upload: doandung

Post on 16-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Gerenciamento do SQL Server Express com o SQL Server 2005 Management Studio Express EditionArtigo Técnico sobre o SQL Server

Autores: Eric Brown, Consultor Sênior - Quilogy Inc.

Publicado em: Março de 2006Aplica-se ao: SQL Server 2005

Resumo: Aprenda a gerenciar o SQL Server 2005 Express Edition usando a ferramenta de gerenciamento gráfico gratuita, SQL Server 2005 Management Studio Express Edition (SSMSE). Os desenvolvedores e administradores aprenderão a usar os recursos do SSMSE para simplificar, automatizar e reduzir a complexidade do suporte e administração de bancos de dados.

Pré-requisitos:SQL Server 2005 Express EditionCTP de Novembro do SQL Server 2005 Management Studio Express Edition

Direitos AutoraisEste é um documento preliminar e pode ser substancialmente alterado antes do lançamento comercial final do software aqui descrito.

As informações contidas neste documento representam o ponto de vista da Microsoft Corporation em relação aos assuntos abordados na data da publicação. Como a Microsoft deve responder às mudanças nas condições de mercado, este material não deve ser interpretado como um compromisso por parte da Microsoft e a Microsoft não poderá garantir a precisão de qualquer informação apresentada após a data da publicação.

Este White Paper é fornecido apenas para fins informativos. A MICROSOFT NÃO OFERECE QUAISQUER GARANTIAS, EXPLÍCITAS, IMPLÍCITAS OU ESTATUTÁRIAS NESTE DOCUMENTO.

O cumprimento de todas as leis pertinentes de direitos autorais é de responsabilidade do usuário. Sem restringir os direitos autorais da marca, nenhuma parte deste documento poderá ser reproduzida, armazenada, ou introduzida num sistema de buscas, ou transmitida de qualquer forma (eletrônica, mecânica, através de fotocópias, ou outra), com qualquer propósito, e sem o consentimento expresso e por escrito da Microsoft Corporation.

A Microsoft pode deter as patentes, as solicitações de patentes, as marcas comerciais, os direitos autorais ou outras propriedades intelectuais pertinentes ao objeto deste documento. Salvo expressamente disposto em qualquer contrato de licença escrito da Microsoft, o fornecimento deste documento não confere a você qualquer licença em relação a essas patentes, marcas comerciais, direitos autorais ou outras propriedades intelectuais.

Salvo indicação em contrário, os exemplos de empresas, organizações, produtos, nomes de domínio, endereços de e-mail, logotipos, pessoas, lugares e eventos aqui mencionados são fictícios e nenhuma associação com qualquer empresa, organização, produto, nome de domínio, endereço de e-mail, logotipo, pessoa, lugar ou evento real é intencional ou deve ser deduzida como tal. 2006 Microsoft Corporation. Todos os direitos reservados.

Microsoft, Visual Studio, e Windows são marcas registradas ou comerciais da Microsoft Corporation nos Estados Unidos e/ou em outros países.

Os nomes das empresas e dos produtos mencionados aqui podem ser marcas comerciais de seus respectivos proprietários.

Overview of SQL Server Management Studio Express Edition 1

ÍndiceÍndice..........................................................................................................1Uma Introdução ao SQL Server Management Studio Express Edition...............2

Como Iniciar................................................................................................................2Conectando-se aos servidores....................................................................................2

Organizando seus servidores de bancos de dados..........................................3Aproveitando todos os recursos do Object Explorer.......................................4Criando um banco de dados..........................................................................5Criando tabelas............................................................................................6Criando um diagrama de banco de dados......................................................7Criando uma área de visão...........................................................................8Escrevendo scripts com o Query Editor..........................................................9Entendendo a sintaxe básica de uma consulta.............................................10Usando o Template Explorer........................................................................11Fundamentos da Administração de Bancos de Dados...................................11Gerenciamento de sistemas........................................................................12SQL Server Surface Area Configuration Tool.................................................12SQL Server Configuration Manager..............................................................13Serviço SQL Server Browser........................................................................14Acesso do usuário aos bancos de dados......................................................15Como Criar Usuários SQL............................................................................16Como Criar Logins SQL...............................................................................17Preparação para desastres.........................................................................18Como fazer o backup e a restauração de bancos de dados locais..................19Como criar um dispositivo de backup..........................................................20Como automatizar o backup........................................................................20Como restaurar o bancos de dados..............................................................21Administração Avançada de Bancos de Dados..............................................22

Propriedades do servidor..........................................................................................22Bancos de dados do sistema.....................................................................................22Como compactar o banco de dados e arquivos........................................................23Como anexar e separar bancos de dados.................................................................24Áreas de visão do catálogo de bancos de dados.......................................................24DMVs - áreas de visão de gerenciamento dinâmico..................................................25Conexão dedicada do administrador.........................................................................25

Kill (process id)............................................................................................26Kill(54).............................................................................................................26

Activity Monitor.........................................................................................................26Servidores ligados.....................................................................................................27

Microsoft Corporation ©2006

Overview of SQL Server Management Studio Express Edition 2

Replicação................................................................................................................27Conclusão..................................................................................................27Recursos.........................................................................................................................27

Uma Introdução ao SQL Server Management Studio Express Edition

O SQL Server 2005 Management Studio Express Edition (SSMSE) oferece ao desenvolvedor e administrador de bancos de dados um conjunto robusto de ferramentas para trabalhar com o Microsoft® SQL Server™ Express Edition. Com base na mesma tecnologia e funcionalidade do SQL Server Management Studio, o SSMSE utiliza as interfaces do usuário do Microsoft Visual Studio® .NET 2005 e o layout IDE para facilitar a mudança do SSMSE e o Visual Studio .NET 2005 e vice-versa. Esta interface conhecida proporciona aos desenvolvedores do .NET maior produtividade e agilidade.Os recursos no SSMSE limitam-se àqueles necessários para o gerenciamento do banco de dados do SQL Server 2005 Express Edition. Apesar de ser possível usar o SSMSE para gerenciar outras edições do SQL Server 2005, não é possível gerenciar componentes do servidor que não estejam no SQL Server Express. Por exemplo, você pode se conectar apenas ao mecanismo do banco de dados relacional usando SSMSE porque os demais serviços não estão instalados com o SQL Server Express.O SSMSE e o SQL Server Management Studio (SSMS) não podem ser instalados juntos. Se múltiplas edições do SQL Server estiverem instaladas em seu computador, você poderá utilizar apenas o SSMS e não o SSMSE.

Como IniciarA próxima seção irá explorar os recursos do SSMSE. Graças à interface gráfica do usuário do SSMSE, muitos recursos podem ser acessados com um simples clique no botão direito do mouse. Você poderá executar diversas tarefas usando caixas de diálogo e scripts. O desenvolvedor iniciante poderá usar caixas de diálogo para executar tarefas básicas.Por design, o SQL Server sempre cria um estado padrão que é seguro e funcional. Alterações feitas às configurações padrões têm como propósito configurar o banco de dados para as diferentes necessidades de usuários e aplicações.Supondo que o SQL Server 2005 Management Studio Express Edition já esteja instalado, vamos começar conectando-o a uma instância.

Conectando-se aos servidoresEsta seção aborda como conectar uma instância ao SQL Server Express. A caixa de diálogo Connect to Server (Conectar ao Servidor) permite aos usuários fornecer tanto credenciais de logon quanto propriedades de conexão específicas. Você pode usá-la para se conectar diretamente ao SQL Server Express.Como método de Autenticação, você pode escolher o SQL Server Authentication ou o Windows Authentication. Por padrão, ela está configurada para usar o Windows Authentication.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 3

Existem duas guias na caixa de diálogo Connect to Server: A guia Login e a guia Connection Properties. Para visualizar a guia Connection Properties, clique no botão Options. Use a guia Connection Properties (mostrada na Figura 1) para dar entrada nas credenciais de autenticação e nome do servidor.

Figura 1: Guia Connection PropertiesNa caixa de diálogo Connect to Server, escolha a qual banco de dados você quer se conectar e o método de rede a ser utilizado (TCP/IP, Pipes nomeados, ou memória compartilhada). Você pode usar a caixa de diálogo para criptografar sua conexão. A caixa de diálogo possui algumas configurações adicionais, tais como o intervaço (time-out) da conexão e o tamanho de pacote da rede.O protocolo de rede padrão é o protocolo da memória compartilhada. Se o banco de dados reside localmente e não recebe conexões através da rede, este é o protocolo correto a ser usado. Se você está se conectando a uma instância remota do Connect to Server, altere o protocolo para TCP/IP.Geralmente, não há necessidade de alterar o tamanho de pacote padrão. Se você sabe que a sua conexão pode levar mais do que 15 segundos para ser concluída, altere o intervalo (time-out) da conexão até que ela funcione. Você pode apertar o botão Test e alterar o intervalo de forma crescente até conseguir se conectar. Você pode configurar a opção de inicialização em Open Empty Environment, que permite ao SSMSE inicializar mais rapidamente. Para fazer isso, no menu Tools , selecione Options. Selecione Environment, e depois General. Após inicializar o SSMSE, clique duas vezes no servidor registrado para conectar-se a ele e não será necessário interagir com a caixa de diálogo.

Organizando seus servidores de bancos de dados

O principal meio de organizar múltiplos servidores de bancos de dados é a janela Registered Servers. A janela Registered Servers lista as instâncias do SQL Server que estão registradas no SSMSE. Assim que a conexão para o servidor do banco de dados

Microsoft Corporation ©2006

4

estiver estabelecida, você verá um número de janelas. É possível analisar o conjunto de conexões de servidor (ou atalhos para servidores, se preferir encarar desta maneira) sob o servidor registrado na janela Registered Servers. Se a janela de Servidores Registrados não estiver visível, a partir do menu, selecione Registered Servers.Você pode criar um grupo de servidores, que pode incluir uma lista de servidores registrados individuais. Em um ambiente host, onde um único servidor de banco de dados possui múltiplas instâncias do SQL Server Express instaladas, os grupos de servidores permitem que você trabalhe entre os servidores de maneira eficiente. Por exemplo: a Figura 2 mostra uma pasta chamada Express Servers. Nesta pasta existem dois servidores.

Figura 2: Janela de Servidores RegistradosVocê pode usar a janela de Servidores Registrados para: Parar, iniciar, pausar ou reiniciar uma instância do SQL Server Express. Conecte-se a uma nova janela de consulta. Conecte-se a uma nova janela do Object Explorer. Abra o SQL Server Configuration Manager.Você também pode alterar as propriedades dos servidores registrados. Para fazer isso, clique com o botão direito no servidor que quiser modificar, e clique em Properties.

Aproveitando todos os recursos do Object Explorer

O Object Explorer é a sua base para trabalhar com um banco de dados. Quando você clica no símbolo de mais ao lado de um banco de dados, apenas os objetos diretamente relacionados com ele são mostrados. Os privilégios do usuário para o login que é usado para conectar ao banco de dados determinam quais objetos estão disponíveis. Se você não estiver inicialmente conectado a um banco de dados, você pode se conectar clicando no botão de conexão no canto esquerdo superior da janela Object Explorer. A Figura 3 mostra os diversos objetos que estão disponíveis. A pasta Bancos de Dados do Sistema, sob a pasta Bancos de Dados, separa os bancos de dados do sistema porque o SQL Server os utiliza para gerenciar processos de bancos de dados.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 5

Figura 3: Object ExplorerA partir do Object Explorer, você pode clicar em qualquer ícone do banco de dados e ver outro conjunto de pastas. Na Figura 4, o banco de dados possui seu próprio conjunto de tabelas, áreas de visão, sinônimos, diagramas de bancos de dados, e mais.

Figura 4: Recursos no nível do banco de dados:Para exibir qualquer objeto armazenado em uma pasta, clique na pasta. A pasta de Programabilidade contém procedimentos armazenados, funções, triggers de bancos de dados, montagens, regras, padrões e tipos definidos pelo usuário. A pasta Tipos na pasta de Programabilidade contém tanto os tipos de dados fornecidos pelo usuário quanto os dados fornecidos pelo sistema. Se você criar um tipo de dado, gerencie-o a partir desta pasta. Uma das melhores maneiras de se tornar familiarizado com o SSMSE é usá-lo para criar um banco de dados e configurar um sistema de administração para o mundo real.

Criando um banco de dadosExistem diversas maneiras de se criar um banco de dados no SQL Server 2005. A minha favorita é clicando com o botão direito na pasta Bancos de Dados e selecionando New Database. A caixa de diálogo New Database será exibida. Esta caixa de diálogo proporciona uma maneira fácil de se especificar configurações de bancos de dados. Existem três guias na caixa de diálogo. A guia General fornece a caixa de texto para o nome do banco de dados. A guia Options contém configurações como auto-shrink (auto-encolhimento), auto-close (auto-fechamento), comportamento do cursor, e valores de estado e recuperação. Na maioria dos casos, você pode deixar estes valores com a configuração padrão. Os valores padrão funcionam para a maioria dos cenários comuns de uso do banco de dados.A Figura 5 é um exemplo da caixa de diálogo New Database.

Microsoft Corporation ©2006

6

Figura 5: Caixa de diálogo New Database

Na guia Filegroups, determine locais para grupos de arquivos.A caixa de diálogo New Database é não-modal, e oferece a opção para script de todas as configurações para uma janela Query Editor, um arquivo, ou o Clipboard. Para visualizar estas opções, clique no botão Script no topo da caixa de diálogo. Ou, simplesmente clique em OK e o banco de dados será criado.Note que o proprietário padrão do novo banco de dados é o usuário que fez o login e que está criando o banco de dados. Você pode inserir o nome do outro login de usuário para que ele seja o proprietário do banco de dados.

Criando tabelasCom o banco de dados pronto, é possível criar tabelas. Se você estiver desenhando uma estrutura de tabela do zero, é possível usar tanto o Database Designer quanto o Table Designer e criar um banco de dados visualmente através de um diagrama de banco de dados clicando com o botão direito na pasta Tabela e selecionando New Table.Você pode trabalhar com um diagrama de banco de dados para construir visualmente os relacionamentos entre as tabelas. Quando você salva o diagrama do banco de dados, as tabelas e objetos são criadas. Esteja ciente – você não pode reverter para uma versão anterior quando estiver trabalhando em um diagrama de banco de dados.Você também pode usar um modelo embutido, acessado a partir do Template Explorer. Para visualizar estes modelos, selecione Templates, a partir do menu View. Os modelos são arquivos padronizados contendo scripts do SQL para ajudá-lo a criar objetos no banco de dados. Os modelos serão analisados posteriormente na seção Usando o Template Explorer deste documento.O método mais direto para criar uma tabela é clicando com o botão direito na pasta Tabelas sob o banco de dados do usuário e selecionando Create table. Isto iniciará o Table Designer. O designer oferece um métodos direto para a criação de objetos no banco de dados. Como mostra a Figura 6, três valores são necessários para criar uma tabela. Estes valores são Column Name, Data Type, e Allow Nulls. Nomeie as colunas usando um nome que ilustra o que a coluna contém. Por exemplo, a coluna contendo o primeiro nome (first name) pode ser chamada Fname. Alguns desenvolvedores recomendam que o nome também contenha algumas informações sobre o tipo de dados e a nulabilidade.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 7

Figura 6: Table DesignerA coluna Allow Nulls específica se o campo ou coluna pode ficar vazio. Os metadados da coluna que não sejam nome da coluna, tipo de dados e nulabilidade podem ser inseridos no painel Propriedades da Coluna na parte inferior da janela do Table Designer.Existem muitos tipos de dados disponíveis no SQL Server 2005. Os tipos mais comuns são varchar, integer, money, e datetime. Ao designer uma tabela, é importante ter um conhecimento dos tipos de dados. Cada tipo de dados armazena valores de forma diferente. Devido ao mecanismo de armazenamento, cada tipo de dado possui características diferentes que afetam o desempenho da consulta. Você verá que o conhecimento sobre os tipos de dados é muito útil para desenvolver aplicações. Selecionar o tipo certo de dado possibilita maior flexibilidade e qualidade dos dados.Para saber mais sobre os tipos de dados, veja os tópicos relacionados no site Microsoft Developer Network (MSDN) - (http://msdn1.microsoft.com/en-us/default.aspx) e http://msdn2.microsoft.com/en-us/library/ms187594.aspx.

Criando um diagrama de banco de dadosUm diagrama do banco de dados é uma representação visual das tabelas e dos relacionamentos entre elas. Os diagramas de bancos de dados são úteis quando trabalhamos com bancos de dados complicados. Eu utilizo os diagramas como uma forma de acelerar o desenvolvimento. Imprimo o diagrama e o utilizo como uma referência para escrever o códigoTransact-SQL.Note que qualquer coisa que possa ser feita no Table Designer também poderá ser feita no Database Designer. Os metadados da coluna podem ser modificados no Database Designer da mesma maneira que no Table Designer.Para criar um diagrama de banco de dados, navegue para a nova pasta chamada Diagramas de Bancos de Dados sob os objetos do banco de dados específicos no Object Explorer. Clique com o botão direito na pasta e selecione New Database Diagram. O designer de diagrama do banco de dados aparecerá.Os diagramas do banco de dados oferecem uma base visual para a leitura de objetos da tabela dentro do banco de dados. A seguinte lista resume o que pode ser feito través da ferramenta do digrama de banco de dados. Adicionar tabelas existentes. Após adicionar uma tabela, dentro do diagrama, clique

em Add Related Tables e a tabela aparecerá no diagrama. Isto ajudará a descobrir o relacionamento entre as tabelas, já que os relacionamentos primário e de chave externa são usados para encontrar tabelas relacionadas.

Criar novas tabelas. Para criar uma nova tabela, clique com o botão direito no diagrama e selecione New table.

Ajuste o layout do diagrama do banco de dados. Isto inclui configurar o layout da página, adicionando comentários de texto, ou escondendo ou exibindo os

Microsoft Corporation ©2006

8

relacionamentos entre as tabelas. Você pode aumentar ou diminuir o zoom do diagrama, exportá-lo e copiá-lo no Clipboard.

Altere a estrutura do banco de dados. Isto inclui adicionar ou remover índices, verificar limitações, e índices XML.

Criando uma área de visãoImagine que uma área de visão seja uma versão armazenada de uma consulta. Você pode usar uma área de visão para gerar relatórios básicos de dados. Por exemplo, imagine que você tenha uma aplicação de e-commerce que recebe pedidos. Você pode usar a área de visão para acessar dados resumidos como um contagem de pedidos ou um cálculo dos produtos vendidos. A maneira mais fácil de se criar uma área de visão é usando o View Designer. Para iniciar o View Designer, clique com o botão direito na pasta Áreas de Visão e clique em New View. O View Designer será aberto na janela Editor de Consulta como mostra a Figura 7.

Figura 7: Criando uma área de visão com o View DesignerVocê verá quatro painéis no View Designer:

Painel de diagramas Painel de critérios Painel do SQL Painel de resultados

O painel do topo é o painel de Diagramas. Ao clicar no botão de seleção você adiciona as colunas ao painel de Colunas e à definição da área de visão.Com o painel de Colunas você pode criar um apelido para uma coluna. Isto pode ser útil se o nome da coluna for difícil para o usuário ou se você quiser manter o nome da coluna em segredo. Os apelidos também possibilitam que os códigos sejam mais legíveis. Além disso, apelidos podem ser úteis em consultas quando as tabelas possuírem chaves primárias sintéticas. Por exemplo, você pode usar um apelido e chamar de employee_id a coluna id (identificação) da tabela de funcionários e department_id pode ser o nome da coluna id para a tabela do departamento.A caixa de seleção Output indica que a coluna retornará os resultados para a janela.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 9

Existem dois tipos de seleção – ascendente e descendente. A ordem de seleção permite seleções múltiplas para que você possa organizar resultados complexos.Para incluir ou excluir valores específicos nos resultados, utilize um filtro. Um exemplo pode ser um filtro que exclua preços nulos ou cancelados.Quando você cria uma área de visão de forma interativa, é útil examinar os dados que serão retornados pela área de visão. Você pode fazer isso clicando no ponto de exclamação vermelho para executar o SQL na área de visão. Os resultados são mostrados no painel Resultados no parte inferior do designer.

Escrevendo scripts com o Query EditorAté agora já criamos um banco de dados, uma tabela, uma área de visão e um diagrama sem escrever uma linha de código sequer. Agora vamos começar a escrever o código. A ferramenta que usamos para escrever códigos é o Query Editor (Editor de Consultas). A seguir, alguns dos recursos do Query Editor. O Query Designer facilita a criação do design de uma consulta no Query Editor. Para

fazer isso, clique com o botão direito dentro da área de texto de um painel de consulta e selecione Design Query in Editor. Isto fará com que uma caixa de diálogo do Query Designer se abra para que você possa usá-la para fazer o design do texto selecionado no Query Editor. O Query Designer é uma ferramenta gráfica similar ao View Designer. Você pode adicionar ou remover tabelas e áreas de visão no painel Diagrama, manipular graficamente os critérios, visualizar (ou editar) o Transact-SQL no painel do SQL, e visualizar os resultados no painel Resultados.

Você pode usar modelos para acelerar o desenvolvimento de declarações Transact-SQL quando você cria objetos do SQL Server. Os modelos são arquivos que incluem a estrutura básica que as declarações Transact-SQL precisam para criar objetos em um banco de dados.

Os resultados da consulta são apresentados em uma grade ou janela de texto de formulário livre.

As informações do showplan estão disponíveis como uma opção de consulta. Um showplan ilustra as etapas lógicas incorporadas no plano de execução de uma declaração Transact-SQL.

Abra uma nova janela de consulta.1. Clique com o botão direito e selecione New Query. Ou, no menu File, selecione

New Query.2. A partir da janela principal, clique no botão nova consulta.3. A janela do Query Editor é muito mais do que uma ferramenta de texto livre. Se

você clicar com o botão direito na janela, verá diversos recursos que podem ser usados. Clique com o botão direito em qualquer lugar do Query Editor para: Cortar, copiar e colar textos. Conectar, desconectar e alterar uma conexão. Abrir um servidor no Object Explorer. Executar declarações do SQL na janela. Exibir um plano de execução estimado. Elaborar uma consulta no editor. Incluir um plano de execução na consulta.

Microsoft Corporation ©2006

10

Incluir estatísticas do cliente na consulta. Produzir resultados de consultas em um texto, grade ou arquivo. Visualizar a janela Propriedades. Alterar opções de consulta.

Entendendo a sintaxe básica de uma consulta

Alguns usuários iniciantes têm dificuldade para escrever consultas. Uma organização mal-feita pode tornar a escrita de consultas ainda mais desafiadora.Nesta seção abordaremos como usar o Query Editor para personalizar a apresentação do texto da consulta.A ordem das colunas na consulta não é importante. Na verdade, você pode esquematizar a consulta no editor da forma que preferir. No entanto, existem diversas formas recomendadas para se fazer a esquematização do texto em declarações em lote. Em declarações curtas, não faz sentido usar comentários a não ser que você esteja compartilhando o fragmento do código ou fazendo uma pergunta. Os comentários fornecem informações sobre o que o código faz. Um pessoa que não familiarizada com o código pode ler os comentários para descobrir o que acontece quando o código é executado. O processador de consultas irá reclamar se os seus comentários não seguirem a sintaxe correta. Você deve usar o símbolo “—“ Os comentários são aplicados com travessões duplos. O seguinte exemplo de código ilustra uma modalidade para a escrita de consultas./*comment out your code—

--when you write a query—always start the batch with a USE directive like—

USE AdventureWorks

--followed by GO

GO

-- Then move onto your statement(s)*/

Você pode ver este exemplo na Figura 8.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 11

Figura 8: Formatação da consulta através do Query EditorPara saber mais sobre a escrita do Transact-SQL, veja as Instâncias do Usuário do SQL Server 2005 Express Editions no MSDN.

Usando o Template Explorer Você pode usar um modelo para acelerar o processo de escrito de códigos.Para abrir o modelo, selecione Template Explorer, a partir do menu View. O Template Explorer contém muitos modelos para a criação de objetos de bancos de dados. Os modelos podem ajudá-lo a compreender o Transact-SQL. Cada modelo contém todos os códigos necessários para a criação de um determinado objeto de banco de dados. Você pode trocar os nomes dos itens no modelo e adicionar seu próprio código ao modelo. Em cada modelo, você encontrará códigos ilustrando a melhor forma de se escrever o Transact-SQL. Muitos modelos são complicados. Se você não souber o que fazer quando começar a usar um modelo, basta clicar no botão mudar parâmetros na janela principal, como mostra a Figura 9.

Figura 9: Mude os parâmetros para um modeloAo clicar neste botão, aparecerá uma caixa de diálogo similar àquela da Figura 10. Basta mudar os nomes e valores conforme necessário. Ao clicar em OK, o parâmetro alterado aparece de volta na janela do Query Editor.

Figura 10: Especifique valores para a janela de Parâmetros do ModeloAgora você já tem um conhecimento básico de como criar objetos básicos para um banco de dados. Nas próximas seções, analisaremos o gerenciamento de bancos de dados e servidores com o uso do SSMSE.

Fundamentos da Administração de Bancos de Dados

Independente de ser um desenvolvedor iniciante ou um administrador de banco de dados em crescimento, você precisa ter algum conhecimento sobre administração de banco de dados. A seguir veremos as funções básicas da administração de bancos de dados.

Microsoft Corporation ©2006

12

Gerenciamento de sistemas. Certifique-se de que os serviços e recursos apropriados estão acessíveis e funcionando. Com o SQL Server 2005, alguns recursos são desligados por padrão. Além disso, o SQL Server Express é configurado para não ouvir a rede via TCP/IP.

Gerenciamento de segurança. Gerenciamento de acesso aos dados. Isto inicia no sistema operacional e finaliza com o banco de dados. Este papel enfoca tópicos de segurança relacionados aos usuários e logins.

Preparação para desastre. Recuperação de erros de usuários e falhas de hardware e software. Este documento recupera o backup de banco de dados, a compreensão de modelos de recuperação, e o trabalho com scripts para permitir a recriação de dados e objetos de bancos de dados.

Nas seguintes seções, analisaremos como lidar com estas tarefas de administração de bancos de dados usando o SQL Server Browser, SQL Configuration Manager, e o SQL Surface Area Configuration. Examinaremos as tarefas de gerenciamento de sistema, as configurações de segurança, e os modelos de recuperação e backup.

Gerenciamento de sistemasQuando o SQL Server Express é instalado usando as configurações padrão, ele está configurado para ser o mais seguro possível. A Microsoft chama esta configuração de segura por padrão. Após o SQL Server Express ter sido instalado, talvez você precise reconfigurar partes do servidor com base na sua expectativa de uso. Por exemplo, por padrão o SQL Server Express permite apenas conexões locais. Se você precisa se conectar ao SQL Server Express através de sua rede, configure-o para permitir conexões remotas. Uma série de ferramentas está disponível para a realização de tarefas de configuração.

SQL Server Surface Area Configuration ToolA Surface Area Configuration Tool é uma ferramenta que oferece uma interface que pode ter um script para a configuração de estados de segurança globais para recursos e serviços do SQL Server. Como o SQL Server 2005 segue os princípios de segurança de seguro por padrão, muitos recursos estão desativados por padrão. Além disso, a não ser que esteja indicado, os serviços que você optar por instalar não serão iniciados automaticamente após a instalação ter sido completada. Use a ferramenta Surface Area Configuration para gerenciar a segurança e configurar o SQL Server. A ferramenta Surface Area Configuration pode ser usada para ativar e desativar serviços e recursos bem como alterar configurações. Ela oferece dois métodos básicos de seleção — View by Instance (Exibir por Instância) e View by Component (Exibir por Componente). Use o método View by Component para acessar rapidamente e gerenciar determinado agrupamento de recursos. O View by Instance permite a você examinar uma instância específica do SQL Server e fazer alterações.Se você planeja que suas aplicações se conectem a uma instância do SQL Server Express através de uma rede, é preciso ativar conexões remotas através do TCP/IP e acionar o SQL Server Browser. Falaremos sobre o SQL Server Browser posteriormente neste documento, na seção serviço SQL Server Browser; aqui observaremos como ativar conexões remotas usando a ferramenta Surface Area Configuration.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 13

Para navegar nas interfaces corretas para trabalho com serviços e conexões remotas, selecione Surface Area for Services and Connections a partir da tela de introdução na ferramenta Surface Area Configuration.Para exibir configurações de conexões remotas, clique em Remote Connections no painel de Recursos da ferramenta Surface Area Configuration conforme mostra a Figura 11. Ative as conexões remotas e o TCP/IP. A Figura 11 ilustra as configurações das conexões remotas configuradas para conexões remotas via TCP/IP. Não utilize os Pipes Nomeados a não ser que você saiba como usar este protocolo.

Figura 11: Permissões RemotasPara finalizar as configurações de conexões remotas, clique em Apply.As aplicações que tentarem se conectar a sua instância devem ser capazes de encontrar o servidor na rede. Para determinar ou ouvir solicitações do SQL Server Express, o SQL Server Browser deve estar ativado. O serviço SQL Server Browser fornece resolução de nomes para as aplicações que tentam se conectar ao SQL Server Express através de uma rede. Para iniciar o SQL Server Browser, clique em SQL Server Browser na ferramenta Surface Area Configuration. Configure o serviço para "On” e então clique em Apply. Se você quiser que o serviço seja ativado automaticamente sempre que o servidor for iniciado, selecione Automatic. Se você selecionar Manual, sempre que o sistema operacional for reiniciado será preciso abrir a ferramenta Surface Area Configuration e iniciar o serviço SQL Server Browser. Aviso: Ao ativar o SQL Server Browser você estará permitindo que conexões da Internet tenham acesso ao seu computador. Por motivos de segurança, é preciso deixar o SQL Server Browser desativado em computadores que estão conectados diretamente à Internet. Se houver apenas uma instâncias do SQL Server em execução em seu computador, a primeira instância se liga automaticamente à porta 1433; esta é a porta padrão à qual os clientes tentam se conectar. Se mais de uma instância do SQL Server estiver em execução e você não quiser executar o SQL Server Browser, é possível designar a cada instância do SQL Server sua própria porta TCP/IP e fazer a conexão diretamente àquela porta.

SQL Server Configuration ManagerO SQL Server Configuration Manager fornece controle detalhado sobre os serviços e protocolos de rede usados pelo SQL Server 2005. O SQL Server Configuration Manager é uma aplicação de snap-in MMC. Ele consolida a utilidade SQL Server 2000 Network Service e a utilidade Services em uma única aplicação. No SQL Server Configuration Manager é possível explicitar alterações em portas e endereços de IP, criar e destruir apelidos para servidores, ativar e desativar protocolos e muito mais. Para gerenciar

Microsoft Corporation ©2006

14

serviços, você pode usar o SQL Server Configuration Manager para iniciar e parar serviços, alterar credenciais de logon, e verificar as configurações de registro do Windows para os serviços. A Tabela 1 compara os recursos do SQL Server Configuration Manager e a ferramenta Surface Area Configuration.

Recurso Surface Area Configuration Tool do SQL Server

SQL Server Configuration Manager

Inicia e bloqueio serviços

SIM SIM

Ativa e desativar recursos

SIM NÃO

Configura clientes da rede

NÃO SIM

Configura clientes nativos

NÃO SIM

Gerencia conexões remotas

SIM SIM

Cria apelidos na rede

NÃO SIM

Configura apelidos NÃO SIMMuda endereços TCP/IP

NÃO SIM

Tabela 1 – Comparação entre o SQL Configuration Manager e a ferramenta Surface Área Configuration

Serviço SQL Server BrowserQuando uma instâncias do SQL Server é iniciada, se o protocolo TCP/IP estiver ativado, uma porta TCP/IP é designada ao servidor. Se o protocolo Named Pipes estiver ativado, o SQL Server faz a escuta em um pipe nomeado específico. Esta porta, ou pipe, é usada por aquela instância específica para trocar dados com as aplicações do cliente. Durante a instalação, a porta TCP 1433 e o pipe \sql\query são designados para a instância padrão. O administrador do servidor pode usar o SQL Server Configuration Manager para alterar estas configurações. Já que apenas uma instância do SQL Server pode usar uma porta ou pipe, números de portas e nomes de pipes diferentes são designados para instâncias nomeadas. Por padrão, quando instâncias nomeadas são configuradas para usar portas dinâmicas, uma porta disponível é designada quando o SQL Server é iniciado. Se quiser, você pode designer uma porta específica para uma instância do SQL Server.No momento de iniciar, o SQL Server Browser inicia e chama a porta 1434 UDP. O SQL Server Browser lê o registro, identifica todas as instâncias do SQL Server no computador, e anota quais portas e pipes nomeados estão sendo utilizados. Quando um servidor possui duas ou mais placas de rede, o , SQL Server Browser retorna a primeira porta ativada que ele encontrar para o SQL Server. O SQL Server 2005 e o SQL Server

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 15

Browser suportam IPv6 e IPv4. Quando os clientes do SQL Server 2005 solicitam recursos do SQL Server, a biblioteca de rede cliente usa a porta 1434 para mandar uma mensagem UDP para o servidor. O SQL Server Browser responde com a porta TCP/IP ou pipe nomeado da instância solicitada. A biblioteca de rede na aplicação cliente então completa a conexão enviando uma solicitação para o servidor usando a porta ou o pipe nomeado da instância desejada.Aviso: Por motivos de segurança, é preciso deixar o SQL Server Browser desativado em computadores que estão conectados diretamente à Internet.

Acesso do usuário aos bancos de dadosEsta seção aborda conceitos básicos de segurança da forma como eles se relacionam aos bancos de dados do SQL Server Express. No SQL Server 2005, existem dois mecanismos de autenticação - o SQL Server Authentication e o Windows Authentication. Os Logins são os principais elementos do servidor que podem se conectar a um determinado servidor. Os logins usam o Windows Authentication ou o SQL Server Authentication para se identificarem ao servidor. O Windows Authentication usa as credenciais da conta Microsoft Windows® (ou do grupo Windows ao qual a conta Windows pertence) que está sendo executada. O SQL Server Authentication usa o nome de usuário e senha fornecido pelo SQL Server fora da infra-estrutura de segurança do Windows. O Windows Authentication é mais de ser usado por usuários de bancos de dados por ser automático; nenhum nome de login ou senha são exigidos. O Windows Authentication é mais seguro porque depende do Windows para manter informações de segurança ao invés do banco de dados de segurança local do SQL Server. A Microsoft recomenda o uso do Windows Authentication, apesar de que há momentos em que é preferível usar o SQL Server Authentication.Os usuários representam o principal elemento de segurança que um login mapeia para um determinado banco de dados. Este mapeamento permite que um determinado login tenha privilégios diferentes em diferentes bancos de dados. Um login pode ser mapeado como o proprietário (dbo) de um banco de dados (com privilégios ilimitados naquele banco de dados) e como um usuário que possui acesso somente para leitura para algumas tabelas em outro banco de dados. Em geral, o fluxo de trabalho para os administradores de bancos de dados é, em primeiro lugar, criar um login e, em seguida, criar usuários para aquele login nos bancos de dados aos quais o login deve dar acesso.Vamos aprofundar nosso conhecimento sobre alguns termos com algumas definições.Login do Windows Authentication: Uma entidade que é membro de um domínio ou máquina local. Esta é uma conta do Windows que pode fazer o logon em um computador. Os logins do Windows Authentication podem ser criados tanto para contas quanto para grupos do Windows. A conta de login do Windows Authentication é mapeada para um login do SQL Server. Login do SQL: Um entidade que pode fazer o logon em uma instância do servidor e que fica dentro de uma instância do SQL Server. Este login pode executar funções tanto no nível do servidor quanto no nível do banco de dados. Usuário SQL: Um usuário de banco de dados com funções e privilégios regulados no nível do banco de dados. Este usuário executa apenas funções no nível do banco de dados.

Microsoft Corporation ©2006

16

A segurança baseada em função é a forma recomendada de se proporcionar acesso aos bancos de dados. Na segurança baseada em função, é possível designar privilégios de objetos para as funções. Você pode então adicionar e remover usuários destas funções. Isto simplifica muito a tarefa de administração da segurança porque você não precisa gerenciar permissões para cada usuário em cada objeto de forma individual. A segurança baseada em função é uma forma eficiente de se lidar com o acesso ao banco de dados quando o número de tabelas, áreas de visão e outros objetos em um banco de dados chegam ultrapassam o número de centenas ou milhares. Para mais informações:Para saber mais sobre o gerenciamento de segurança, veja os seguintes artigos no MSDN.Para saber como criar um usuário, veja CREATE LOGIN (Transact-SQL) Para saber como criar um login, veja CREATE USER (Transact-SQL) . Para saber como alterar um login usando o Transact-SQL, veja ALTER LOGIN (Transact-SQL) . Para mais informações sobre segurança de bancos de dados, veja Considerações de Segurança para Bancos de Dados e Aplicações de Bancos de Dados Esta página também contém links para tópicos importantes.Antes de continuar:Antes de continuar, leia os seguintes artigos do MSDN:Permissões Hierarquia de Permissões Principais Securables – itens que podem ser protegidos

Como Criar Usuários SQLVocê pode criar um novo usuário SQL usando uma caixa de diálogo ou o Transact-SQL. Usaremos o método da caixa de diálogo neste documento. Para começar, navegue até o banco de dados para receber o novo usuário. Clique como botão direito na pasta de segurança e selecione New. Um sub-menu aparecerá como mostra a Figura 12.

Figura 12: Opções da caixa de diálogoPara abrira o Usuário do Banco de Dados – Nova caixa de diálogo – selecione User.A guia General nesta caixa de diálogo fornece caixas de texto para um nome de usuário e login. O login é usado para autenticar o usuário. Você também pode selecionar esquemas e funções do banco de dados para o usuário SQL na guia General. A guia Securables é a mesma da caixa de diálogo de Login do SQL. A guia Extended Properties não fornece nenhuma funcionalidade para a versão do SQL Server Express do SQL Server Management Studio.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 17

Note que não há caixa de diálogo de status. Para Alterar o status de um usuário, abra a caixa de diálogo de Login. Isto é feito abrindo a pasta de segurança, navegando até o usuário e clicando com o botão direito em Properties.

Como Criar Logins SQLA caixa de diálogo do novo Login é uma pasta de segurança no nível do servidor. Você pode encontrar esta pasta examinando a pasta de nós do servidor no Object Explorer. Clique com o botão direito na pasta de segurança para abrir a caixa de diálogo no novo Login. A caixa de diálogo do novo Login fornece informações básicas sobre autenticação. Você pode optar entre o Windows Authentication ou o SQL Server Authentication. O Windows Authentication requer que o usuário do Windows exista em um máquina ou domínio local. Você pode optar pelo SQL Server Authentication para logins do SQL Server que não existam como usuários do domínio (veja a Figura 13).

Figura 13: Caixa de diálogo do novo LoginApós fornecer um nome de usuário, aplique configurações específicas a ele. Vamos analisar algumas das configurações importantes desta caixa de diálogo.Guia Server RolesDesigna funções em todo o servidor para determinado login. Estas são funções poderosas que afetam o acesso a importantes tarefas administrativas. Guia User Mappings Configura o mapeamento do usuário. Os mapeamentos do usuário fornecem a relação entre um login e o usuário SQL correspondente. Selecione os bancos de dados do sistema apenas se o login tiver que acessá-los. Se você estiver usando um esquema, selecione-o. E por último, Selecione as funções do banco de dados. Um registro geralmente terá as funções de bancos de dados fixas db_datareader e db_datawriter. Guia SecurablesSelecione privilégios para logins. Para mais informações, veja a página Securables no MSDN.

Microsoft Corporation ©2006

18

Guia StatusAtiva/desativar o login e o usuário SQL. Em seguida temos os estados que podem ser ajustados para determinado usuário e login.

Grant: Concede a um usuário um privilégio, como, por exemplo, executar uma consulta no banco de dados. Em geral, Grant significa que o login pode se conectar ao servidor.Deny: Revoga um privilégio. Um login é especificamente proibido de conectar ao servidor mesmo se o usuário for um membro de um grupo do Windows que normalmente teria acesso.Enable: O login pode se conectar ao servidor.Disable: O login não pode se conectar ao servidor.

Esta seção abordou a criação de usuários e logins, seu mapeamento, e a concessão ou revogação de acesso ao servidor e banco de dados. Esta é apenas a ponta do iceberg da segurança, e recomendamos que esta área seja estudada mais a fundo. Para mais informações:Para saber mais sobre funções e o que elas fazem, veja os seguintes artigos no MSDN.Funções no Nível do ServidorFunções no Nível do Banco de Dados

Preparação para desastresO objetivo da preparação para desastre é trazer o banco de dados de volta a um estado online após uma falha. Existem diversas condições que podem levar um banco de dados a um estado offline. Esta seção discute como se preparar caso a versão de seu banco de dados seja interrompida ou fique offline. Esta seção aborda especificamente:

Backup de banco de dados Restauração de um banco de dados Uso de scripts para recriar seu banco de dados Uso de scripts para inserir dados em seu banco de dados

A preparação para um desastre pode variar dependendo da hospedagem de um banco de dados (localmente, na Web ou por outra empresa de serviços). Bancos de dados locaisA forma mais comum de se preparar para qualquer desastre é ter uma cópia de backup do banco de dados. Utilizamos os backups para manter cópias dos dados. Fazemos um conjunto completo de scripts para recriar o banco de dados do zero em caso de falha do backup ou se o servidor precisar ser recriado. A seguinte seção aborda os mecanismos de backup e criação de cópias de bancos de dados que precisamos para trazer o banco de dados de volta ao estado online.Bancos de dados hospedadosOs bancos de dados hospedados apresentam um conjunto único de desafios e um número razoável de incógnitas. Ao selecionar um provedor de hospedagem, este serviço provavelmente tentará ser vendido como sendo de alta disponibilidade. Na verdade, não há uma maneira de saber se o backup do SEU banco de dados está, de fato, sendo feito regularmente. Recomendamos a você se informar diretamente sobre como obter versões em script de seu banco de dados. Isto geralmente pode ser feito através do sistema de trouble ticket do serviço.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 19

Como fazer o backup e a restauração de bancos de dados locais

Há três maneiras de se fazer o backup de um banco de dados local: Use a caixa de diálogo Backup. Use um modelo de backup. Destaque o banco de dados e copie os arquivos da pasta de dados para outro local.As seguintes seções examinarão a caixa de diálogo Database Backup.Para abrir a caixa de diálogo Database Backup, clique com o botão direito em Object Explorer, aponte para Tasks e selecione Backup. A figura 14 mostra as configurações básicas para um backup de banco de dados.Existem duas guias na caixa de diálogo Database Backup. Primeiro, falaremos sobre a guia General.Todos os bancos de dados do servidor estão listados na caixa de seleção. Selecione o banco de dados. Você pode optar entre dois tipos de backup. Se este for primeiro backup deste banco de dados, faça um backup FULL. Isto criará um backup completo de todos os dados. A segunda opção, diferencial, cria um backup incremental dos dados. Este tipo é útil para bancos de dados extremamente grandes, onde os arquivos de backup são armazenados em diversas unidades. Você irá notar que há uma janela destino com alguns itens. Por padrão, o SQL Server usa uma pasta de backup no local de instalação padrão do SQL Server como o destino. Também é possível usar mídias de backup que funcionam como um repositório para eles.Agora examinaremos como usar a mídia de backup.A guia Options, mostrada na Figura 14, fornece um mecanismo para o gerenciamento de arquivos de backup. Recomendamos o uso da opção Append to the existing backup set para o SQL Server Express, devido ao tamanho limitado de seu banco de dados. Se você quiser ter apenas um conjunto de backups, e não se importar em manter os backups anteriores, a opção Overwrite all existing backup sets é mais apropriada. Sob o grupo de opções Reliability deve-se selecionar tanto os recursos de confiabilidade (verificar e soma) já que não nada pior do que uma falha de restauração em um backup mal-feito.

Microsoft Corporation ©2006

20

Figura 14: A guia opções na caixa de diálogo Back Up Database

Como criar um dispositivo de backupUm dispositivo de backup é um local de armazenamento pré-definido para backups. Para muitas organizações, ele consiste em uma unidade de fita de remoção que faz o backup automático dos dados. Outro métodos é o uso de um dispositivo de backup. Uma abordagem interessante é usar uma unidade externa ou outra unidade interna como dispositivo de backup. Um sistema de disco de backup separado do servidor proporciona uma meio de transporte do banco de dados de um servidor ou instalação para outro. Para criar um dispositivo de backup, expanda a pasta Server Objects no Object Explorer e clique com o botão direito na pasta Backup Devices. Selecione New Backup Device e forneça um local e nome de arquivo para o dispositivo. Agora, ao criar backups, você pode simplesmente usar o dispositivo e o SQL Server gerenciará os arquivos. Sem um dispositivo, é preciso gerenciar os backups manualmente. Este método é adequado para situações onde a manutenção de um histórico de backups é importante.

Como automatizar o backupO SQL Server Express Edition não contém funcionalidade para o backup de bancos de dados de forma regular ou automática. Além disso, os arquivos registrados e de dados não podem ser copiados enquanto estão sendo usados pelo SQL Server, portanto o backup de arquivos normais não funciona em arquivos de bancos de dados que não estão fechados. Você pode, no entanto, usar o sistema operacional para automatizar o backup. O sistema operacional do Windows possui um programa chamado Task Scheduler. Você pode usá-lo para configurar uma tarefa agendada de backup regular de um banco de dados. Você encontrará um artigo bastante útil no site SQLDBATips.com com exemplos de como automatizar o backup de um banco de dados. Para ver o artigo, acesse este link:< http://www.sqldbatips.com/showarticle.asp?ID=27>

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 21

Os requisitos básicos para a automação do backup são: Criar um script do Transact-SQL. Usar o SQLCMD para executar o script passando-o para o SQLCMD. Criar uma tarefa agendada no Windows. Para abrir o Task Scheduler, abra o

menu Start e selecione Programs, então selecione Accessories, System Tools, Scheduled Tasks.

Outra estratégia para automatizar os backups é usar a caixa de diálogo de backup no SQL Server Express Edition para configurar opções de backup, então fazer o script de comando do backup em um arquivo em vez de executá-lo diretamente em uma caixa de diálogo. Os usuários podem então usar o SQLCMD para executar o script em uma tarefa do Task Scheduler. Ou, se você tiver conhecimento sobre cópias de sombra, é possível fazer o backup do diretório do SQL Server em um sistema de arquivos e alcançar o mesmo resultado. A principal diferença entre copiar os arquivos e executar o backup está relacionada ao replay transacional.

Como restaurar o bancos de dadosPara restaurar um banco de dados, abra o menu Tasks, selecione Restore, e então selecione database. Uma caixa de diálogo Restore (Restaurar) aparecerá. Existem dois painéis neste caixa – General e Options. No painel General, você fornece o destino e a fonte para a operação de restauração.

Figura 15: Caixa de diálogo Database Restore

Na guia Database Restore Options, você pode configurar opções para: Sobrescrever o banco de dados existente. Preservar as configurações de replicação. Notificar antes do armazenamento de cada backup (aplica-se apenas às

operações de restauração de backups múltiplos). Restringir o acesso ao banco de dados após a restauração.

Existem três estados de restauração que afetam o uso do banco de dados quando a operação de restauração é finalizada. Estes são os estados:

Restaurar com Recuperação. O banco de dados está pronto para ser usado (configuração padrão).

Restaurar sem Recuperação. O banco de dados não está pronto. Microsoft Corporation ©2006

22

Restaurar com Espera. Banco de dados somente para leitura. As configurações padrões geralmente permanecem como estão selecionadas.

Administração Avançada de Bancos de DadosNas seguintes seções, examinaremos alguns recursos importantes que todo DBA (database administrator – administrador de bancos de dados) deve conhecer. Examinaremos como acessar configurações de bancos de dados usando propriedades do servidor, áreas de visão de catálogos, e áreas de visão de gerenciamento dinâmico (dynamic management views - DMVs). Introduziremos a conexão dedicada do administrador: uma conexão especial para lidar com um servidor que fora desvirtuado e precisa ser estabilizado. Também examinaremos o Activity Monitor e alguns recursos avançados do SQL Server Express.

Propriedades do servidorOs usuários freqüentemente configuram o SQL Server Express para usar uma quantidade específica de recursos no computador. Para tanto, em Object Explorer, clique como botão direito em um servidor para abrir a janela Server Properties. A configuração mais comumente alterada é Server Memory Options. Para personalizar a quantidade de memória usada pelo SQL Server Express, clique na página Memory e você poderá estabelecer a quantidade mínima de memória usada ou restringir a quantidade máxima.

Bancos de dados do sistemaO SQL Server possui quatro bancos de dados do sistema. Estes bancos de dados do sistema proporcionam uma infra-estrutura única para o SQL Server. Estes bancos de dados são importantes e devem ser incluídos em qualquer plano de recuperação de desastre. Especificamente, é preciso fazer backups do banco de dados master antes de cada alteração na infra-estrutura de bancos de dados.

Master. Registra todas as informações no nível do sistema para uma instância do SQL Server.Model. Usado pelo SQL Server Agent para o agendamento de alertas e tarefas.MSDB. Usado como modelo para todos os bancos de dados criados na instância do SQL Server. Modificações feitas no banco de dados model, tais como tamanho, intercalação, modelo de recuperação, entre outras opções para bancos de dados. Temp. Um espaço de trabalho para objetos temporários ou conjuntos de resultados intermediários. Banco de dados Resource Um banco de dados somente para leitura que contém objetos do sistema incluídos no SQL Server 2005. Os objetos do sistema persistem fisicamente no banco de dados Resource, mas aparecem logicamente no esquema de configuração do sistema de todos os bancos de dados. Este banco de dados está oculto.

Para mais informações:Para mais informações sobre bancos de dados do sistema, veja Bancos de Dados do Sistema no site MSDN.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 23

Para saber mais sobre backup e recuperação de bancos de dados do sistema, veja Backup e Restauração de Bancos de Dados do Sistema.

Como compactar o banco de dados e arquivosÉ possível aumentar o desempenho removendo porções de espaço extra no sistema de disco. Existem dois tipos de compactação. O Database shrinking (“encolhimento” do banco de dados) reduz o espaço preenchido pelo banco de dados. O File shrinking reduz a quantidade de espaço de disco alocado. Para compactar um banco de dados ou arquivo, aponte para um banco de dados na pasta Databases em Object Explorer e clique com o botão direito em Tasks. Selecione Shrink. Então, escolha entre database ou files.Uma destas caixas de diálogo aparecerá: Shrink Database ou Shrink File. A caixa de diálogo Shrink Database pode ser facilmente compreendida. A caixa de diálogo Shrink File, mostrada na Figura 16, é um pouco mais complexa.

Figura 16: Caixa de diálogo Shrink Files Como se pode observar na Figura 16, há uma quantidade significativa de espaço livre no banco de dados - 37%. O SQL Server tem espaço nas unidades para mais armazenamento de dados. Se não for necessário manter espaço de disco, a compactação de arquivos liberará o espaço. A configuração mais importante nesta caixa de diálogo é o grupo de opções Shrink action. Das três opções, Release unused space é a mais simples. Esta opção deve ser usada na maior parte do tempo. A opção Reorganize pages before releasing unused space faz com que o SQL Server reorganize o layout dos dados para atender determinado tamanho. É possível especificar o tamanho na configuração Shrink file to. Não é possível compactar o banco de dados para um tamanho menor do que aquele que ele fisicamente. Portanto, se o tamanho atual de seu banco de dados é 3MB, então o tamanho mínimo será 3MB. A última opção, Empty file by migrating to other files in the same filegroup oferece um meio de descarregar os dados.

Microsoft Corporation ©2006

24

Como anexar e separar bancos de dadosA habilidade para anexar e separar um banco de dados é útil para mover um banco de dados de um servidor para outro. Com o banco de dados separado, é possível copiar o MDF em outro local e anexar um banco de dados. A anexação de um banco de dados é diferente da restauração ou do backup. Trata-se de uma forma simples de mover o banco de dados de um computador para outro. Para transportar um banco de dados usando a funcionalidade de restauração ou backup, seria necessário criar uma versão vazia daquele banco de dados no local de destino, e então restaurá-lo no banco de dados vazio. Pode ocorrer falhas em um backup na rede. Apesar de parecer natural usar uma operação de backup, um processo de separação/cópia/anexação é, na verdade, muito mais rápido. Na Figura 17 veremos como executar uma separação.

Figura 17: Separação da janela Tasks

Áreas de visão do catálogo de bancos de dadosPara melhor proteger os servidores do SQL Server, os catálogos do sistema foram bloqueados. Eles não podem ser alterados. Além disso, os catálogos do sistema não são visíveis de forma abrangente. O SQL Server oferece um conjunto de áreas de visão do SQL que fornecem informações sobre o catálogo do sistema. Estas áreas de visão são somente para leitura e foram projetadas para mostrar os metadados.Para consultar uma área de visão do catálogo, procure a função adequada do sistema e execute a consulta com filtros de declaração SELECT. A convenção de nomeação das áreas de visão do catálogo é fácil de ser usada. É possível executar consultas em relação ao banco de dado master e todos os bancos de dados de usuários. O código abaixo é um exemplo simples de consulta de principais em área de visão de banco de dados.

Select type_desc,name,default_schema_name from sys.database_principalswhere type_desc like 'sql_user'

Para mais informações:Para saber mais sobre as áreas de visão do catálogo de bancos de dados, veja Áreas de Visão de Catálogos (Transact-SQL) no site MSDN.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 25

DMVs - áreas de visão de gerenciamento dinâmicoO SQL Server 2005 oferece mais de 80 novas áreas de visão de gerenciamento dinâmico (dynamic management views - DMVs). As DMVs representam uma nova topologia para solucionar problemas de bancos de dados no SQL Server. Elas estão divididas em grupos que vão desde o nível do servidor até o nível do banco de dados. Áreas de visão especiais são fornecidas para a verificação de montagens .NET, segurança e outros. As DMVs incluem não apenas dados atuais, mas também dados históricos agregados.O SQL Server 2005 ativa um acompanhamento padrão, que, por sua vez, fornece um meio para descobrir o que aconteceu quando o erro ocorreu. Este acompanhamento padrão funciona como uma caixa-preta de avião. As DMVs utilizam o acompanhamento padrão. Isto é o que as torna realmente interessante: os administradores podem rever o acompanhamento padrão após um incidente não planejado e verificar o que aconteceu. Além disso, ao fazer o primeiro logon o SQL Server, os relatórios de resumos da janela principal são criados a partir de dados históricos. As DMVs são, na verdade, áreas de visão de bancos de dados. Elas podem ser encontradas na pasta Views sob cada pasta do Sistema de Bancos de Dados. (O prefixo para as áreas de visão é dm_.) As DMVs são organizadas em cinco categorias gerais. As áreas de visão são categorizadas por fatores relacionados aos ambientes que relatam.

As DMVs com o nome dm_exec_* fornecem informações sobre a execução de módulos e conexões de usuários.

As DMVs que usam convenção dm_os_* relatam informações sobre memória, locks e agendamento de execuções.

As DMVs com a convenção dm_trans_* fornecem informações sobre transações e isolamento.

As DMVs com a convenção dm_io_* fornecem informações para o monitoramento de entrada e saída de disco.

Para um DBA, seria uma negligência não compreender as DMVs. Quando o seu servidor falha e trava, é possível combinar as DMVs com outro novo recurso: a conexão dedicada do administrador (dedicated administrator connection -DAC). Com a DAC e as DMVs, é possível encontrar o processo ou tarefa que apresenta problemas e eliminá-los sem reiniciar o servidor. Para mais informações:Para mais informações sobre DMVs, veja Funções e Áreas de Gerenciamento Dinâmico no site MSDN.

Conexão dedicada do administrador A conexão dedicada do administrador é uma conexão especial que pode ser usada para fazer o logon no SQL Server quando todas as outras conexões falharem. Apenas uma conexão dedicada do administrador pode ser usada em uma instância do servidor. Não use a DAC para conexões gerais com o banco de dados.É possível acessar a DAC apenas usando o SQLCMD no SQL Server Express. Para usar a conexão dedicada do administrador

Microsoft Corporation ©2006

26

4. Use o SQLCMD para se conectar ao banco de dados. O SQLCMD – um comando fornece a conexão de linha de comando.

5. Para acionar o DAC, é preciso ativar o trace flag 7806. Para tanto, execute os seguintes comandos Transact-SQL a partir da janela Query Editor ou envie o mesmo comando usando o SQLCMD.

USE Master

DBCC TRACEON (7806)

GO

Se um servidor SQL Server Express não estiver respondendo6. Para usar o SQLCMD para fazer o logon no servidor, execute o seguinte comando:

C:\ SQLCMD –Sadmin:<instancename> - D master

7. Com a conexão estabelecida, execute a DMV para encontrar as sessões atuais:select * from sys.dm_exec_sessions

Você pode ainda executar uma versão mais refinada da consulta anterior para descobrir quais sessões estão travadas ou demorado mais. O seguintes código é um exemplo.Select session_id, total_elapsed_time,memory_usage,status

from sys.dm_exec_sessions

Assim que tiver determinado qual processo apresenta falha, você pode finalizá-lo. Isto é feito através do comando Kill no Transact-SQL.Kill (process id)

Por exemplo:Kill(54)

Para mais informações:Para saber mais sobre o comando Kill, veja KILL (Transact-SQL) no site MSDN.

Activity MonitorA janela Current Activity no SQL Server 2005 Management Studio Express Edition exibe, de forma gráfica, informações sobre:

Locks e conexões atuais do usuário. Locks, status, número de processos e comandos que usuários ativos estão

executando. Os objetos que estão travados e os tipos de locks (travas) presentes.

Se você for o administrador do sistema para o banco de dados, pode visualizar informações adicionais sobre um processo selecionado ou finalizá-lo. A janela Current Activity limita-se ao nível do banco de dados.

Microsoft Corporation ©2006

Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition 27

Servidores ligadosVocê pode ligar dois servidores de bancos de dados que estão fisicamente separados. Isto pode ser feito para, por exemplo, compartilhar dados ou executar uma ação em um servidor que seja baseada em uma ação de outro servidor. Os servidores ligados oferecem um mecanismo para funcionarem de forma segura. Use a caixa de diálogo Linked Server para configurar mapeamentos de login e usuário entre os dois servidores, e para se conectar a uma fonte de dados for a do SQL Server. É possível, por exemplo, se conectar ao banco de dados do Microsoft Access. Um dos principais usos para servidores ligados é a importação de dados para o SQL Server Express. Assim que uma configuração do servidor conectado for criada, os usuários podem enviar consultas de tabelas para copiar os dados em seus servidores do SQL Server. Para mais informações:Para uma visão geral sobre este tópico, veja Servidores Ligados no site MSDN.

ReplicaçãoO SQL Server Express Edition possui capacidades limitadas de replicação. Um banco de dados SQL Server Express pode ser assinante apenas de uma publicação do SQL Server Workgroup, Standard, ou Enterprise Edition. Você pode usar a caixa de diálogo Replication Subscription para configurar o relacionamento. Como o suporte para a replicação do SQL Server não é instalado por padrão, é preciso executar o programa de configuração e selecionar Replication na caixa de diálogo Advanced Options. Para mais informações:Para uma visão geral da replicação, veja Implementando a Replicação no site MSDN.Para mais informações sobre replicação de dados com o SQL Server Express, veja Replicando Dados para o SQL Server Express.

ConclusãoEste documento aborda os fundamentos do SQL Server 2005 Management Studio Express Edition. Abordamos a criação de objetos e tarefas administrativas básicas do banco de dados. Também analisamos aspectos da segurança e preparação para desastre. Com este conhecimento, você está pronto para gerenciar o SQL Server Express.

Para mais informações:http://www.microsoft.com/technet/prodtechnol/sql/default.mspxEste documento lhe foi útil? Envie-nos seus comentários. Em uma escala de 1 (fraco) a 5 (excelente), como você classificaria este documento?

Recursos Visão geral do SQL Server Express:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsse/html/sseoverview.asp

Segurança no SQL Server Express:

Microsoft Corporation ©2006

28

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsse/html/ssesecurity.asp?frame=true

Incorporando o SQL Server Express em Aplicações Personalizadas:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsse/html/EmSQLExCustApp.asp?frame=true

Instâncias do Usuário do SQL Server Express:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsse/html/sqlexpuserinst.asp?frame=true

Desenvolvimento na web com o Visual Web Developer 2005 Express Edition e SQL Server 2005 Express Edition, Parte 1http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsse/html/VWD_SSE.asp?frame=true

Fórum do MSDN para o SQL Server Management Studio:http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=84&SiteID=1

Blog da equipe do SQL Server Express:http://blogs.msdn.com/sqlexpress/default.aspx

Microsoft Corporation ©2006