27

SQLServerでこのコマンドを実行しようとしています。

disable trigger all on MYDB

これは私にとって失敗です。私がログインしているアカウントはMYDBにアクセスでき、利用可能なすべての権限をほぼすべて付与しています(これは、ローカルDBと私のアカウントのみであるため、これで問題ありません)。MYDBが見つからないと言われている理由がわかりません。私は前にこれをしました。また、注意:データベースから選択し、更新して、grantステートメント(procの実行の許可など)を実行できます。トリガーを手動で無効にすることもできます...

では、なぜこれが失敗するのでしょうか。以前はできました...

ありがとう。

4

3 に答える 3

86
sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all'

すべてのトリガーを有効にするには、次のステートメントを使用できます

sp_msforeachtable 'ALTER TABLE ? ENABLE TRIGGER all'
于 2011-08-24T15:09:15.023 に答える
0
use MYDB;
disable trigger all on DATABASE;
于 2011-08-24T14:54:47.200 に答える
0

Yuckが答えを削除した理由がわかりません。DISABLE TRIGGERから:

object_name は、実行するためにDMLトリガーtrigger_nameが作成されたテーブルまたはビューの名前です。

つまり、このステートメントにデータベース名を指定することはできません。MYDB データベースは存在しますが、データベース内にと呼ばれるオブジェクトはありませんMYDB

于 2011-08-24T14:54:54.823 に答える