2

我遇到了 SQL 错误

由于启动用户实例的进程失败,无法生成 SQL Server 的用户实例。连接将被关闭。

无论我做什么(是的,我在本地帐户中运行 SQL Express 并删除了本地配置文件中的 SQLExpress 文件夹),Windows 2008 下的用户总是会遇到这个问题,有时在 Vista 上也会遇到这个问题(不是那么频繁)。

我确实需要找到其他想法!

我正在考虑转向SQLite(因为有一个很棒的Provider),甚至改用XML文件。

我所做的只是将 WebPart 管理为每个用户可以修改其可见性和位置的面板。完成编辑后,它会自动保存到用户实例中。

我只需要这个功能,但我找不到删除 SQL Express 2005 用户实例的好方法......有什么想法吗?

非常感谢任何帮助,谢谢

4

2 回答 2

1

我在网络托管公司工作,其中 SQL Express 用于免费托管用户。我们从来没有遇到过这个问题,所以它一定是一些奇怪的参数组合。

我建议做一些探索

  • 使用进程监视器来跟踪发生错误时 SQL Express 试图访问的文件/目录/注册表项。使用此实用程序,您还可以定位访问权限问题。

  • 查看位于 C:\Documents and Settings\user_name\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS 中的 SQL Express 日志以获取更多信息

  • 确保您已启用在 SQL Express 默认实例上运行此用户实例 sp_configure 'user instances enabled', '1'

  • Just for sure I would try to list all user instances and eventually try to connect to one.

    To list user instances connect to default one (usually named COMPUTER\SQLEXPRESS) and run:
    SELECT instance_pipe_name FROM sys.dm_os_child_instances.

    Then use value in instance_pipe_name with sqlcmd utility:
    C:>sqlcmd -S np:\.\pipe\69651E0A-5550-46\tsql\query.

    Now you are connected to user instance. Try to execute some DML.

  • You probably did this but for sure have a look in Windows Event Viewer

If nothing comes up from probing you can always create database using snandard way on SQL Express default instance (connect to server, create database, setup connection string and use it instead of database.mdf in your solution).

于 2010-01-05T19:00:12.277 回答
-1

使用“microsoft sql server compact 3.5”可以为您提供几乎所有正常的 sqlexpress 功能,同时无需安装真正的服务器即可轻松移植。

http://www.microsoft.com/Sqlserver/2005/en/us/compact.aspx

除非您正在做一个大而复杂的应用程序(大量存储过程、触发器等),否则它是一种很好的工作方式。

这是其他一些信息:

http://blogs.msdn.com/stevelasker/archive/2006/11/27/sql-server-compact-edition-under-asp-net-and-iis.aspx

于 2010-01-05T13:03:46.737 回答