web-dev-qa-db-ja.com

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

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

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

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

9
khan

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

enter image description here

次に、Windows認証管理者アカウントを使用してログインし、sa SQL認証アカウントのパスワードを設定します。

ALTER LOGIN sa WITH PASSWORD = 'strong password here';
13
Aaron Bertrand

どの認証モードですか?

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

SSMS Security Properties

または、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 Security Properties - SQL Server and Windows Authentication mode

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インスタンスを右クリックし、コンテキストメニューからRestartを選択します。

SSMS Instance Restart via context menu

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 Security Properties - SQL Server and Windows Authentication mode

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経由。

3