确定无法在事务中执行的T-SQL / DDL

时间:2012-12-20 19:51:25

标签: sql-server tsql

在事务中无法执行各种语句和系统过程,错误消息为“不允许...”(例如,create database)或“无法执行...” (例如,exec sp_addrole)。

是否存在一条规则或一组规则来指示某个事务中是否允许给定的过程/声明?有没有列表?

1 个答案:

答案 0 :(得分:0)

不是Microsoft的官方资源,but the most comprehensive list I've found so far ...

  • ALTER DATABASE
  • BACKUP LOG
  • BACKUP DATABASE
  • RESTORE LOG
  • RESTORE DATABASE
  • RECONFIGURE
  • UPDATE STATISTICS
  • LOAD DATABASE
  • LOAD TRANSACTION
  • CREATE DATABASE
  • DISK INIT
  • DROP DATABASE
  • 更改MASTER数据库
  • 的系统存储过程

最后一项是一个相当广泛的类别......但你可以合理地预测哪些类型的系统存储过程会改变MASTER数据库......基本上是在服务器级而不是数据库中运行的任何东西水平。