Escolar Documentos
Profissional Documentos
Cultura Documentos
Descrio
Banco de
dados
mestre
master
Registra toda a informaes de nvel de sistema por uma instncia do SQL Server.
Banco de
dados
msdb
msdb
Banco de
dados
modelo
model
Banco de
dados de
recursos
resources
Banco de
dados
tempdb
tempdb
Formato de arquivos:
Dados = .mdf
Logs = .ldf
Multipart Names
When referencing a specific object, you do not always have to specify the server, database, and
schema for the SQL Server Database Engine to identify the object. However, if the object cannot
be found, an error is returned.
To avoid name resolution errors, we recommend specifying the schema name whenever you specify a
schema-scoped object.
To omit intermediate nodes, use periods to indicate these positions. The following table shows the
valid formats of object names.
Description
server.database.schema.object
Four-part name.
server.database..object
server..schema.object
server...object
database.schema.object
database..object
schema.object
object
Tambm til para questes de escalabilidade utilizar o schema.object visto que evita do sistema
procurar em qual schema est o objeto. Imagine cem mil solicitaes.
Arquivo
Descrio
Primrio
Secundrio
Log de
Transaes
Por exemplo, pode-se criar um simples banco de dados nomeado como Vendas que tenha um
arquivo primrio com todos os dados e objetos, e um arquivo de log que tenha as informaes de log
de transao.Como alternativa, pode-se criar um banco de dados mais complexo nomeado
como Pedidos que tenha um arquivo primrio e cinco arquivos secundrios.Os dados e objetos no
banco de dados distribuem-se pelos seis arquivos, e os quatro arquivos de log contm as
informaes do log de transao.
Por padro, os dados e logs de transao so colocados na mesma unidade e caminho.Isto feito
para controlar os sistemas de um nico disco.Porm, isto no o ideal para ambientes de
produo.Recomendamos que voc coloque os dados e arquivos de log em discos separados.
Grupos de arquivos
Todo banco de dados possui um grupo de arquivo primrio.Este grupo de arquivo contm o arquivo
de dados primrio e qualquer um dos arquivos secundrios que no foram colocados em outros
grupos de arquivos.Grupos de arquivos definidos pelo usurio podem ser criados para agrupar os
arquivos de dados para fins administrativos, de alocao de dados e de posicionamento.
Por exemplo, trs arquivos, Data1.ndf, Data2.ndf e Data3.ndf, podem ser criados em trs unidades
de disco, respectivamente, e atribudos ao grupo de arquivos fgroup1.Uma tabela pode ser criada
especificamente no grupo de arquivos fgroup1.As consultas para obter dados da tabela sero
distribudas pelos trs discos; isso melhorar o desempenho.A mesma melhora no desenvolvimento
pode acontecer, usando um nico arquivo criado em um conjunto distribudo RAID (redundant array
of independent disks).Porm, arquivos e grupos de arquivos permitem que novos arquivos sejam
facilmente adicionados aos novos discos.
Todos os arquivos de dados so armazenados nos grupos de arquivos listados na tabela a seguir.
Grupo de
arquivos
Descrio
Primrio
Definido pelo
usurio
Qualquer grupo de arquivos que seja criado especificamente pelo usurio quando o
usurio cria primeiro ou modifica depois o banco de dados.
O grupo de arquivos PRIMRIO o grupo de arquivos padro, a menos que seja alterado usando a
instruo ALTER DATABASE.A alocao para os objetos de sistema e de tabelas permanece no grupo
de arquivos PRIMRIO, e no no novo grupo de arquivos padro.
OBS.: uma boa prtica no usar o grupo PRIMARY para o armazenamento dos dados, pois esse fica
dedicado ao uso de meta dados do BD, para recovery entre outros.
Por exemplo, a instruo ALTER DATABASE a seguir obtm acesso exclusivo para o banco de dados
AdventureWorks2012 aps todos os usurios atuais se desconectarem do banco de dados.
USE master;
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
O exemplo a seguir desanexa o banco de dados Archive criado no exemplo D e o anexa usando a
clusula FOR ATTACH. Archive foi definido para ter vrios dados e arquivos de log. No entanto, como
o local dos arquivos no foi alterado desde sua criao, apenas o arquivo primrio precisa ser
especificado na clusula FOR ATTACH. A partir do SQL Server 2005, todos os arquivos de texto
completo que fazem parte do banco de dados que est sendo anexado sero anexados com o banco
de dados.
USE master;
GO
sp_detach_db Archive;
GO
CREATE DATABASE Archive
ON (FILENAME = 'D:\SalesData\archdat1.mdf')
FOR ATTACH ;
GO
Observao
Os nomes de variveis ou os parmetros de funes e procedimentos armazenados devem obedecer s
regras para identificadores Transact-SQL.
Classes de identificadores
H duas classes de identificadores:
Identificadores normais
Esto em conformidade com as regras de formato de identificadores.Os identificadores
normais no so delimitados quando utilizados em instrues Transact-SQL.
SELECT *
FROM TableX
WHERE KeyCol = 124
Identificadores delimitados
Esto entre aspas duplas (") ou colchetes ([]).Os identificadores que esto em conformidade
com as regras de formato de identificadores podem no ser delimitados. Por exemplo:
SELECT *
FROM [TableX]
--Delimiter is optional.
WHERE [KeyCol] = 124 --Delimiter is optional.
Os identificadores que no esto em conformidade com todas as regras para identificadores
devem ser delimitados em uma instruo Transact-SQL. Por exemplo:
SELECT *
FROM [My Table]
--Identifier contains a space and uses a reserved keyword.
WHERE [order] = 10
--Identifier is a reserved keyword.
Tanto os identificadores normais quanto os delimitados devem conter de 1 a 128 caracteres.Para
tabelas temporrias locais, o identificador pode ter no mximo 116 caracteres.
Most code examples in the Transact-SQL Reference have been tested on servers that are running a
case-sensitive sort order. The test servers were typically running the ANSI/ISO 1252 code page.
Many code examples prefix Unicode character string constants with the letter N. Without
the N prefix, the string is converted to the default code page of the database. This default code page
may not recognize certain characters.
COMANDOS
USE database;
database
o nome do banco de dados ou instantneo de banco de dados para os quais o contexto de
usurio alternado. Os nomes do banco de dados e do instantneo de banco de dados
devem estar de acordo com as regras para identificadores.
PERMISSO: Requer a permisso de CONNECT no banco de dados de destino.
Quando um logon do SQL Server se conecta ao SQL Server, ele automaticamente conectado ao seu
banco de dados padro e adquire o contexto de segurana de um usurio de banco de dados. Se
nenhum usurio de banco de dados foi criado para o logon do SQL Server, o logon se conectar
como guest. Se o usurio de banco de dados no tiver permisso CONNECT no banco de dados, a
instruo USE falhar. Se nenhum banco de dados padro foi atribudo ao logon, seu banco de dados
padro ser definido como master.
GO (Transact-SQL)
Signals the end of a batch of Transact-SQL statements to the SQL Server utilities.
GO [count]
count = Is a positive integer. The batch preceding GO executes the specified number of times.
Exclua todos os instantneos do banco de dados que existam no banco de dados. Para obter
mais informaes, consulte Descartar um instantneo do banco de dados (Transact-SQL).
Se o banco de dados for publicado para replicao transacional, publicado ou com assinatura
para replicao de mesclagem, remova a replicao do banco de dados.
Faa backup do banco de dados mestre. Se o mestre precisar ser restaurado, todos os bancos de
dados que tiverem sido excludos desde o ltimo backup do mestre ainda tero referncias nas
exibies do catlogo do sistema e podero gerar mensagens de erro.
No mximo 32.767 bancos de dados podem ser especificados em uma instncia do SQL Server.
A instruo CREATE DATABASE deve ser executada em modo de autocommit mode (o modo padro
de gerenciamento de transaes) e no permitida em uma transao explcita ou implcita.
O backup do banco de dados mestre deve ser feito sempre que um banco de dados de
usurio for criado, modificado ou descartado.
Ao criar um banco de dados, torne os arquivos de dados to grandes quanto possvel, com
base na quantidade mxima de dados que voc espera ter no banco de dados.
CREATE TABLE
CREATE TABLE new_employees
(
id_num int IDENTITY(1,1),
fname varchar (20),
minit char(1),
lname varchar(30)
);
GERENCIAMENTO DE USUARIOS
VER CONCEITOS DE SCHEMAS
VIEWS
TEMP TABLES
STORED PROCEDURES
TREINAMENTO DE ESCRITA DOS SQLs tanto dos comandos de DDL como DML