ローカルSQLサーバーのWindows認証に自分を追加するにはどうすればよいですか?


8

最近、私のラップトップを64ビットウィンドウで再セットアップしました。彼は私のためにSql Server開発版をインストールし、ユーザー名とパスワードを設定しました。ログインしてSQL ServerをWindows認証に変更してSQLサーバーを再起動したところ、ドメインアカウントでログインできなくなりました。

ローカルシステムのSQLServerSQLAgentUserグループとSQLServerMSSQLUserグループに自分を追加しようとしましたが、SQL Serverは引き続き私のドメインアカウントが承認されていないと言っています。私のアカウントはローカルシステム管理者です。

Sql Serverにログインさせるにはどうすればよいですか?


正確なエラーメッセージを投稿してください。
Justin Helgerson、2012年

エラーメッセージは「ユーザー "DOMAIN \ user"のログインに失敗しました」
KallDrexx

使用しているSQL Serverのバージョンは何ですか?
Justin Helgerson、2012年

SQL Server 2008 R2
KallDrexx

1
2008年より前に、ローカル管理者アカウントにはデフォルトでデータベースへのアクセスが許可されていたので、質問しました。ただし、その動作は2008年に変更されました(msdn.microsoft.com/en-us/library/cc280562.aspx)。
Justin Helgerson、2012年

回答:


2

残念ながら私はあなたがどちらかをしなければならないと思う:

  1. 地元の最愛のIT友人にデータベースにログインしてもらい、アカウントを正しく設定してもらいます。
  2. アカウントでSQL Serverを再インストールして、ログイン権限が自動的に付与されるようにします。

データベースにアクセスできない場合は、セキュリティを更新して自分に権限を与えることはできません。

SQL Serverにログインするには(個々のデータベースの権限がまだ失われている可能性があります)、セキュリティログインをWindows authentication選択して作成する必要があり、ドメインアカウント名はLogin nameです。

ここに画像の説明を入力してください


私はこれが事実だと思った。私はITに行って、彼がSQLサーバーを設定したローカル管理ユーザーを取得し、saパスワードをリセットしました。私はローカル管理者だったので設定できると思っていましたが、そうは思いませんでした。しかし、Windows Authのドメインアカウントを認識させる方法がわかりません。
KallDrexx

あなたはデータベースログインではなく、サーバーログインを正しく見ていますか?サーバーログインを構成する場所を示す画像を追加しました。
Justin Helgerson、2012年

新しいログイン画面ではなく、サーバーのプロパティを見ていました。ありがとう!
KallDrexx

18

また、あなたはローカル管理者なので。

マイクロソフトのステップバイステップの指示に従ってください:http : //msdn.microsoft.com/en-us/library/dd207004.aspxまたは以下のように:

SQL Serverサービスを停止します。

管理者としてコマンドプロンプトを開き、SQL Serverのbinnフォルダー(デフォルトではC:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn)を参照します。

コンソール出力を使用して、SQL Serverをシングルユーザーモードで起動する

sqlservr.exe -c -m

次に、管理者としてSSMSまたはSQLCMDを起動し、接続して次のクエリを実行します。

WINDOWSからログイン[ドメイン\ユーザー]を作成

行く

EXEC master..sp_addsrvrolemember @loginame = N'DOMAIN \ USER '、@rolename = N'sysadmin'

行く


1
ショーンの答えは私にはうまくいきませんでした。これはしました。+1
アントニーコッホ

1
正解 !
AnujKu

8

あなたはローカル管理者なので、SQL Serverインスタンスへのバックドアを使用してアクセスを取得できます。

psexec.exe(TechNetのPSToolsはこちら)をダウンロードします。

コマンドプロンプトに移動し、ファイルを抽出したディレクトリ(psexec.exe)に移動します。コマンドを実行するpsexec.exe -i -s ssms.exepsexec.exe -i -s sqlwb.exe、SQL 2005の場合。

これにより、SSMSがNT AUTHORITY \ SYSTEMアカウントとして開かれます。このアカウントには、デフォルトでインスタンスへのSYSADMIN権限が付与されています。これで、ログインをインスタンスに追加できるようになります。これが機能しない場合は、システムアカウントの権限が削除されている可能性があります。

注:VistaまたはWindows 7を使用している場合は、コマンドプロンプトを管理者として実行する必要があります([管理者として実行]を右クリック)。

2番目の注意:組み込みの管理者グループがデフォルトでsys adminとして追加されなくなったため、これはSQL Server 2012以降では機能しません。これの例外は、インプレースアップグレードで食事をしている場合です。


2
これは悪いお尻です!これまでに誰もあなたに投票しなかったのですか?@KallDrexxあなたは本当にこれを答えとしてマークする必要があります。
Chris

@クリスは正しい、これは本当にうまくいく!
CLJ 2013

NT AUTHORITY \ SYSTEMは、2008R2以下を使用している場合に適切に機能します。2012以降のデフォルトのインストールでは、システムアカウントにデータベースエンジンへのアクセス権は付与されません。
Spörri

0

Windows認証に変更する前に、Windowsアカウントにログインするための十分なアクセス許可があることを確認しましたか?


ええ私持っているべきですが、すべてのローカル管理者がアクセスできると思ったので、私はそれについては考えませんでした。
KallDrexx
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.