我在SQL Server 2005中有一个表,其中有大约40亿行.我需要删除大约20亿这些行.如果我尝试在单个事务中执行此操作,则事务日志将填满并且失败.我没有任何额外的空间来使事务日志更大.我认为最好的方法是批量删除语句(批量为~10000?).
我可以使用游标执行此操作,但这是一种标准/简单/聪明的方法吗?
PS此表没有标识列作为PK.PK由整数外键和日期组成.
在Sql Server 2000中,是否可以通过SQL查询返回给定数据库中存在的完整数据库角色列表?
我知道可以通过扩展SQL Server Management Studio中的安全性,角色和数据库角色节点来查看这些角色,但我想让他们通过我可以通过编程方式解析的查询.
为了澄清,我不是在寻找具有角色的用户列表,而只是查找角色列表本身.
我有一个SQL 2008 R2数据库,其上有一些表,其中一些表定义了全文索引.我想知道如何确定特定表索引的大小,以便控制和预测它的增长.
有办法做到这一点吗?
size sql-server-administration server-administration sql-server-2008-r2
我正在编写计划作业来模拟 SQL Express 的 SQL Server 维护计划。(我必须这样做,因为 SQL Express 不存在 SQL Agent 和相关工具)
其中一个步骤是进行数据库完整性检查。用于此的 TSQL 是:
DBCC CHECKDB(N'Northwind') WITH NO_INFOMSGS
Run Code Online (Sandbox Code Playgroud)
我如何知道在执行此命令期间是否发生错误,在使用 ADO.NET 时是否会抛出异常,或者我是否必须解析命令的文本输出(如果是这样,我在输出中寻找什么)
这很难测试,因为我手头没有损坏的数据库。
在更改数据库模式之前我发出:
ALTER DATABASE SET RESTRICTED_USER
Run Code Online (Sandbox Code Playgroud)
在结束的时候:
ALTER DATABASE SET MULTI_USER
Run Code Online (Sandbox Code Playgroud)
我知道正在运行的交易将被允许继续直到完成.
问:有没有办法等到所有普通用户都不在数据库中?
问:普通用户可以发出更多交易吗?他们可以继续工作,直到与服务器断开连接?
将SQL Server 2014升级到SQL Server 2016(都是企业版)后,我无法启动镜像。
这在 SQL Server 2014 上正常工作。
在使用主数据库的完整备份和日志备份恢复(WITH NORECOVERY)
镜像数据库后,我通常会运行configure setup
。
点击后Start mirror
出现此错误:
数据库“DatabaseName”无法打开。它正处于恢复过程中。(微软 SQL Server,错误:927)