この問題についてお役に立てば幸いです。接続の問題に関するいくつかのフォーラムといくつかのスタックオーバーフローのトピックを読み、それらのアドバイスを使用しました。接続の前にサーバー名を追加するだけだと言う人もいますが、それはその特定の人やローカル接続でも機能しますが、リモートではそれほど機能しないか、「SQLサーバーでのリモート接続を許可する」を有効にするだけでこれを行いました(すでに有効になっていました)が、それでも機能します助け無し。これは私の問題です:
ローカル マシンに asp.net mvc 3 Web サイトを作成しましたが、リモート SQL サーバーへの接続の開始時に問題が発生したため、ローカル マシンにも基本データベースを作成しました。そのデータベースで aspnet_regsql.exe を実行すると、すべてのテーブルが作成されました。次に、web.config に移動し、サーバー名で接続文字列を追加しました。
<add name="DefaultConnection" connectionString="data source= [***]\SQLSERVER;integrated security = true ;Initial Catalog=[dbname];" providerName="System.Data.SqlClient" />
また、web.config にも以下を追加しました。
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<roleManager enabled="true">
<providers>
<clear />
<add connectionStringName="DefaultConnection" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
これで、ローカルでの開発とアプリケーションのテストがすべてうまくいきました。すべてが機能し、ユーザーを作成してデータベースに追加しました。
ライブに移行したいので、ライブ データベースに新しいデータベースを作成する必要があります。上記のすべての手順を同じように実行しました。変更された唯一のことは、接続文字列がリモート SQL サーバー IP にあることです。(リモート接続も許可しました)。
<add name="DefaultConnection" connectionString="data source=[ip address];integrated security = true ;Initial Catalog=aspnetdb;" providerName="System.Data.SqlClient" />
上記のすべてのメンバーシップ タグが webconfig に残っています。
それでも、ASP.Net Web サイト管理ツールにアクセスすると、次のエラーが表示されます。データベースへの接続を確立できませんでした。SQL Server データベースをまだ作成していない場合は、Web サイト管理ツールを終了し、aspnet_regsql を使用してください。コマンドライン ユーティリティを使用してデータベースを作成および構成し、このツールに戻ってプロバイダーを設定します。(私は aspnet_regsql を実行しました)
すべての助けに感謝します!