Inquiridor
Nao consigo habilitar e criar uma user instance do SQLExpress SP3 através de NamedPipes.

Pergunta
-
Seguinte tenho apenas o SQLExpress 2005 SP3 instalado aqui na minha maquina que é uma Windows 7 Ultimate em português.
Meus serviços da instância SQLServer(SQLEXPRESS) e do SQL Server Browser estão rodando em minha maquina. Quero estabelecer uma conexão apenas local nao é remota nao, através de protocolo Named Pipes que por sinal já esta habilitado pro meu express no SQL Server 2005 Network Configuration. No meu caso aqui quando abro o Management Studio Express o server name que passo é \\.\pipe\MSSQL$SQLEXPRESS\sql\query e me conecto pelo Magement Studio Express Normalmente e talz, mas testando pelo utilitario SSEUtil -childlist recebo o retorno No child instance found. Ou qdo tento neste utilitario o comando SSEUtil -l recebo Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. Ou seja dando uma pesquisada na net percebi que nao tenho uma user instance habilitado aqui na minha maquina e parece que preciso fazer isso pra criar um pipe alive pro express. Lembrandro que so tenho o express no momento instalado aqui, nao tenho o SLQSERVER FULL propriamente dito apenas a versao Express.
Alguém pode me ajudar nisso?- Movido Gustavo Maia Aguiar terça-feira, 28 de dezembro de 2010 16:20 (De:SQL Server - Infra Geral)
Todas as Respostas
-
-
Certo, entao vc quer dizer que devo desabilitar o protocolo Named Pipes e deixar apenas o shared memory habilitado pro express?
Certo, já fiz isso.
Mesmo assim o meu problema relatado acima persiste da mesma maneira. Ao digitar no prompt o comando SSEUtil -l recebo Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. E quando digito SSEUtil -childlist recebo o retorno No child instance found.
Alguem me ajuda a criar essa instância de usuario via pipe??
Estou usando o server name: \\.\pipe\MSSQL$SQLEXPRESS\sql\query
-
Estava dando uma olhada aqui no utilitário e surgiu uma dúvida: Você alterou o nome da instância do SQL Server Express ou deixou o padrão do SQL Server Express (SQLEXPRESS) ?
Atenciosamente,
MCTS - SQL Server 2008, Implementation and Maintenance -
O nome da minha instância é SQLEXPRESS.
E minha connection string da minha aplicação .NET está assim: Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Banco_de_dados_NFe\App_Data\MeuBanco.mdf;Initial Catalog=MeuBanco;Integrated Security=True;User Instance=True
Mas aí recebo sempre o erro: Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance.
-
Só acrescentando quando entro no SQL SERVER 2005 Surface Area Configuration, ao selecionar o minha instância SQLEXPRESS aparece os seguintes nomes do lado direito:
Service Name: MSSQL$SQLEXPRESS
Display Name: SQL Server (SQLEXPRESS)
Service Status:Running
-
Frederico,
É estranho o erro. Testei o utilitário aqui e não obtive problemas. Tente forçar ele enchergar a instancia com "-s .\SQLEXPRESS".
O que você precisa fazer com o SSEUtil não pode ser feito com o SqlCMD? Creio que ele é mais completo.
Atenciosamente,
MCTS - SQL Server 2008, Implementation and Maintenance -
A questão toda é tem algo de errado com minha connection string???
Porque minha aplicação nao se conecta com essa string: Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Banco_de_dados_NFe\App_Data\MeuBanco.mdf;Initial Catalog=MeuBanco;Integrated Security=True;User Instance=True
E quando abro o Management Studio Tools eu me conecto assim \\.\pipe\MSSQL$SQLEXPRESS\sql\query. Isso é uma user instance nao é? Pelo pipe? Entao porque aqui eu consigo me logar no management e atacho meu DB sem problemas via SQL Server Management Studio Express. Mas nao consigo nem me logar passando na minha aplicação .NET a string de conexão acima?
Aonde está a diferença que esta causando o erro??
-
Frederico,
Vou solicitar um favor!!!
Não post a mesma dúvida em fóruns distintos, pois isso atrapalha em muito a nossa organização e acabamos disperdisando a categorização e classificação das dúvidas.
Agradeço a compreensão.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com] -
Frederico,
Se o problema é a String de conexão, a questão envolve outros fatores.
Primeiro: Tipo de autenticação do SQL Server? Misto ou Integrado com o Windows?
Segundo: O banco já está atachado na instância?
Terceiro: Qual classe .net usada? System.Data.SqlClient ?
Esqueça a relação do seu erro de conexão com os pipes nomeados. O padrão utilizado pela string será Shared Memory no caso descrito.
Atenciosamente,
MCTS - SQL Server 2008, Implementation and Maintenance -
Talles,
Primeiro: Minha autenticação é Integrado com Windows.
Segundo: sim o banco ja esta atachado.
Terceiro: A classe é System.Data.SqlClient.
Entendi o ponto do padrão mas nao entendi o porque do erro que recebo ao tentar me conectar por essa connection string:
Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Banco_de_dados_NFe\App_Data\MeuBanco.mdf;Initial Catalog=MeuBanco;Integrated Security=True;User Instance=True
Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance
-
Frederico,
Tente usar uma string de conexão assim: "Data Source=.\\SQLEXPRESS;Initial Catalog=MeuBanco;Integrated Security=SSPI;".
Porque pelo que vi por alto, não há necessidade de usar "AttachDbFilename" porque seu banco já está atachado. "Integrated Security=True" tem de ser "Integrated Security=SSPI" ou "Trusted_Connection=True".
O site http://www.connectionstrings.com/sql-server-2008 tem umas dicas legais de string de conexao.
Obs.: As duas barras no ".\\SQLEXPRESS" existem porque efetuei testes em C#. Verifique as necessidades da linguagem usada.
Atenciosamente,
MCTS - SQL Server 2008, Implementation and Maintenance -
Frederico,
Normalmente se utiliza a opção AttachDbFilename para acessar diretamente o arquivos MDF ao invês de acessar o SQL Server que realizará o acesso ao arquivo.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com] -
Boa Tarde,
Particularmente abomino o recurso "User Instances" do SQL Server Express. Na minha opinião ele só trás problemas e não vejo vantagens em utilizá-lo. Não é a toa que essa opção será descontinuada em breve. Vale a pena lembrar também que "User Instances" não tem nenhuma relação com o conceito de Instâncias do SQL Server.
Acredito que a mudança na string de conexão seja a melhor opção e a que lhe dará menos dores de cabeça. Caso seja necessário utilizá-la. Verifique se o SQL Server Express está com esse recurso habilitado.
exec sp_configure 'user instances enabled', 1 go reconfigure with override go
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.comCompêndio de XML – Preparação para o exame 70-433 - MCTS Microsoft SQL Server 2008 - Database Development
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!1161.entry
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar terça-feira, 28 de dezembro de 2010 16:13
-
Maia,
Sinceramente eu não consigo visualizar em qual cenário o User Instance poderia ser adotado, ainda mais trabalhando em uma aplicação isolado fazendo acesso ao SQL Server Express.
Se não estou enganado no Denali este recurso parece que já foi removido.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]