2

SQL エラーで困っています

ユーザー インスタンスのプロセスの開始に失敗したため、SQL Server のユーザー インスタンスを生成できませんでした。接続が閉じられます。

私が何をしても (はい、ローカル アカウントで SQL Express を実行し、ローカル プロファイルの SQLExpress フォルダーを削除しました)、Windows 2008 のユーザーは常にこの問題を抱えており、Vista でも時々発生します (それほど頻繁ではありません)。

私は他のアイデアを見つける必要があります!

SQLiteに移行する(素晴らしいProviderがあるため) か、代わりにXMLファイルを使用することさえ考えていました。

私がしているのは、各ユーザーが表示と配置を変更できるパネルとして WebParts を管理することだけです。編集が完了すると、ユーザー インスタンスに自動的に保存されます。

この機能だけが必要ですが、SQL Express 2005 ユーザー インスタンスを削除する適切な方法が見つかりません。何かアイデアはありますか?

どんな助けでも大歓迎です、ありがとう

4

2 に答える 2

1

私は、SQL Express を無料ホスティング ユーザーに使用する Web ホスティング会社で働いていました。この問題は経験したことがないため、パラメーターの奇妙な組み合わせに違いありません。

いくつかの調査を行うことをお勧めします

  • Process Monitorを使用して、エラーが発生したときに 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'

  • 念のため、すべてのユーザー インスタンスを一覧表示して、最終的に 1 つに接続しようとします。

    ユーザー インスタンスを一覧表示するには、既定のインスタンス (通常は COMPUTER\SQLEXPRESS という名前) に接続し、次を実行します
    SELECT instance_pipe_name FROM sys.dm_os_child_instances

    次に、sqlcmd ユーティリティで instance_pipe_name の値を使用します
    C:>sqlcmd -S np:\.\pipe\69651E0A-5550-46\tsql\query

    これで、ユーザー インスタンスに接続されました。DML を実行してみます。

  • おそらくこれを行ったでしょうが、確かにWindowsイベントビューアーを見てください

プローブから何も出てこない場合は、SQL Express の既定のインスタンスで標準的な方法を使用していつでもデータベースを作成できます (サーバーに接続し、データベースを作成し、接続文字列をセットアップして、ソリューションで database.mdf の代わりに使用します)。

于 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 に答える