SQL認証でSAを使用してログインできない


9

SQL Server認証を使用してSQL Server 2008にログインできません。

Windows認証モードでしかログインできません。

SQL Server 2008 R2のインストール時にデフォルトのみを選択しました。



3
「Windows認証のみ」は、セットアップ時に指定されるデフォルトのセキュリティメカニズムです。
Max Vernon

回答:


13

どこを見た?サーバーを右クリックして[プロパティ]を選択し、[セキュリティ]画面を選択します。

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

次に、Windows auth adminアカウントを使用してログインし、saSQL authアカウントのパスワードを設定します。

ALTER LOGIN sa WITH PASSWORD = 'strong password here';

おかげで、私はこのオプションを選択し、SQL認証モードでログインするときにログインにsaと入力し、インストール中にパスワードを入力しなかったため、パスワードを空白のままにします
2014年

Windows認証を使用してログインする場合は、saアカウントのパスワードを設定する必要があります。SQL Serverには、saのパスワードが空白になるようなものはもうありません。
アーロンバートランド

3

どの認証モードですか?

サーバーがWindows認証モードでのみ実行されるように構成されている可能性があります。これは、SQL Server Management StudioでSQL Serverインスタンスのプロパティを開き、[ セキュリティ]セクションを調べることで確認できます。

SSMSセキュリティプロパティ

または、Windowsアカウントでログインした後、次のSQL Serverステートメントを実行できます。

EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'

返された値がある場合はLoginMode 2、その後SQL ServerおよびWindows認証モードが起動されています。(これを変更する方法の詳細については、ステップ2を参照してください。)

返された値がある場合はLoginMode 1、その後、Windows認証モードが起動されています。(この設定の変更方法の詳細については、ステップ1を参照してください)純粋なSQL Serverログインでのログインはできません。


手順1.-認証モードの変更

インスタンスがWindows認証モードのみを使用するように構成されている場合は、SQL ServerおよびWindows認証モードをオンにして、サーバーを再起動する必要があります。次の簡単な手順に従ってください:

1.認証モードを変更する

SQLスクリプト

USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO

SQL Server Management Studio(SSMS)

プロパティウィンドウのセキュリティセクションの設定をSQL ServerおよびWindows認証モードに変更します

SSMSセキュリティプロパティ-SQL ServerおよびWindows認証モード

2. SQL Serverインスタンスを再起動します

SQLスクリプト

SQLCMDモードの SQLスクリプトで実行できます

-- Connect to your instance
-- (Replace <instancename> with your instance's name
:connect <instancename>

-- Stop your SQL Server instance 

-- (Replace SQLSERVERAGENT with the name of your service)
!! net stop SQLSERVERAGENT
-- (Replace MSSQLServer with the name of your service)
!! net stop MSSQLServer

-- Start your SQL Server instance 

-- (Replace SQLSERVERAGENT with the name of your service)
!! net start MSSQLServer
-- (Replace SQLSERVERAGENT with the name of your service)   
!! net start SQLSERVERAGENT

:connect localhost

SQL Server Management Studio(SSMS)

SQL Serverインスタンスを右クリックし、コンテキストメニューから[ 再起動]を選択します。

コンテキストメニューによるSSMSインスタンスの再起動

3.設定を確認します

SQLスクリプト

次のコマンドを発行して、インスタンスがSQL ServerおよびWindows認証モードで実行されていることを確認します。

EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'

を受け取る必要がありLoginMode 2ます。

SQL Server Management Studio(SSMS)

SQL ServerおよびWindows認証モードでラジオボタンが選択されていることを確認します

SSMSセキュリティプロパティ-SQL ServerおよびWindows認証モード

saアカウントが無効になっている場合は、ステップ2も実行してください。それ以外の場合は終了です。


ステップ2. saアカウントを有効にする

saアカウントが無効になっている場合は、先に進んでSQL Serverアカウントを再度有効にしてください。これは、次のスクリプトで実現できます。

USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD=N'<your password>'
GO
ALTER LOGIN [sa] ENABLE
GO

...またはSSMS経由。


-1

多くの不正なパスワードやポリシー違反により、ログインが無効になる場合があります。したがって、ウィンドウ認証でログインし、パスワードを変更して、再度ログインを有効にするだけです。

Windows認証でデータベースにログインする

クエリを実行:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF
GO
ALTER LOGIN [sa] ENABLE
GO

CHECK_POLICYは、SQL Serverが実行されているコンピューターのWindowsパスワードポリシーをこのログインに適用するように指定しているため、使用する必要があります。オフにするとデフォルトはオンになり、問題なくパスワードが変更されます。後でオンにすることができます

注:CHECK_POLICYがGUIにある場合、パスワードを変更するためのSSMEソリューションが毎回機能するとは限りません。私はその背後にある理由はありませんが、私が観察した理由はありません。


いいジェイ。次に、回答を編集して(左側、写真の反対側)、この追加情報を含めてください。次に、コメントを削除します(コメントの上にカーソルを置くと、丸で囲まれた十字が表示されます)。私のものを削除します。
マイケルグリーン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.