アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQLサーバ2014にて50ほどのDBを保持してます。

その50ほどのDBに紐付いた、不要なユーザーを一括で削除したいのですが、そのようなスクリプトを
ご教示頂きたいです。

USE (*)というようなすべてのデータベースをワイルドカードで指定できればよいのですが、
今の所方法が見当たりません。
宜しくお願いします。

A 回答 (2件)

こんな感じです。



EXEC sys.sp_MSforeachdb
N'
use ?;
DROP USER test
'

処理的には、
use DB名; DROP USER test

がDBの数だけ実行されます。
    • good
    • 1
この回答へのお礼

できました。

有難うございます。

お礼日時:2016/10/13 23:27

sys.sp_MSforeachdb というストアドを使用して、すべてのDBに対して同じクエリを実行することができます。


こちらを利用できませんか?

EXEC sys.sp_MSforeachdb
N'
use ?;
select db_name()
'

ストアドの後にパラメータとして、クエリを文字列にしたものを指定します。
文字列内の?にDB名が代入され、登録されているDBの数だけ実行します。
    • good
    • 0
この回答へのお礼

早速のご連絡有難うございます。

仮に50DBの中に、test というユーザーが紐付いて削除したい場合は、
下記喉の部分に

DROP USER testをどこに挿入すればよいのでしょうか。
宜しくお願いします。


EXEC sys.sp_MSforeachdb
N'
use ?;
select db_name()
'

お礼日時:2016/10/13 22:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!