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

Propaganda
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
Direitos Autorais
Este é 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 ................................................................................................................1
Uma Introdução ao SQL Server Management Studio Express Edition ................2
Como Iniciar ................................................................................................... 2
Conectando-se aos servidores........................................................................... 2
Organizando seus servidores de bancos de dados .............................................3
Aproveitando todos os recursos do Object Explorer ..........................................4
Criando um banco de dados ..............................................................................5
Criando tabelas .................................................................................................6
Criando um diagrama de banco de dados ..........................................................7
Criando uma área de visão ................................................................................8
Escrevendo scripts com o Query Editor .............................................................9
Entendendo a sintaxe básica de uma consulta ................................................10
Usando o Template Explorer ...........................................................................11
Fundamentos da Administração de Bancos de Dados ......................................11
Gerenciamento de sistemas ............................................................................12
SQL Server Surface Area Configuration Tool ...................................................12
SQL Server Configuration Manager..................................................................13
Serviço SQL Server Browser ............................................................................14
Acesso do usuário aos bancos de dados ..........................................................15
Como Criar Usuários SQL.................................................................................16
Como Criar Logins SQL ....................................................................................17
Preparação para desastres ..............................................................................18
Como fazer o backup e a restauração de bancos de dados locais ....................19
Como criar um dispositivo de backup ..............................................................20
Como automatizar o backup ............................................................................20
Como restaurar o bancos de dados .................................................................21
Administração Avançada de Bancos de Dados .................................................22
Propriedades do servidor ................................................................................ 22
Bancos de dados do sistema ........................................................................... 22
Como compactar o banco de dados e arquivos .................................................. 23
Como anexar e separar bancos de dados ......................................................... 24
Áreas de visão do catálogo de bancos de dados ................................................ 24
DMVs - áreas de visão de gerenciamento dinâmico ............................................ 25
Conexão dedicada do administrador ................................................................ 25
Kill (process id) ................................................................................. 26
Kill(54) ................................................................................................ 26
Activity Monitor ............................................................................................. 26
Servidores ligados ......................................................................................... 27
Replicação .................................................................................................... 27
Microsoft Corporation ©2006
2
Conclusão ........................................................................................................27
Recursos .........................................................................................................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 Iniciar
A 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 servidores
Esta 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.
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
Microsoft Corporation ©2006
Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition
3
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 Properties
Na 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 (timeout) 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
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)
Microsoft Corporation ©2006
4
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 Registrados
Você 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 Explorer
A 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 dados
Existem 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 tabelas
Com 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 Designer
A 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 dados
Um 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ão
Imagine 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 Designer
Você 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 Editor
Até 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 TransactSQL 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.
Figura 8: Formatação da consulta através do Query Editor
Microsoft Corporation ©2006
Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition
11
Para 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 modelo
Ao 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 Modelo
Agora 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 sistemas
Quando 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 Tool
A 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 Remotas
Para 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 Manager
O 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
SQL Server
Configuration Tool do
Configuration Manager
SQL Server
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
SIM
Muda 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 Browser
Quando 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
Microsoft Corporation ©2006
Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition
15
porta ativada que ele encontrar para o SQL Server. O SQL Server 2005 e o SQL Server
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 dados
Esta 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.
Microsoft Corporation ©2006
16
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.
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 (TransactSQL).
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 SQL
Você 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álogo
Para 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
Microsoft Corporation ©2006
Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition
17
Properties não fornece nenhuma funcionalidade para a versão do SQL Server Express
do SQL Server Management Studio.
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 SQL
A 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 Login
Apó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 Roles
Designa 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 Securables
Microsoft Corporation ©2006
18
Selecione privilégios para logins. Para mais informações, veja a página Securables no
MSDN.
Guia Status
Ativa/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 Servidor
Funções no Nível do Banco de Dados
Preparação para desastres
O 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 locais
A 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 hospedados
Os 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
Microsoft Corporation ©2006
Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition
19
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.
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 backup
Um 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 backup
O 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:
Microsoft Corporation ©2006
Gerenciando o SQL Server Express com o SQL Server Management Studio Express Edition
21
< http://www.sqldbatips.com/showarticle.asp?ID=27>
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 dados
Para 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).
Microsoft Corporation ©2006
22

Restaurar sem Recuperação. O banco de dados não está pronto.

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 Dados
Nas 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 servidor
Os 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 sistema
O 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 dados
A 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
dados
Para 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_principals
where 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âmico
O 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 respondendo
6. 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 Monitor
A 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 ligados
Você 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ção
O 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ão
Este 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.mspx
Este 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/enus/dnsse/html/sseoverview.asp
Microsoft Corporation ©2006
28
Segurança no SQL Server Express:
http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnsse/html/ssesecurity.asp?frame=true
Incorporando o SQL Server Express em Aplicações Personalizadas:
http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnsse/html/EmSQLExCustApp.asp?frame=true
Instâncias do Usuário do SQL Server Express:
http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnsse/html/sqlexpuserinst.asp?frame=true
Desenvolvimento na web com o Visual Web Developer 2005 Express Edition e SQL
Server 2005 Express Edition, Parte 1
http://msdn.microsoft.com/library/default.asp?url=/library/enus/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
Download