2009-03-20 18 views
8

SQL Server 2005でパスワードを使用して新しいデータベースユーザーを作成するにはどうすればよいですか?SQL Server 2005で新しいdbユーザーを作成する

私は、接続文字列などで使用するには、このユーザー/パスワードが必要になります:SQL Server 2005ののよう

uid=*user*;pwd=*password*; 

答えて

15
CREATE LOGIN [user] WITH PASSWORD='password', 
     DEFAULT_DATABASE=[your_db], CHECK_POLICY=OFF 
GO 

CREATE USER [user] FOR LOGIN [user] 
EXEC sp_addrolemember N'db_datareader', N'your_db' 
EXEC sp_addrolemember N'db_datawriter', N'your_db' 
GO 

パスワードの複雑さのチェックなど

+0

私は同意します。この方法は、Windowsアカウントのポリシーを無効にすることができるため、sp_addloginメソッドより優れています。 – djangofan

-1
USE [MASTER] 


EXEC master.dbo.sp_addlogin @loginame = N'USERNAME', @passwd = 'THEPASS' @defdb = N'master', @deflanguage = N'us_english' 


USE [YOUR_DB] 
    EXEC dbo.sp_grantdbaccess @loginame = N'USERNAME', @name_in_db = N'USERNAME' 
+0

説明はありますか? –

5

、あなたは基本的に2つのステップでユーザーを作成する必要があります

  • をSQL Server全体に "ログイン"を作成する
  • このログインのために必要なデータベースを、それぞれのデータベースに作成する

あなたがそうのようにこれをやって行くだろう:

CREATE LOGIN MyNewUser WITH PASSWORD = 'top$secret'; 

そして、あなたのデータベースを "使用" し、そのログインのユーザーを作成します。

USE AdventureWorks; 
CREATE USER MyNewUser FOR LOGIN MyNewUser 
CHECK_POLICY=OFFがオフに
1

まずユーザーとして作成してから、正しいpユーザーのermissions。

  1. あなたはManagement Studioを使用している場合、あなたのDBは、ユーザー認証とSQL認証 の両方で構成されていることを確認する必要があります:、サーバーを右クリックし、「セキュリティ」を選択し、そのサーバー認証が「SQLであることを確認サーバとWindows認証モード "

  2. を右クリックして"新しいログイン "を選択し、SQL認証を選択して、好きなユーザー名とパスワードを使用します。あなたがしたいDB上

    USE [master] 
    GO 
    CREATE LOGIN [ test] WITH PASSWORD=N'test', DEFAULT_DATABASE=[MY_DATABASE], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF 
    GO 
    
  3. 、セキュリティで、ユーザーは、新しいユーザーを選択します。ユーザ名を選択し、先ほど作成しましたログイン名を添付して、このユーザー(つまりdb_datareaderdb_datawriter)に適用するロールを選択:

    USE [MY_DATABASE] 
    GO 
    CREATE USER [myDefaultUser] FOR LOGIN [ test] 
    GO 
    USE [MY_DATABASE] 
    GO 
    EXEC sp_addrolemember N'db_datareader', N'myDefaultUser' 
    GO 
    USE [MY_DATABASE] 
    GO 
    EXEC sp_addrolemember N'db_datawriter', N'myDefaultUser' 
    GO 
    

それであること。これで、このパスワードを使用して接続文字列を作成できます。

2

前述のとおり、CREATE LOGINを使用して、そのアカウントとしてSQL Serverに接続する機能を作成します。次に、データベース内でCREATE USERを使用して、そのログインに問題のデータベースにアクセスできるようにします。あなたはときに何をしているかである

  • 、Windows認証を使用するすべての可能なの場合は、いないSQL Serverのベースのログイン(ただし

    、これらのコメントのいくつかに基づいて、いくつかのセキュリティポイントこの方法でuser/pwdを使用してください)。 SQL Serverと同じドメインのコンピュータから実行している場合は、Windowsユーザーアカウントであるサービスアカウントを使用できます。これにより、ドメインがセキュリティのための単一のソースになります。

  • あなたはユーザーが必要とした権利を言っていませんでした。db_datareaderおよびdb_datawriterロールは、可能な限り使用しないでください。彼らはIMPLICITにテーブルとビューへのアクセス権を与え、誰かがデータベースのクイック許可チェックを行っている場合、これらのロールのメンバーシップをチェックするとは思わないかもしれません。これは、セキュリティに関するレポートが使用していることを意味します。ベスト・プラクティスでは、独自のデータベース・ロールを作成し、そのロールに権限を割り当て、ユーザーをそのロールのメンバーにすると言います。
  • 可能な限り、強力なパスワードを使用してください。 1つの例では、パスワードポリシーがオフになっていました。 SQL Serverはローカルサーバーのパスワードポリシーを使用します(通常はドメインレベルで設定されます)。可能であれば、その強力なパスワードポリシーを維持する必要があります。
0
CREATE LOGIN MyNewUser WITH PASSWORD = 'top$secret' 

USE AdventureWorks 
CREATE USER MyNewUser FOR LOGIN MyNewUser 
GO 
+1

私はあなたが比較的新しいここにいるのを見ます。自分の投稿する前に事前の答えを調べることは、常に良い習慣です。そうする際には、あなたの答えにいくつかの固有の情報が含まれていることを確認してください。それはあなたの答えのアプローチ、明確さ、または完全性に違いありません。 –

関連する問題