Reparar bases de dados SQL Server
Jan 03
Há uns dias ligou-me uma colega de trabalho de uma empresa onde estive há uns anos, perguntando se a podia ajudar num problema relacionado com o MS SQL Server e o software Primavera.
Pelo que consegui perceber dos erros que o Primavera reportava, a base de dados pareceu-me estar com sérios problemas e recomendei um rebuild.
O problema é que não tinha como o fazer pois apesar de ter o MS SQL Server 2000 instalado, não tinha qualquer ferramenta de manutenção.
Aconselhei a instalar o Microsoft SQL Server Management Studio Express pois é gratuito e indiquei os comandos a executar.
As bases de dados, por mais robustas que sejam, precisam sempre de cuidados e manutenção, caso contrário podem começar a acontecer coisas estranhas e podemos vir a perder informação importante.
O que precisamos fazer para reparar uma base de dados MS SQL Server?
- Precisamos de uma ferramenta que nos permita executar querys na base de dados. Caso esta não esteja instalada, podemos instalar o Microsoft SQL Server Management Studio Express por exemplo. É gratuito e compatível com bases de dados SQL Server 2000, 2005 e 2008.
Após a instalação, executamos a aplicação e irá aparecer a seguinte janela:

Colocamos aqui o nome do servidor, tipo de autenticação, user name e password (no caso de seleccionarmos “SQL Server Autentication”).Ligados ao servidor, clicamos em “New Query”:

O que irá abrir uma janela em branco para executarmos as nossas querys. - Para podermos fazer um rebuild da base de dados, é preciso que em primeiro lugar ela esteja em modo single user pelo que para tal é necessário que ninguém esteja a aceder à mesma e após nos certificarmos disso, correr o seguinte comando:
ALTER DATABASE nome-da-base-de-dados SET single_user
- Se este comando for executado com sucesso, podemos então passar à recuperação e para isso usamos o DBCC da seguinte forma:
dbcc checkdb ('nome-da-base-de-dados', repair_rebuild)
Geralmente é o suficiente mas por vezes a base de dados está tão danificada que não é possível reparar sem que para isso tenhamos de perder alguma informação. Se estivermos dispostos a tal, então o comando deverá ser o seguinte:
dbcc checkdb ('nome-da-base-de-dados', repair_allow_data_loss)
- Finamente devemos voltar a colocar a base de dados em modo multi user executando o seguinte:
ALTER DATABASE nome-da-base-de-dados SET multi_user
Resumindo:
ALTER DATABASE nome-da-base-de-dados SET single_user dbcc checkdb ('nome-da-base-de-dados', repair_rebuild) ALTER DATABASE nome-da-base-de-dados SET multi_user
Se tudo correr bem, a nossa base de dados estará de novo operacional.
Boa sorte!
RSS
Jun 26, 2009 @ 11:02:35
vou testar agora o seu codigo…:)
depois digo-lhe se resulta..:P
Jan 25, 2010 @ 22:57:37
Boas, sou nova nestas questões de Base de Dados, e tenho um projecto em mãos de uma base de dados para uma loja/empresa de fotografias. Tenho de elaborar apenas o modelo ER e o modelo MR, e estou a ter algumas dificuldades em certas partes. Vou deixar aqui o meu problema, esperando que me possam ajudar.
problema:
- a empresa possui fotógrafos colaboradores, dos quais se conhece o nome, morada e contacto telf. Esses fotógrafos efectuam cobertura de eventos.
-de cada evento, tem de ficar registado todos fotógrafos que estiveram presentes, bem como a data e a localidade do evento. Em cada evento, o fotógrafo regista fotografias que podem ser classificadas em diferentes categorias e que podem ser posteriormente adquiridas pelos clientes da agência.
- a agência regista os clientes, associando um login e password permitindo que as pessoas registadas acedam apenas aos eventos associados a eles.
-os clientes podem adquirir fotos, adicionando as fotos pretendidas dos eventos autorizados num sistema de carrinho de compras.
-para uma melhor gestão da empresa todas as compras deverão possuir os seguintes estados (“recebida”,”processada”,”finalizada”).
as minhas principais dúvidas são a questão do login e password, e o ultimo ponto, sobre os estado das compras.
Aguardo ansiosamente que me possam ajudar com a maior brevidade possível neste meu problema, pois tenho menos de uma semana para finalizar e entregar este trabalho.
Agradecida,
Ana Morais
Mar 10, 2010 @ 19:09:33
olha perfeito esta de parabens…