私は( 'eksperiments'で)両方のWindowsユーザーをSQLExpressインスタンスから削除することに成功しました。 Windows管理者としてログインし、対応するSQLログインを再作成しましたが、sysadmin権限を割り当てることができません。エラーが発生します:
ユーザーにはこのアクションを実行する権限がありません。(MicrosoftSQL Server、エラー:15247)
管理者がこれを行うことができない場合、私は犠牲にする小動物を探し始めるべきですか?
Windows管理者アカウントに管理者権限がない可能性があります-設定内容によって異なります。権限のあるアカウントでログインするか、saユーザーとしてログインする必要があります。
SQL認証を有効にしていない場合は、レジストリTweakを使用してアクティブ化できます。これが正しい鍵だと思います。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<<instance name>>\MSSQLServer\Loginmode
混合モード(2)に設定する必要がありますが、もちろん、インスタンスをインストールしたときのsaパスワードを知る必要があります。
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 を参照してください。
Windows管理者アカウントにアクセスできる場合、ローカルSQLServerインスタンスに対するsysadmin権限の喪失からの回復を自動化するスクリプトがCodePlexにあります。