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

  • 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)
    quarta-feira, 15 de dezembro de 2010 16:39

Todas as Respostas

  • Frederico,

    Não seria mais interessante usar o protocolo SHARED MEMORY?

    Atenciosamente,


    MCTS - SQL Server 2008, Implementation and Maintenance
    • Sugerido como Resposta aniel22 domingo, 29 de janeiro de 2012 20:54
    quarta-feira, 15 de dezembro de 2010 16:52
  • 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

    quarta-feira, 15 de dezembro de 2010 16:57
  • 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
    quarta-feira, 15 de dezembro de 2010 17:28
  • 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.

    quarta-feira, 15 de dezembro de 2010 17:40
  • 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

    quarta-feira, 15 de dezembro de 2010 17:43
  • 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
    quarta-feira, 15 de dezembro de 2010 18:23
  • 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??

    quarta-feira, 15 de dezembro de 2010 18:31
  • 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]
    quarta-feira, 15 de dezembro de 2010 18:52
    Moderador
  • 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
    quarta-feira, 15 de dezembro de 2010 19:03
  • 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

     

     

     

    quarta-feira, 15 de dezembro de 2010 22:31
  • 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
    sexta-feira, 17 de dezembro de 2010 00:22
  • 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]
    terça-feira, 21 de dezembro de 2010 18:25
    Moderador
  • 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.com

    Compê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
    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]
    terça-feira, 28 de dezembro de 2010 17:48
    Moderador