Se você fez download do SQL Express with Advanced antes de 01/06/2006, faça o download do instalador mais recente em http://msdn.microsoft.com/vstudio/express/sql/download. A versão mais recente não causa este problema.
Mensagem Original
NOTA: Com o SQL Express with Advanced liberado após 01/06/2006 este passos não são mais necessários. Se tiver dúvidas sobre a data do seu instalador, baixe o mais recente.
Com a liberação do SQL Server 2005 SP1 a Microsoft liberou também uma nova versão do SQL Server 2005 Express Edition, o SQL Server 2005 Express Edition with Advanced Services. Esta nova edição, além de possuir a ferramenta gráfica SQL Server Management Studio Express para o gerenciamento do SQL Express, fornecer recursos de reporting services e full-text, também pode ser utilizada para atualizar uma instância existente do SQL Express para o SP1.
Diferente das demais edições do SQL Server 2005, o SQL Express não possui um pacote específico de atualização para o SP1, o SP1 do SQL Express está embutido em um novo pacote (SQL Server 2005 Express Edition SP1) o qual pode ser utilizado para atualizar uma instância existente para o SP1 ou ainda para instalar uma nova instância do SQL Express já com o SP1.
O problema que quero destacar aqui é que se você utilizar o pacote de instalação do SQL Express Advanced Services para atualizar uma instalação existente do SQL Express para o SP1, durante a atualização você pode receber a seguinte mensagem de erro:
SQL Server Setup could not connect to the database service for server configuration. The error was: {Microsoft}{SQL Native Client}{SQL Server}Login failed for user ‘sa’. Refer to server error logs and setup logs for more information. For details on how to view setup logs, see “How to View Setup Log Files” in SQL Server Books Online.
Com esse erro o SQL Server não consegue iniciar os serviços e você não conseguirá processeguir com a atualização. Uma mensagem de erro mais detalhada pode ser vista no arquivo Summary.txt (C:|Arquivos de programas|Microsoft SQL Server|90|Setup Bootstrap|LOG) o qual é criado pelo processo de instalação.
Machine: <Nome_da_Maquina>
Product: Microsoft SQL Server 2005
Product Version: 9.1.2047.00
Install: Failed
Log File: C:|Program Files|Microsoft SQL Server|90|Setup Bootstrap|LOG|Files|SQLSetup0003_WINXPPRO_SQL.log |
Last Action: InstallFinalize
Error String: SQL Server Setup could not connect to the database service for server configuration. The error was: {Microsoft}{SQL Native Client}{SQL Server}Login failed for user ‘sa’. Refer to server error logs and setup logs for more information. For details on how to view setup logs, see “How to View Setup Log Files” in SQL Server Books Online.
Error Number: 29515
Para contornar o problema e prosseguir com o processo de atualização siga os passos abaixo:
1. Abra o SQL Server Configuration Manager.
2. Selecione “SQL Server 2005 Service” e selecione a instância do SQL Server.
3. Clique com o botão direito sobre a instância e selecione Properties.
4. Altere a conta de serviço (Log on as:) para “Local System” e click em Apply.
5. Volte para a jenela de erro e tente prosseguir com a atualização
Depois que a atualização for concluída e o serviço reiniciado, volte na jenela de propriedades da instância e reconfigure a conta de serviço(Log on as:) para a conta que estava sendo utilizada anteriormente ou ainda para Network Service.
Como evitar problemas antes de iniciar a atualização.
Para evitar a ocorência de possíveis problemas durante a atualização do SQL Express para o SQL Express Advanced Services, existem duas alternativas:
1. Excluir todos os arquivos do diretório “Template Data” da instalação existente do SQL Express.
A primeira alternativa consiste em remover TODOS os arquivos da pasta “Template Data” da sua instalação atual do SQL Express. Para excluir esses arquivos siga os passos abaixo:
a) No Windows Explorer, navegue até o caminho C:|Program Files|Microsoft SQL Server|MSSQL.1|MSSQL|Template Data.
Se você possuir mais de uma instância do SQL Server instalado, o ID da sua instância do SQL Express pode ser diferente de 1 (MSSQL.1). Nesse caso, abra o SQL Server Configuration Manager, nas propriedades da instância do SQL Server Express (por default é “SQL Server (SQLEXPRESS)“), clique sobre a guia Advanced e localize a propriedade “Instance ID“.
b) Selecine a pasta “Template Data” e copie-a para um local seguro.
c) Após copiá-la para uma local seguro, exclua TODOS os arquivos dessa pasta.
d) Pronto, agora você pode iniciar a atualização do SQL Express para o SQL Express Advanced.
Nota: A instalação do SQL Express Advanced é semelhante à instalação do SQL Express. Na verdade a única diferença está na janela Features Selection a qual no SQL Express Advanced possue mais features. Se tiver dúvidas sobre como instalar o SQL Express, leia o artigo Instalando e Configurando o SQL Server 2005 Express.
Após concluir a atualização com sucesso, você pode excluir a pasta Template Data copiada no passo b).
2. Desinstalar a instância existente do SQL Server Express
A segunda alternativa é desinstalar completamente a instância existente do SQL Express e iniciar uma nova instalação do SQL Express Advanced. Para quem preferir essa alternativa, segue abaixo os passos para remover o SQL Express.
a) No Painel de Controle abra Add/Remove Programs (Adicionar ou remover programas).
b) Selecione Microsoft SQL Server 2005 e clique em Remover.
c) Na lista de instâncias disponíveis, selecione a instância do SQL Express que deseja remover (a instalação default é listada como SQLEXPRESS: Database Engine).
d) Clique em Next e depois em Finish.
e) Concluída a remoção, inicie a instalação do SQL Express Advanced Services.
Note: É importante destacar que durante a remoção do SQL Express você não perderá seus databases. Eles permanecerão dentro da pasta Data (C:|Program Files|Microsoft SQL Server|MSSQL.1|MSSQL|Data). Após realizar a nova instalação do SQL Express Advanced Services você poderá executar um attach usando o utilitário sqlcmd.exe ou ainda o Management Studio Express.
Bom, a grande vantagem em executar a alternativa 1 é que você não precisará reatachar os database após concluir a atualização.

