MCDBA Brasil    
11:45:18
  Job Board


[Todas Oportunidades]
 

  TechNet Experience



 

  Recursos de Pesquisa

Encontrou um erro no SQL Server e não sabe o que ele significa?
Pesquise-o aqui.

Pesquisar na Web
MS Knowledge Base

   Pesquisar no Portal
   Pesquisar nos Fórums
 

  Links Rápidos


Envie bugs e feedback de melhorias para o time do SQL Server.




SQL Server 2008 R2 Books Online
Feature Pack for SQL Server 2008 R2
Download SQL Server Express 2008 R2 (FREE)
Download SQL Server 2008 R2 Trial
Cumulative Update 1 for SQL Server 2008 R2
Lista de Cumulatives Updates liberados para SQL Server 2008 R2
Cumulative Update 8 for SQL Server 2008 SP1
Lista de Cumulatives Updates liberados para SQL Server 2008 SP1
Lista de Cumulatives Updates liberados para SQL Server 2008 (RTM)
Lista de Cumulatives Updates liberados após SQL Server 2005 SP3
SQL Server 2005 SP3
Feature Pack for SQL Server 2008 (Out/08)
SQL Server 2008 Books Online (Out/09)
SQL Server 2008 Books Online (MSDN)
SQL Server 2005/2008 Samples Databases
SQL Server 2005 Features Comparison
Lista de Cumulative Hotfix liberados após SQL 2005 SP2
SQL Management Studio Express SP2
SQL Server 2000 SP4
Cumulative Hotfix for SQL 2000 SP4 (build 2187)
Bugs fixed in SQL 2000 SP4
SQL Server 2005 (Preços e licenciamento)
Upgrading to SQL Server 2005
Upgrading MSDE 2000 to SQL Express 2005
Documentando o Servidor SQL Server
SQL Server 2005 (Requisitos de sistema)
MSDE 2000 Release A Free
SQL Server 2000 Performance Tuning Guide
SQL Server 2005 - Cursos Gratuitos
FAQ Sobre Uso Apropriado do MSDE
Analisando a Performance do Servidor-CheckList
SQL Server 2000 Security Tools
Northwind and Pubs Sample Databases
 

  Menu Principal

Home
 Fale Conosco
 Pesquisas
 Recomende-nos
 Sobre
 
Comunidade:
 Arquivo de Newsletter
 Arquivo de Notícias
 Artigos/Tutoriais
 Estatíticas
 Fórum
 Livro de Visitas
 MCDBA Database
 Newsgroups e Blogs
 Revistas .NET/SQL
      Magazine

 SQL Server FAQ
 Top 10
 Tópicos
 Utilitários
 Web Links
 Webcasts
 
Membros:
 Downloads
 Enviar Notícias
 Hands On Labs
 Mensagens Privadas
 Scripts Sql
 Sua Conta
 

  Publicidade


Anuncie Aqui !!

 

  Artigos

Total de artigos: 599
Total de Categorias : 6


Mais visualizados
1: Instalando e Configurando o SQL Server 2005 Express
[1 comentários]
[146455 visualizações]

2: Livros em .pdf para download
[0 comentários]
[99155 visualizações]

3: SQL Server 2005 - Cursos Gratuitos
[1 comentários]
[33893 visualizações]

4: Microsoft SQL Server 2008 Books Online em Portugês
[0 comentários]
[24911 visualizações]

5: Database Mirroring - Configurando Alta Disponibilidade no Banco de Dados
[5 comentários]
[24470 visualizações]

6: Analisando a Performance do Servidor - CheckList
[5 comentários]
[21289 visualizações]

7: Documentando o Servidor SQL Server
[17 comentários]
[17668 visualizações]

8: Plano de Execução - O que analisar ?
[5 comentários]
[14624 visualizações]

9: Liberado versão final do SQL Server 2005 SP2
[0 comentários]
[13187 visualizações]

10: Importando e Exportando dados do SQL Server 2000
[0 comentários]
[12411 visualizações]


[ Mais conteúdo como este na seção de notícias ]
 

  Scripts SQL

Total de Scripts: 44


Últimas inclusões
1: usp_docservidor_2005

2: sp_truncatetable

3: usp_docservidor

4: fn_dateformat


Mais Baixados
1: usp_docservidor
[Downloads: 1813]

2: Localizando Registos Duplicados
[Downloads: 1770]

3: Localiza maiores tabelas em uma base
[Downloads: 1524]

4: Gera script para inserir dados
[Downloads: 1510]

5: Fazendo Rebuild dos índices
[Downloads: 1486]

6: sp_usrheadblocker
[Downloads: 1484]

7: Derrubar todas as conexões da base
[Downloads: 1476]

8: Cria Job para Backup
[Downloads: 1475]

9: usp_docservidor_2005
[Downloads: 1337]

10: Busca Tabelas sem índices
[Downloads: 1332]

11: Estima tamanho da tabela
[Downloads: 1308]

12: Associar Usuários Orfãos
[Downloads: 1253]

13: sp_usrtrackusers
[Downloads: 1179]

14: Obtendo as configurações de um servidor
[Downloads: 1147]

15: Recuperando base em Suspect
[Downloads: 1117]

16: Monitora Espaço em Disco
[Downloads: 1103]

17: Mostra espaço ocupado pelas tabelas
[Downloads: 1076]

18: Monitora espaço do Database
[Downloads: 1075]

19: Calcula seletividade da coluna
[Downloads: 985]

20: Migrando Logins entre Servidores
[Downloads: 963]

21: Alterar o owner dos objetos
[Downloads: 944]

22: Usando o DBCC SHRINKFILE
[Downloads: 890]

23: sp_usrinputbuffer
[Downloads: 852]

24: Recuperando uma base sem o arquivo de log
[Downloads: 765]

25: Obtendo as configurações de um servidor (Básico)
[Downloads: 706]

26: Administrar Cluster pelo Query Analyzer
[Downloads: 671]

27: Filtra SQL Errorlog
[Downloads: 667]

28: Verificando o Status das Triggers
[Downloads: 608]

29: Excluindo todas as tabelas de uma base
[Downloads: 580]

30: Desatachar bases do servidor
[Downloads: 559]

31: fn_dateformat
[Downloads: 540]

32: Script para alterar o nome lógido da base
[Downloads: 537]

33: Verificando o Status de um Cluster
[Downloads: 532]

34: Cria banco Northwind com dados
[Downloads: 531]

35: Localizar Tabelas Temporárias
[Downloads: 528]

36: Restaurando uma base para discos diferentes
[Downloads: 527]

37: Pesquisa uma dada coluna nas tabelas
[Downloads: 524]

38: Mostra Tabelas por FileGroups
[Downloads: 477]

39: Script para Attachar uma banco de dados
[Downloads: 467]

40: Importa arquivo .trc para uma tabela
[Downloads: 455]

41: sp_truncatetable
[Downloads: 433]

42: Expandindo o tamanho de uma base
[Downloads: 425]

43: Salva Pacotes DTS como arquivo .dts
[Downloads: 404]

44: Cria banco Pubs com dados
[Downloads: 299]


[ Mais conteúdo na seção de Scripts ]
 

  Sample Chapters

Há um problema em visualizar as notícias deste site
 

  SQLServercentral.com

·Sending scheduled SQL query results via HTML e-mail using SSIS
·Introduction to SQL ServerStatistics
·SQLBits - The 7 Wonders of SQL
·Automatic Restart of SSIS packages after Failover or Failure
·SQL Saturday #50 - East Iowa
·Restricting SecurityAdmin on SQL Server 2005/2008
·DMVs for Query Plan Metadata
·SQL Saturday #46 - Raleigh
·Parsing an ADO result set into a comma separated string in SSIS
·Raw Materials - Refugees

Leia mais...
 

  Total Hits

Total de Page views: 9868685
Page views de hoje: 2986
Page views de ontem: 5613
Page views do mês: 29432

Desde 03 de Julho de 2004
 

  Top 10 Links


1: SQLDev.net

2: DevSQL

3: SQL-Server-Performance.com

4: SQLDTS.com

5: SQLServerCentral.com

6: Database Journal

7: DBAzine.com

8: Microsoft SQL Server (Documentação)

9: Site pessoal do Narayana Vyas Kondreddi

10: SearchDatabase.com

 


 
  Artigos: Documentando o Servidor SQL Server
Postado em Domingo, 4 de Fevereiro de 2007 (14:25:00) por niltonpinheiro
 
 
  SQL Server Manter uma documentação completa (lista de logins, databases, user, jobs, etc..) de um servidor SQL Server é um Best Practice que pode nos economizar um tempo precioso na hora de reinstalar ou migrar um servidor, recriar ou copiar logins e databases entre servidores, etc... Neste artigo estarei descrevendo uma stored procedure que você poderá executar diariamente em seus servidores de forma a manter uma documentação completa dos mesmos.

Quanto tempo você poderia ganhar se todas as vezes que for migrar ou reinstalar um servidor ou migrar logins e databases entre servidores você já tiver em mãos todos os scripts dos logins e senhas, attach dos databases, users de cada database, default database de cada login, jobs, devices de backup e linked servers do servidor?

Pois bem, neste artigo estarei descrevendo uma stored procedure que quando executada realiza as seguintes atividades:

1. Gera um script de attach para todos os databases existentes no servidor.
2. Gera um script com todos os logins e suas respectivas senhas.
3. Gera um script com o default database de cada login.
4. Gera um script com todos os devices de backup.
5. Gera um script com todos os jobs.
6. Gera um script com todos os linked servers.
7. Gera um script com todos os usuários e roles (grupos) existentes em cada database.
8. Gera um script com as configuração globais do servidor (sp_configure).

A STORED PROCEDURE

Na verdade todo este trabalho é realizado por um conjunto de 9 stored procedures onde cada uma delas possui uma função específica. A procedure usp_docservidor é a procedure principal e deve ser executada passando como referência o caminho onde os scripts deverão ser armazenados.

Exemplo:

-- Se estiver conectado na base Pubs
EXEC usp_docservidor 'C:/temp/doc_servidor'
ou
-- Se estiver conectado a qualquer outra base diferente da Pubs
EXEC pubs..usp_docservidor 'C:/temp/doc_servidor'

Nota: O script cria todas as procedures na base de dados Pubs. No entanto, as mesmas podem ser criadas em qualquer base de sua preferência. Basta alterar o nome da base no início do script e dentro da procedure principal.

Ao chamar a procedure principal, a mesma chama as outras 8 procedures, também passando como referência o caminho onde os scripts deverão ser armazenados. Embora estas 8 stored procedures sejam chamadas pela procedure principal, elas também podem ser executadas individualmente.

Exemplo:

EXEC pubs..usp_doclogins 'C:/temp/doc_servidor'
EXEC pubs..usp_docusers 'C:/temp/doc_servidor'

O nome das procedures e a função de cada uma delas são descritas abaixo:

1. usp_doclogins: Esta procedure tem como função gerar um script contendo todos os logins e suas respectivas senhas. Para levar estes logins para outro servidor, basta pegar o script e executá-lo no servidor desejado.

2. usp_docusers: Tem como função gerar um script com todos os usuários e roles (grupos) existentes em cada banco de dados. Para levar estes usuários e grupos para uma base em outro servidor, basta pegar o script e executá-lo na base do servidor desejado.

3. usp_docdbs: Cria um script que permitirá executar um attach dos databases existentes no servidor na order em que foram criados, ou seja, mantendo seus dbids. A procedure também cria um script para reassociar os logins a seus respectivos default databases.

O script do arquivo permite executar um attach dos databases, porém os respectivos arquivos .mdf e .ldf dos databases devem estar em suas localizações originais. Caso tenha copiado os arquivo .mdf e .ldf de um database para outro servidor, altere o script de forma a apontar para o caminho (letras do disco onde os arquivos foram copiados) do novo servidor.

4. usp_docdevices: Cria um script que permitirá recriar os devices de backup existentes no servidor. Para recriar estes devices em outro servidor, basta pegar o script e executá-lo no servidor desejado. Neste caso é preciso ficar atendo ao caminho (letra do disco) onde os devices serão recriados.

5. usp_docjobs: Tem como função gerar um script que permitirá recriar todos os jobs existentes no servidor. Para recriar estes jobs em outro servidor, basta pegar o script e executar no servidor desejado. Neste caso, lembre-se de alterar o valor da variável @server_name para o nome do servidor de destino.

6. usp_doclinkedsrv: Tem como função gerar um script que permitirá recriar todos os linked servers existentes no servidor. Para recriar estes linked servers em outro servidor, basta pegar o script e executar no servidor desejado.

7. usp_docconfig: Cria um script que permitirá reconfigurar as configurações globais do servidor de acordo com os últimos valores em execução (sp_configure).

8. sp_hexadecimal: Esta procedure é criada no banco de dados MASTER e é utilizada pela procedure usp_doclogins para recuperar a senha dos logins.

Bom, como se pôde notar, estes scripts simplificam a realização de várias atividades, entre elas:

a) Migrar ou reinstalar um servidor.
b) Migrar logins entre servidores ou simplesmente recriá-los no mesmo servidor.
c) Transferir databases e logins entre servidores.
d) Recriar os jobs, devices de backup e linked servers ou transferí-los para outro servidor.
e) Reassociar logins a seus default databases.
f) Recriar os usuários dos databases.
g) Reconfigurar as configurações globais de um servidor.

ARQUIVOS DE SAÍDA

Cada uma das sete procedures chamadas pela procedure principal usp_docservidor, irá criar dois arquivo no caminho passado como referência. Os arquivos são criados no formato *.err e *_<dia_da_semana>_<servername>.sql, onde <dia_da_semana> é o dia da semana (em inglês) em que o arquivo foi criado e <servername> é o nome do servidor. Isso permite ter armazenado os scripts criados durante toda a semana. O arquivo de erro (*.err) é substituído a cada vez que as procedures são executadas.

Exemplo:

Databases.err
Databases_Monday_WINXPPRO.sql
Databases_Tuesday_WINXPPRO.sql

Nota: Vale lembrar que se a documentação for realizada mais de uma vez ao dia, os arquivos serão substituídos refletindo sempre a última execução.

Os arquivos gerados durante o processo de documentação do servidor são os seguintes:

-- Arquivos gerados pela procedure usp_doclogins
Logins.err ==> contém erros encontrados durante a documentação dos Logins.
Logins_<dia_da_semana>_<servername>.sql ==> contém o script que permitirá recriar ou migrar os Logins.

-- Arquivos gerados pela procedure usp_docusers
Users.err ==> contém erros encontrados durante a documentação dos usuários dos databases.
Users_<dia_da_semana>_<servername>.sql ==> contém o script que permitirá recriar os usuários e grupos existentes em cada database.

-- Arquivos gerados pela procedure usp_docdbs
Databases.err ==> contém erros encontrados durante a documentação dos databases.
Databases_<dia_da_semana>_<servername>.sql ==> contém o script que permitirá executar o attach dos databases.

Defaultdb.err ==> contém erros encontrados durante a documentação dos Default Databases.
Defaultdb_<dia_da_semana>_<servername>.sql ==> contém o script que permitirá associar os logins a seus default databases.

-- Arquivos gerados pela procedure usp_docdevices
DeviceBackup.err ==> contém erros encontrados durante a documentação dos devices de backup (se existir).
DeviceBackup_<dia_da_semana>_<servername>.sql ==> contém o script que permitirá recriar ou migrar os devices de backup

-- Arquivos gerados pela procedure usp_docjobs
Jobs.err ==> contém erros encontrados durante a documentação dos Jobs (se existir).
Jobs_<dia_da_semana>_<servername>.sql ==> contém o script que permitirá recriar ou migrar os Jobs.

-- Arquivos gerados pela procedure usp_doclinkedsrv
LinkedServer.err ==> contém erros encontrados durante a documentação dos Linked Servers (se existir).
LinkedServer_<dia_da_semana>_<servername>.sql ==> contém o script que permitirá recriar ou migrar os Linked Servers.

-- Arquivos gerados pela procedure usp_docconfig
sp_configure.err ==> contém erros encontrados durante a documentação da sp_configure.
sp_configure_<dia_da_semana>_<servername>.sql ==> contém o script que permitirá reconfigurar as configuração globais do servidor.

DOWNLOAD

O script completo com a criação procedures tanto para o ambiente SQL Server 2000 quanto para o SQL Server 2005 pode ser baixado clicando sobre os respectivos links.

Script para SQL Server 2000: usp_docservidor.sql
Script para SQL Server 2005: usp_docservidor_2005.sql

Nota: O script também criará um Job de nome Documenta_Servidor que executará a procedure usp_docservidor diariamente as 17:00hs. Por default o Job salva os scripts e um arquivo de log (Documenta_Servidor.log) no caminho C:/temp/doc_servidor.

UM CENÁRIO

Como visto, existem várias situações onde estes scripts poderão ser úteis no dia-a-dia de um DBA, mas apenas como exemplo, vamos supor um cenário onde o DBA perdeu seu servidor e precisará reinstalá-lo do zero. No entanto, este DBA tem como regra deixar os arquivos das bases em um disco diferente e portanto, os arquivos de suas bases estão íntegros no outro disco.

Suponhamos que o DBA tenha agendado um job para executar o script de documentação todos os dias as 17:00hs. Após a reinstalação do servidor, os scripts podem ser executados na seguinte ordem.

1. Script para recriar os logins.
2. Script para attachar os databases.
3. Script para associar o default database dos logins.
4. Script para recriar os devices de backup, os jobs e os linked server.
5. Script para reconfigurar as configurações globais do servidor sp_configure).

Nota: Como os logins tiveram que ser recriados, pode acontecer de os usuários dentro das bases ficarem em um estado que chamamos de órfãos. Para reassociar os usuários a seus respectivos logins, execute em cada base de dados o script para Associar Usuários Orfãos.

Bom pessoal, como puderam notar os scripts gerados pela documentação possui 1001 utilidades, mas pode ser muito útil principalmente no momento de reinstalação ou migração de um servidor.

A documentação trata do servidor como um todo mas fiquem a vontade para adaptá-lo às suas reais necessidades e não esqueçam de testá-lo em um ambiente de teste antes de colocá-lo em produção.

Qualquer dúvida sobre o script, envie um post para um de nossos fórums.

Um abraços a todos
Nilton Pinheiro

Nota: Review
 
 
  Links relacionados

· Site Oficial do SQL Server
· Site Oficial do MSDE 2000
· SQLServerCentral.com
· SQL-Server-Performance.com
· SQLDTS.com
· Mais sobre SQL Server
· Notícias por niltonpinheiro


As notícias mais lidas sobre SQL Server:
Alterando o Collate Default do Servidor

 

  Classificação de notícias

Votar: 4.76
Votos: 26


Por favor, dedique um segundo de seu tempo para votar nesta notícia:

Excelente
Muito bom
Bom
Regular
Péssimo


 

  Opções


 Imprimir  Imprimir

 Envie esta notícia para uma pessoa  Envie esta notícia para uma pessoa

 

 
 
Tópicos relacionados

SQL Server
 
 


 
 
Os comentários são propriedade de quem os escreveu. Nós não nos responsabilizamos por seu conteúdo.
 
 


 
 
Comentários não podem ser enviados por usuários anônimos, por favor Cadastre-se
 
 


 
 
Re: Documentando o Servidor SQL Server (Pontos: 1)
por jpaulo100 em Segunda-feira, 19 de Setembro de 2005 (18:00:40)
(Informações do usuário | Enviar uma mensagem)

Está dando o erro: Error = [Microsoft][ODBC SQL Server Driver]Unable to open BCP host data-file

Alguma sugestão para corrigir??



 
 


 
 
Re: Documentando o Servidor SQL Server (Pontos: 1)
por mcelo_silva em Segunda-feira, 19 de Setembro de 2005 (19:47:26)
(Informações do usuário | Enviar uma mensagem)
Show de Bola!


 
 


 
 
Re: Documentando o Servidor SQL Server (Pontos: 1)
por kristianor em Segunda-feira, 10 de Julho de 2006 (12:55:28)
(Informações do usuário | Enviar uma mensagem)

Não tem como realizar esta documentação com o SQL Express 2005? Pelo q parece não dá pra criar Jobs!

Alguém poderia me ajudar?

Valeu,

Kristiano



 
 


 
 
Re: Documentando o Servidor SQL Server (Pontos: 1)
por ajog1964 em Segunda-feira, 18 de Junho de 2007 (15:35:11)
(Informações do usuário | Enviar uma mensagem)

Olá Nilton,

gostei muito do seu artigo sobre a documentação de Servidores de SQL.

Experimentei o script num servidor de testes e correu tudo na perfeição. Pelo menos penso que sim. (Não fiz qualquer alteração no script).

Ao correr o script num servidor de produção, alterei a localização dos stored procedures da BD Pubs para outra existente no servidor e alterei o local de escrita dos ficheiros. Obtive alguns erros, nomeadamente, usp_docusers recebendo a seguinte mensagem:

Server: Msg 446, Level 16, State 8, Line 1

Cannot resolve collation conflict for concatenation operation.

Aparentemente o erro repete-se tantas vezes quantas as BD existentes no servidor.

Agradecia alguma sugestão na resolução deste problema.

Grato pela atenção dispensada.

António



 
 


 
 
Re: Documentando o Servidor SQL Server (Pontos: 1)
por junior_dba (junior@ssuark.com.br) em Sexta-feira, 25 de Julho de 2008 (11:13:49)
(Informações do usuário | Enviar uma mensagem) http://www.ssuark.com.br

Esse script e algo que venho precisando a algum tempo. Vou refazer um servidor e estava testando o mesmo na minha maquina mas estou ficando com o seguinte erro:

3.1. Inicio do Processo de Documentação dos usuários

3.2. Gera arquivo texto com os usuários

3.3. Verifica se ocorreu erro no BCP dos usuários

Msg 50000, Level 16, State 1, Procedure usp_docusers, Line 191

Ocorreu erro na documenração dos Usuários

 

O que pode ser? nao consegui resolver o mesmo.

Junior



 
 


 
 
Re: Documentando o Servidor SQL Server (Pontos: 1)
por luiscym em Quinta-feira, 21 de Agosto de 2008 (10:50:17)
(Informações do usuário | Enviar uma mensagem)

Estava com erros nas primeiras execuções, corrigi habilitando XP_CMDSHELL pelo SQL Server Surface Area Configuration e permitindo leitura/gravação para a pasta de destino C:TEMPDOC_SERVIDOR.



 
 


 
 
Re: Documentando o Servidor SQL Server (Pontos: 1)
por oteles em Terça-feira, 16 de Junho de 2009 (12:29:44)
(Informações do usuário | Enviar uma mensagem)
Boa tarde Nilson, Excelente documentação. Parabéns! Está sendo de grande utilidade pois estou migrando o banco para outro servidor. Gostaria de sua ajuda na procedure que roda os usuários de bancos (usp_docusers). Ocorre o erro 451 "Cannot resolve collation conflict for column 1 in SELECT statement." Observei que outros usuários que utilizaram a procedure também relatam o mesmo erro. O que pode ser? Abraços Omar Teles


 
 


 
  Todas os logotipos e marcas registradas são de propriedade de seus respectivos donos.
Sistema de portais PHP-Nuke. Copyright © 2003. PHP-Nuke é um Software Livre liberado sob licença GNU/GPL.
Tempo para gerar esta página: 0.389 segundos