2016-08-14 14 views
0

私はASP.NETを使用することを学んだし、私は次のような問題に出くわした:私はエラーを得たので、私はSqlConnection()を使用して、私のデータベースにアクセスできませんでしたSQL Serverユーザーに変更することはできません

を開くことができませんデータベース「サンプル」ログインによって要求された。ログインに失敗しました。ログインには、ユーザーのAsusの\アン "

コードに失敗しました:私はそれに見て、多分問題は、ユーザーがデータベースにアクセスする権限を持っていなかったということであったことが判明

SqlConnection con = new SqlConnection("data source=(localdb)\\MSSQLLocalDB; Database=Sample;Integrated Security=True"); 

データベースのユーザーの下で「Asus \ Anne」と呼ばれるユーザーはいませんが、「Asus \ Anne」ログインを持つ「dbo」ユーザー(dbowner)があります。

だから、私はdboのユーザー名を 'Asus \ Anne'に変更しようとしましたが、それは私にはできません。

「Asus \ Anne」という名前のデータベースに「Asus \ Anne」という名前の新しいユーザーを追加しようとしましたが、ログインが既に行われているというエラーが表示されます。

私は立ち往生しているように感じます。なにか提案を?

ありがとうございます!

+0

だから、時間を費やしてユーザーを変更しても、何も動いていませんでした。私は 'dbo'ログインを変更し、 'Asus \ Anne'ログインを使用して 'Asus \ Anne'ユーザーを作成することができました。また、SQL Serverで認証するユーザーを作成することもできました。しかし、私はVSの代わりにSSMSを使ってデータベースを作成することに決め、それがそのトリックでした。私はまだ理由はわかりませんが、今はWindowsとSQLの両方で認証できます。また、私は、サーバーの再起動が重要だったが、私の '再起動'オプションは常にグレー表示されていることを読んだ。 – Acla

答えて

1

"Asus \ Anne"というユーザーでSQL Serverに接続しようとしています。これは、ASP.NETアプリケーションが実行されているアカウントです。

このアカウントはSQL Serverに接続できません - そのアカウントのSQL Serverにログインを作成するか、接続文字列に別の有効なSQL Serverアカウントを指定してください。

これに従うことができますSO link。これはあなたを助けるだろう。

1

Windows認証モードを使用する場合は、マシンがSQL Serverで使用されているドメイン(または信頼できるドメイン)に参加している必要があります。また、SQL Serverに対して権限を付与したADログインを使用する必要があります。

また、SQL Serverポートのファイアウォール設定を確認し、デフォルトでない場合はポート番号を指定し、SQL Serverがリモート接続を許可するかどうかを確認し、SQL構成マネージャで有効なプロトコルを確認します。

DBがローカルマシンにあるようです - SQL認証を使用して接続文字列を変更してSQL認証を使用しようとすると "Integrated Security = True"が削除され、SQLログイン名とパスワードが追加されます。

1

他のユーザーのユーザーロールなどを変更するには、sysadminロールを使用してデータベースにログインする必要があります。このシナリオでは、おそらく 'Asus \ Anne'には他のロールを変更するための昇格されたロールはありませんWindows認証を使用してSQLに)。

いずれの方法でも、SQL認証で新しいユーザーロールを作成し、必要なユーザーロールを提供できます。 "Integrated Security = true"を削除し、代わりにログインとパスワードを追加する必要があります。

関連する問題