none
テーブルの作成者を取得するには? RRS feed

  • 質問

  • [ SQL Server 2005 Standard Edition ]

    共有しているDBで、各人が各テーブルを作成しているのですが、
    テーブルの作成者を取得したいのです。
    スキーマを使用すべきなのかもしれないのですが、使用せずに、
    取得可能でしょうか。Windows認証です。
    DBは、DBのプロパティで作成者(ドメイン\ユーザー)が、わかるのですが。

    2007年6月11日 8:47

すべての返信

  • 取得できる情報は、"sp_help"  (各DBオブジェクトの所有者情報) , "sp_helpdb" (各DBの所有者情報)

    までだと思います。

     

    スキーマ名だけでテーブルの作成者(個人)を把握するのも、大変な作業になると思います。(管理も)

    例えば、下記のコマンドにてある程度は、スキーマ設定を行ったとした場合、 ドメインユーザ数分の

    マッピングデータベースユーザを作成した上で、スキーマの設定を行う必要があると思います。

    (個人は特定出来なくても、グループ単位で分かればよいのであれば、少し作業は軽減されますが。)

     

    create schema  スキーマ名  authorization  ユーザ名

    go

    alter user ユーザ名

    with default_schema = スキーマ名

    go

     

    現状の状況を調べることは難しいと思いますが、今後作成されたテーブル作成者については、

    DDL トリガを使用して、少し作りこめば出来るのではないでしょうか。

    < http://msdn2.microsoft.com/ja-jp/library/ms190989(SQL.90).aspx >


     

    2007年6月12日 4:55
  •  

    NOBTA様、有難うございます。

     

    DDL トリガを検討してみます。

    2007年6月13日 3:45