Posts Tagged sqlserver2005

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: , , , , , ,

Adicionando arquivos MDF(SQL Server Database) no Visual Studio 2008

Muitas pessoas já passaram pelo problema de não conseguir inserir arquivos de dados (mdf) na pasta App_Data do Visual Studio 2005/2008 ou até mesmo 2010.

A mensagem que costuma aparecer é a seguinte.

“Connections to sql server files (*.mdf) require sql server express 2005 to function properly. Please verify the installation of the component or download from the url: http://go.microsoft.com/fwlink/?LinkId=49251”

Muitas soluções são propostas pela internet, mas a solução definitiva é mais simples do que se pensa.

Acontece que a maioria das pessoas alteração o nome da instância do SQL Server instalada, por exemplo, quando você instala o SQL Server Express 2008 é costuma colocar o nome da instância como SQLEXPRESS2008 ou quando é o SQL Server Express 2005 fica SQLEXPRESS2005.

Quando você faz essa alteração o Visual Studio “fica cego”, eu acho que isso é uma falha grosseira na implementação do Visual Studio, mas não vamos entrar no mérito da questão, eis a alteração necessária para corrigir o problema.

Tools > Options > Database Tools > Data Connections

Em SQL Server Instance Name digite o nome correto da sua instância, no meu caso ficará SQLEXPRESS2008.

Antes (clique na imagem para ampliar)

Visual Studio 2008 Database Settings

Visual Studio 2008 Database Settings

Depois (clique na imagem para ampliar)

Visual Studio 2008 Database Settings

Visual Studio 2008 Database Settings

Pronto agora você já pode adicionar seus arquivos de dados na pasta App_Data do seu WebSite.

Espero que tenha ajudado!

att.
Leandro Ribeiro

Tags: , , , , , , ,

Como descobrir/exibir as instâncias do SQL Server instaladas

Camaradas,

Recentemente precisei descobrir qual o nome da instância do SQL Server instalada na máquina de um cliente meu, só que meu cliente não sabia como buscar essa informação.

Eu já conhecia o utilitário de linha de comando do SQL Server (sqlcmd) , só que até então só sabia utiliza-ló acessando através do usário e senha.

Pois então eu descobri que existe o parametrô -L, que exibe os nomes das instâncias instaladas na máquina.

Basta então utilizar o prompt de comando, digitando SQLCMD -L e você terá um resultado semelhante a esse.

Refêrencias:
http://mssqlonline.blogspot.com/2009/03/sql-server-find-all-servers-from-local.html
http://blog.sqlauthority.com/2009/03/18/sql-server-find-all-servers-from-local-network-using-sqlcmd/

Até a próxima!
Leandro Ribeiro

Tags: , , ,