WindowsアカウントでSqlLocalDBインスタンスを開始できません


11

私は管理者であり、次のコマンドを実行するだけです。

 sqllocaldb start v11.0

結果:

 Start of LocalDB instance "v11.0" failed because of the following error:
 Error occurred during LocalDB instance startup: SQL Server process failed to sta
 rt.

イベントビューアログイベントID:528

Windows API呼び出しWaitForMultipleObjectsがエラーコードを返しました:575。Windowsシステムエラーメッセージ:{アプリケーションエラー}アプリケーションを正しく開始できませんでした(0x%lx)。[OK]をクリックしてアプリケーションを閉じます。行で報告:3621。

別の(ユーザーと管理者)アカウントを試しましたが、問題はありませんでした。

SQLLocalDB.msiの2012バージョンをアンインストールして再インストールしましたが、うまくいきませんでした。何かアイデアと修正はありますか?


Visual Studioでプロジェクトを開始できなかったため、イベントログに同じエラーが表示されました。を実行して修正しましたsqllocaldb start v11.0
Andre Luus

回答:


12

通常はフォルダの下にあるエラーログを確認する%localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0と、大きなヒントが得られます。

ログとしてバックの管理者アカウント(ない管理者)、およびでpromptコマンドを起動します。次にこれを実行します:Run As Administrator

sqllocaldb share v11.0 MyInstance

それが目標である場合は、このインスタンスでsysadminとしてWindowsアカウントを明示的に追加することができます。そう:

sqllocaldb start MyInstance

次に、SQLCMD、Management Studio、接続しているものに接続して実行します。

CREATE LOGIN [Domain\Username] FROM WINDOWS;
EXEC sp_addsrvrolemember N'Domain\Username', N'sysadmin';

Windowsアカウントとして再度ログインすると、次のコマンドを使用してこのインスタンスを開始できるはずです。

sqllocaldb start MyInstance

(O / Sやアカウントの切り替え方法によっては、既に開始されている場合があります。)

次にDomain\Username、を使用してSQLCMD、SSMSなどを使用して接続できるはず(localdb)\.\MyInstanceです。


1
これは良い回避策ですが、問題を説明して解決することはできません。
Nime Cloud

1
@NimeCloudええと、ええと、多分誰かがより良い「修正」を伴うでしょう。<shrug>
アーロンベルトラン

これは私のために働いた。これは、特定のユーザーがもう付与していない元のインスタンスに関連しており、奇妙なことに、何をしてもアクセス権を付与できません。共有インスタンスは個別のIDとして扱われたため、以前と同じようにアプリが接続できるように「新たな」スタートが与えられました。
Jon P

7

ログオフしてから別の管理者としてログインし、ユーザープロファイルフォルダーの名前を変更しました。Windows 7で自分のアカウントに切り替えました。ユーザープロファイルフォルダーとして、新しく作成されたTEMPフォルダーがあります。写真のように前後のフォルダ構造を比較しました。プラス; LocalDBインスタンスが正常に開始されました。

localdb2.png

ログオフし、ユーザー名を元の名前に変更しました。再度ログに記録し、そのフォルダにジャンプしました:

C:\ Users \ MYUSERNAME \ AppData \ Local \ Microsoft \ Microsoft SQL Server Local DB \ Instances \ v11.0

そしてエラーログを見ました。アクセスが拒否されました!

http://pastebin.com/ASeJGqpw

解決策: 単にv11.0フォルダー内のすべてのファイルを削除します。与える書き込みpermisionv11.0のフォルダを。別のインスタンスを作成できない場合は、Instancesフォルダーへの書き込み権限を付与します。


1
v11.0フォルダーを削除しました。次に、それsqllocaldb.exe c v11.0を再作成するために発行されます(VS2013開発者コマンドラインで、昇格)。これで解決しました。
cheesusはmodsの発砲を止める2015

2

localdbおよびsqlインスタンスが現在の(ドメインユーザー)とは異なるユーザーでインストールされたときにこの問題が発生したため、V11.0フォルダーをクリアし、古いパスからmdfファイルとldfファイルを貼り付けてこれを修正しました。

C:\Users\{inseryouroldusernamehere}\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0

それが役に立てば幸い。




1

ファイルを作成しfix.bat、次のテキストを入れます。

net localgroup Administrators "%userdomain%\%username%" /add

net localgroup Users "%userdomain%\%username%" /add

sqllocaldb d test

rd /s/q "%localappdata%\Microsoft\Microsoft SQL Server LocalDB\Instances\test"

sqllocaldb c test -s

fix.bat管理者として実行し、コンピュータを再起動します。fix.batもう一度実行します。

私はこの方法を使用して、この問題を10回以上解決しました。


0

この質問は現在Google検索結果で他の質問よりも高いため、ここに投稿します。私の場合、LocalDBはIISから起動できませんでした。このSOコメントの提案に従い、C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.configを変更して、アプリケーションプールにsetProfileEnvironment = "true"を追加します。詳細については、完全なIISでのLocalDBの使用:パート1:ユーザープロファイルを参照してください。私は実際にapplicationPoolDefaultsのprocessModelのsetProfileEnvironment属性をtrueに変更しましたが、それも同様に機能したため、新しいすべてのアプリケーションプールで忘れずに行う必要があります。


0

localdbインスタンスに実際の情報がない場合は、単に削除できます。これは、データベースが自動的に初期化される場合(EF DbInitializerまたは移行などを使用して)に適しています。

この問題を解決するために私がしたことは次のとおりです。

  • コマンドプロンプトウィンドウを開く
  • Execute sqllocaldb delete ********デフォルトのインスタンス(通常MSSqlLocalDbまたは問題のあるインスタンス)は空白です
  • 実行する sqllocaldb create ****
  • 実行する sqllocaldb start ****

これは私にとってはうまくいきましたが、あなた自身のリスクでこれを行い、そのインスタンスに貴重なデータがないことを再確認し、正しいインスタンスでアクションを実行していることを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.