使 SQL 服务器数据库只读,一个存储过程除外

Make SQL Server database read only except for one stored procedure

我有一个存储过程可以将数据从这个数据库迁移到另一个数据库。为了排除任何错误,我想让数据库对除我以外的每个事务只读。我使用 SqlConnection 和 SqlCommand 来 运行 脚本。有什么办法吗?

将数据库设置为 Single-user Mode。当您将其置于单用户模式时,您将拥有唯一可用的连接。只要您不放弃连接,其他人就无法连接。

请注意,这将关闭其他用户的所有现有连接。但它会阻止建立其他连接。

更多信息:https://msdn.microsoft.com/en-us/library/ms345598.aspx