2011-01-31 4 views
1


最近私の同僚のローカル開発マシンにデータベースが復元されました。 私はadminとしてログインしています。私は接続しようとしているデータベースにデフォルトのデータベースを設定しました。 SQLのSqlのUser Mappings画面で、管理者ユーザーにdb_owner権限を与えました。
SQL01270:オープンデータベースは、「[ADMIN-PC.VirginActive]」ログインで要求することはできません私は、SQLの比較ツールを実行するとVisual Studio DB比較ツールが倒れる - SQL01270:データベースを開くことができません

は、しかし、私は次のエラーを取得します。ログインに失敗しました。
2011-01-31 10:49:20.28ログオンエラー:18456、レベル:14、状態:38 ログインは、SQLのログファイルには、次のことを示して '管理者-PCの\管理者に' ユーザーのための

を失敗しました2011-01-31 10:49:20.28ユーザー 'admin-PC \ admin'のログオンに失敗しました。理由:明示的に指定されたデータベースを開くことができませんでした。 [クライアント:]

「エラー:18456、重大度:14、状態:38」を調べました。 googlemachineと私が得るフィードバックは、ユーザーがボックスにログインできないということです。ただし、ユーザーはadminユーザーです。これは、dbを作成したユーザーと同じユーザーです。

これを回避する方法についてのアイデアはありますか?

答えて

0

ファイルの読み取り/書き込み権に問題があります。すべてのプログラムを管理者(vista/win7を実行している場合)として実行し、mdfファイルのセキュリティ設定を変更してみてください。

それ以外の場合は、この目的でのみ作成したSQLユーザーとして接続してください。

1

私は今日同じ問題を抱えていました。私が見つけた修正点は、データベースのデータベース所有者を別のユーザー(たとえば "sa"を使用したユーザー)に変更すると、Visual Studio 2010のデータベーススキーマ比較で変更や接続を正常に行うことができるということでした。

データベースの所有者を変更するには、データベース名を右クリックしてファイルに移動します。あなたのNTアカウントがそこにリストされている可能性が高いです。それを「sa」などの適切なものに変更し、変更を適用してから、もう一度やり直してください。これは私のために働いた。

3

私はちょうど同じ問題を解決しましたが、データベースではなく、スキーマ比較ファイル自体(.SCMP)でした。

何とか私のSCMPはいくつかの重要な場所でデータベース名の完全な[machine.domain \ instance.database]表現を得ていました。私はNotepad ++でファイルを開き、それらを単純な名前に変更しました(私の場合は「DW」のみ)。問題はすぐに解決されました。

(「いくつかの重要な場所」は、ConnectionBasedModelProvider内のDatabaseNameとTargetDatabaseNameプロパティの値です)

関連する問題