1

現在のデータベースのリカバリモデルを変更しようとしています。

これは私が持っているものです:

DECLARE @dbName VARCHAR(50)
SELECT @dbName = DB_NAME()
ALTER DATABASE @dbName SET RECOVERY SIMPLE WITH NO_WAIT

@dbName私に与える:

'@dbName'の近くの構文が正しくありません。

私は試した:

ALTER DATABASE database_id SET RECOVERY SIMPLE WITH NO_WAIT

database_id私に与える:

メッセージ5011、レベル14、状態5、行3ユーザーにデータベース'database_id'を変更する権限がないか、データベースが存在しないか、データベースがアクセスチェックを許可する状態にありません。

現在のデータベースでこれをどのように実行する必要がありますか?

4

1 に答える 1

5
DECLARE @sql NVARCHAR(MAX) = N'ALTER DATABASE ' 
  + QUOTENAME(DB_NAME())
  + ' SET RECOVERY SIMPLE WITH NO_WAIT;';

EXEC sp_executesql @sql;
于 2013-03-04T22:03:37.970 に答える