web-dev-qa-db-ja.com

現在の管理者ユーザーをSQLServer Express2008に追加します

私は( 'eksperiments'で)両方のWindowsユーザーをSQLExpressインスタンスから削除することに成功しました。 Windows管理者としてログインし、対応するSQLログインを再作成しましたが、sysadmin権限を割り当てることができません。エラーが発生します:

ユーザーにはこのアクションを実行する権限がありません。(MicrosoftSQL Server、エラー:15247)

管理者がこれを行うことができない場合、私は犠牲にする小動物を探し始めるべきですか?

2
ProfK

Windows管理者アカウントに管理者権限がない可能性があります-設定内容によって異なります。権限のあるアカウントでログインするか、saユーザーとしてログインする必要があります。

SQL認証を有効にしていない場合は、レジストリTweakを使用してアクティブ化できます。これが正しい鍵だと思います。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<<instance name>>\MSSQLServer\Loginmode

混合モード(2)に設定する必要がありますが、もちろん、インスタンスをインストールしたときのsaパスワードを知る必要があります。

1
Chris W

Sqlcmd/osqlよりもSSMSを使用する場合は、SQLServerインスタンスのサービスの開始アクセス許可を更新して「-m」または-m「MicrosoftSQLServer ManagementStudio-Query」を含めます。

次に、次のコマンドを使用して、コマンドライン経由で接続します。

sqlcmd -E -S HOSTNAME\INSTANCENAME

または、SSMS経由で接続します。

\\.\pipe\hostname\instancename\sql\query

そして、これを使用してログインとロールを追加します。

CREATE LOGIN [domain\username] FROM WINDOWS;
GO
EXEC sp_addsrvrolemember 'domain\username', 'sysadmin';
GO

サービスの「-m」オプションを削除して、通常どおりに開始できたら。

詳細については、 http://msdn.Microsoft.com/en-us/library/ms188236.aspx を参照してください。

0
califguy4christ

Windows管理者アカウントにアクセスできる場合、ローカルSQLServerインスタンスに対するsysadmin権限の喪失からの回復を自動化するスクリプトがCodePlexにあります。

http://code.msdn.Microsoft.com/addselftosqlsysadmin/