データベース図支援物を設置することはできなかたかなので有効なオーナー
-
19-09-2019 - |
質問
っていこうという思いを込めてデータベースdiagramm SQL Server2008でエラーが発生した:
データベース図支援物 設置できないこ データベースは有効です。継続使用のファイルページ データベースのプロパティ]ダイアログボックス の変更の認可決 設定のデータベースオーナーへの有効な ログインを追加し、データベース図 支援オブジェクト。
そのため,以下の
EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO
次erorrポップアップします:
Msg15404、16、11、1 な情報を取得する Windows NTグループ/ユーザー 'WIN-NDKPHUPPNFL\管理者'エラー コード0x534.
その問題点の名前の変更"DevPC"私もここの更新スクリプトが同じエラー15404.
して何ができるかこの問題を修正するには迷惑。
解決
は、データベースの所有権のためのSQL認証アカウントを考慮する必要があります。あなたは出入りのアカウント、データベースまたは別のサーバーに移動するインスタンス、およびあなたの次のPCの名前の変更を心配する必要はありません。私は、我々が使用する複数のシステムを持っています:
ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];
あなたがそのローカルの管理者アカウントの所有者を変更したい場合は、それとも、それはする必要があります:
ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];
DevPC
にマシンの名前を変更することWIN-ND...\Administrator
名付けられるするために使用されるローカルアカウントを排除しており、これは、データベースの現在の所有者を無効にしているので
SELECT @@SERVERNAME;
が正確でない場合は、あなたはまた、次を発行したい場合があり、その後、順番に、サーバー名の変更がSQL Server内のホールドを取ったことを確認するために、(それがDevPC
を言う必要があります):
EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO
他のヒント
SQLサーバー管理スタジオは、以下の
- 右クリックしデータベースのプロパティ]を選択
- のオプションページ
- ファームウェアをアップデートで右"の両立性レベルの"選択"SQL Server2005(90)" 3-1.を選択"SQL Server2008"を受け取られた場合には比較可能性のエラーになります。
- のファイルページ
- 入力sa"のオーナーテキストボックス.5-1をクリックし、楕円(...)を選び、正します。
- ヒットOK
ということに自動で作成することができますデータベースへのアクセス図
USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
これは動作します。
所有者のテキストボックスに「SA」の代わりに「SA」を入力します。これは私のために働いています。
私は同じ問題を抱えていた。
私は自宅で、私は仕事で同じ日に作成され、私のダイアグラムを表示したかったです。しかし、私はこのために、メッセージのことができませんでした。
私は期待-asデータベースの所有者が自分のコンピュータのユーザーだったことが分かりました。コンピュータが会社のドメインである、と私は会社のネットワークに接続されておりませんのでしかし、データベースは、所有者を解決できませんでした。
だから私は何をしたかのローカルユーザーのに所有者を変更し、それが働いた!!
です
これは誰かに役立ちます願っています。
あなたはユーザーによって変更データベース上で右クリックし、プロパティ、ファイル、所有者
これは私のためにそれを修正しました。これは、データベース・プロパティ・ウィンドウの「ファイル」セクションの下に所有者設定、および管理のスタジオで、スクリプトのようになります。
USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
sp_changedbownerをドキュメントによるとするこれは廃止されます。
イスラエルの答えに基づいています。アーロンの答えは、この非は非推奨バリエーションです。
あなたのデータベースを選択 - 右クリック - [プロパティ]を選択します。
ページの左側で選択FILE
これで3つのドット(...)を持っているOWNER]ボックスで、選択ボタン
これで、ユーザーのSAを選択し、
OKをクリックします私はちょうどこれを経験しました。私はこのページの提案だけでなく、SQL当局の提案(同じものである)と、上記のどれを読んでいた働いています。
最後に、私はアカウントを削除し、(同じユーザー名/パスワードを使用して)再作成しました。ちょうどそのよう、すべての問題が去っていきました。
悲しいことに、これは私が他のすべてのものを共有することはできませんので、何が悪かったのかを知っていないことを意味します。
あなたのデータベースをクリックし1.Right、 2.Then [プロパティ]を選択します。 3.Select互換性レベルのオプションは、SQL選ぶ2008 [100]は、MicrosoftのSQLを使用している場合、2008年
4.Thenは、ファイルを選択し、テキストボックスにowner`s(SA)の書き込み
100%私のために動作します。
この問題を解決する簡単な方法は、データベースの名前を右クリック、「新しいクエリ」、タイプ「EXEC sp_changedbownerを 『SA』を」選択し、クエリを実行することです。そして、あなたが行ってもいいでしょう。
管理者は右のMicrosoft SQL Serverの管理スタジオにクリックし、[管理者として実行すると、あなたが入力する必要があります。
のみクエリエディタでそれを実行する必要があります TO DATABASE :: YourDatabase ON AUTHORIZATIONをALTER [ドメイン\アカウント];
本当の問題は、デフォルトの所有者(DBO)が、私は、「ユーザー、グループ、または役割を述べる別のエラーを受け取ったデータベースの所有者にsaログインをマップしようとしたall.Asでそれにマッピングされたログインを持っていないということです「DBO」は既に存在します... "あなたはこのコードをしようとした場合しかし、それは実際に動作します:ます。
のEXEC sp_dbcmptlevel 'yourDB'、 '90';
行く
DATABASE :: yourDB TO "yourLogin"
ON AUTHORIZATIONをALTER行く
使用[yourDB
行く
ユーザーとしてEXECUTE = N'dbo」を元に戻せます。
行く
右のプロパティ]を選択し、自分のデータベースをクリックしてください。 あなたは、Microsoft SQL 2008で作業している場合は代わりに2008のSQL 2005 [90]を選択し、互換性レベルのオプションを選択します。 その後、ファイルを選択し、テキストボックスにowner`s(SA)を書き込みます。 それはおそらく動作します。