TimberLandChapelのTech Blog

TimberLandChapel が提供する技術Tips,思いつきメモ,雑感ブログです。
Office 互換リボン Release 1.0 をリリースしました。

購読

今期のアンケート

INETAJ

Microsoft

SQL Server

TLC.com

クリエイティブ・コモンズ

情報処理関係官公庁

【SQL Server】所有者の指定されていないデータベースでのエラー
所有者のないデータベースでのエラー

Adventure Works サンプルデータベースを以下の記事で公開していたスクリプトを使用して次の条件下でアタッチすると所有権の明示的に指定されていないデータベースが出来上がる場合があります。

この問題は [SQL Server 認証] を使用している場合や,Windows アカウントに対応する [ログイン] を明示的に作成している場合は発生しません。

  • Windows 認証で SQL Server にログインしている
  • Windows 認証に使用しているアカウントが OS の Administrator 権限を有する
  • Windows 認証で使用しているアカウントに対応する [ログイン] を SQL Server 上の [セキュリティ] > [ログイン] に作成していない

この場合,データベースに所有者が指定されていないために [データベースダイアグラム] などの一部の機能を利用できずにエラーが発生します。

AdventureWorks サンプルデータベースのセットアップスクリプト
http://blogs.timberlandchapel.com/blogs/timberlandchapel/pages/1141.aspx

次の画像は,データベースのプロパティから [ファイル] を表示した画面です。
所有者の欄が指定されていないことがわかります。

問題の修正

この問題を回避するためには,以下のうちいずれかを行ってください。

対策1:既にアタッチしたデータベースを修正する場合
  • [セキュリティ] > [ログイン] にて,使用する Windows アカウントに対応する [ログイン] を作成する
  • データベースのプロパティの [ファイル] にて,[所有者] に作成した [ログイン] を割り当てる
対策2:データベースのアタッチを最初からやり直す場合
  • [セキュリティ] > [ログイン] にて,使用する Windows アカウントに対応する [ログイン] を作成する
  • 作成した [ログイン] でデータベースにログインし直して,スクリプトを実行する

いずれの対策についても,
目的はデータベースに [所有者] を設定することで,
そのためにWindows アカウントに対応する [ログイン] を作成しています。

Published 2007年10月8日 21:35 投稿者 timberlandchapel

コメント

コメントはありません