Posts Tagged sql2008

Como desabilitar o Auto Commit em SQL Server Management Studio

Saudações caro leitor,

 

Hoje vou falar de uma informação que pode ser trivial para alguns, irrelevantes para outro mas que em determinadas situações de pressão e temperatura pode ser um desespero para alguns.

 

Talvez vou saiba ou não, mas todos os scripts que executamos no gerenciador SQL Server Management Studio executam dentro de uma transação que tem um AUTO COMMIT, é isso mesmo ele “COMMITA” pra você automaticamente.

 

No dia à dia isso é quase irrelevante mas quando você precisa executar testes em que você deseja que a transação fique pendente, ou mesmo não quer correr o risco de cometer aquele deslize merda mexendo com um banco de dados que todo seu time usa.

 

Você pode ou deveria desabilitar o AUTO COMMIT, como fazer isso, simples…

 

Tools > Options > Query Execution > SQL Server > ANSI > MARCAR a opção SET IMPLICIT TRANSACTIONS

 

AutoCommit

 

Ai você se pergunta, mas e se eu esquecer de dar COMMIT ou ROLLBACK…

 

Quando você fechar a query vai aparecer a seguinte mensagem e basta você responder SIM (COMMIT) ou NÃO (ROLLBACK) e seja feliz.

 

AutoCommitClose

 

Abraço e até a próxima.

 

Referências:

Tags: , , , ,

App_Data ASPNETDB.MDF – Deployment

Recentemente encontrei algumas dificuldades para publicar uma aplicação ASP.NET MVC em um servidor zerado ou praticamente.

Elo só tinha IIS7.5 com ASP.NET 3.5, então restou para mim instalar o ASP.NET 4.0, o SQL Server Express e depois publicar a aplicação.

O maior problema foi com a geração o deploy do aspnetdb.mdf que é o arquivo de banco de dados que contêm a estrutura e dados para o funcionamento do MemberShip que já vem configurado e pronto para uso com o template de aplicação ASP.NET MVC.

 

Caso você tenha problemas com a “geração” do banco de dados na pasta App_Data ele pode ser causado por um dos motivos abaixo.

  • O servidor de banco de dados não está instalado (SQL Server/ SQL Server Express 2005/2008/2008 R2);
  • Você ainda não rodou o comando aspnet_regsql.exe para gerar o banco de dados padrão do ASP.NET no seu servidor de banco de dados;
  • Seu banco de dados pode não está rodando, são dois serviços que devem estar rodando, a instância do banco e o SQL Browser;
  • O datasource da sua string de conexão pode estar errada, errada entenda o nome da instancia está diferente do nome da instancia configurado na máquina onde você está fazendo o deploy;

 

Uma coisa interessante é que nesse último caso, apesar de meu “SQL Server Configuration Manager” dizer que o nome da instância era MSSQLSever que foi o nome que eu havia atribuido na instalação o nome era outro. Hahahaha

Como eu descobri isso ? Depois de sofrer horas sem fim..

Eu habilitei o servidor para aceitar conexões remotas que você pode ver como no link abaixo como fazer, após eu realizei a conexão através do SQL Server Management Studio informando o IP da máquina servidora do banco de dados.

 

Após cliquei com o botão direito em cima do IP que simbolizava a conexão e pedi as propriedades, e para minha supresa só estava o nome da máquina XPTO, e não havia nenhuma menção ao nome da instância.

Então alterei a string de conexão para ficar assim..

<add name=”ApplicationServices” connectionString=”data source=XPTO;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true” providerName=”System.Data.SqlClient” />

Onde XPTO é o nome da máquina onde está instalado o servidor de banco de dados.

 

Habilitando conexões remotas.
http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx

Creating the Application Services Database for SQL Server
http://msdn.microsoft.com/en-us/library/x28wfk74.aspx

 

Enjoy it !

Leandro Ribeiro

Tags: , , , , , ,

Acessando remotamente o banco de dados SQL Server Express

Como configurar o acesso remoto o banco de dados SQL Server Express 2005/2008.

Vamos aos passos:

  1. Primeiro vamos acessar o aplicativo de configuração do SQL Server, vá em Iniciar –> Programas –> Microsoft SQL Server 2008 –> Configuration Tools –> SQL Server Configuration Manager
  2. No SQL Server Configuration Manager, selecione SQL Server Services na janela a esquerda. Se o status do SQL Server Browser não estiver rodando, você tem que configurar e iniciar o serviço. Do contrário vá para o passo 6;
  3. Dê um clique duplo em SQL Server Browser, a janela Properties(Propriedades) irá aparecer. Configure a conta do serviço para Local Service(Serviço Local);
  4. Vá para a aba Service(Serviço) ainda na janela de propriedades, altere o Start Mode(Modo de início) para Automatic(Automático); Depois disso o serviço irá iniciar automaticamente quando o computador iniciar; Clique em OK para confirmar as alterações.
  5. Volte ao SQL Server Configuration Manager, na janela à direita clique com o botão direito sobre o SQL Server Browser e escolha a opção Start(Iniciar) para iniciar o serviço;
  6. Na janela a esquerda expanda SQL Server Network Configuration –> Protocols SQLExpress, você verá que o protocolo TCP/IP está desabilitado;
  7. Clique com o botão direito em cima do protocolo TCP/IP e selecione a opcão habilitar;
  8. Uma janela aparecerá informando que você deve reiniciar o serviço SQL Service para aplicar as alterações;
  9. Na janela à esquerda selecione SQL Server Services; Na janela à direita clique com o botão direito em SQL Server (SQLEXPRESS) e escolha e opcão Restart(Reiniciar), e então o serviço será reiniciado;
  10. Abra o SQL Server Management Studio e conecte ao SQL Server 2005/2008 Express;
  11. Clique com o botão direito em cima da instância do SQL Service e selecione Properties(Propriedades);
  12. Com a janela de Propriedades abertas selecione Security(Segurança) na coluna à esquerda, após na coluna a direita selecione SQL Server and Windows Authentication Mode (SQL Server e Modo de Autenticação Windows);
  13. Será exibido uma janela informando que é necessário reiniciar o serviço para aplicar as alterações;
  14. Clique com o botão direito em cima da instância do SQL Service, e escolha a opção restart(reiniciar);
  15. Após isso seu servidor já estará habilitado para conexões remotas.

Divirta-se.

Para ver esse artigo com as figuras ilustrativas, basta acessar o endereço fonte desse artigo em inglês.

Referências: http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/

Tags: , , , ,

Adicionando usuários no SQL Server

Há quem goste de fazer tudo por interface gráfica, porém ao fazer dessa forma você perde a oportunidade de automatizar tarefas, por exemplo dizer que você tenha que criar 30 usuários, você irá fazer tudo manualmente ?

Eu prefiro script assim toda vez que eu precisar basta mudar o login e pronto, está feito!

Segue um script de exemplo.

Nesse exemplo eu estou criando o usuário e dando acesso de (INSERT, UPDATE, SELECT, DELETE) através das ROLES ‘DB_DATAREADER’ e ‘DB_DATAWRITER’.

Código Exemplo

CREATE LOGIN usuario1
WITH PASSWORD = 'usuario1'
GO 

USE [TesteBD]

CREATE USER usuario1 FOR LOGIN usuario1
WITH DEFAULT_SCHEMA = [TesteBD]
GO

EXEC SP_ADDROLEMEMBER 'DB_DATAREADER', 'usuario1'
EXEC SP_ADDROLEMEMBER 'DB_DATAWRITER', 'usuario1'

GO

Divirta-se!

Tags: , , , ,