在我的 SQL 2008 R1 数据库中上传了几十万行,今天早上在 SQL Management Studio 中的数据库名称旁边出现了一条“正在恢复”消息。
我试过 DBCC CheckDB,它返回 CHECKDB found 0 allocation errors and 0 consistency errors in database 'DBName'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator. 当我检查 sys.databases 中的状态 (state_desc) 时,它返回ONLINE. 事实上,sys.databases 表中没有任何东西看起来与众不同。
但是,我无法摆脱“正在恢复”消息,而且我不想重新启动。有什么方法可以告诉我这种情况会持续多久,或者我应该检查其他任何问题吗?
我们计划基于整数列对我们的数据库使用表分区。我已经在 MSDN 上阅读了它,网址为http://msdn.microsoft.com/en-us/library/ms190787.aspx并且有一些疑问。
a) 是否要求分区键是主键的一部分?即使它不是必需的,如果它是主键或聚集索引的一部分,它是否仍然有任何好处?
b) 在我们的例子中,我们将对带有非分区主数据的分区表执行 JOIN 操作。我会失去分区消除所获得的性能吗?一般来说,如果 JOIN 操作中使用的任何表是未分区的,那么我会失去分区的好处吗?
c) 在分区键上的 JOIN 条件中添加过滤条件是否有助于分区消除?或者只有分区列上的 WHERE 子句中的过滤条件用于分区消除?
d) 分区键应该是非聚集索引的一部分吗?
提前致谢。
我正在构建关于服务器硬件预测的报告,但我被困在这里。
我有一个查询可以正确返回服务器上安装的 HDD 的数量,并将该数字存储到一个名为 的变量中@OtherHDDs,它是一个INT.
我现在需要这样做......
Select top @OtherHDDs....
from ...
Run Code Online (Sandbox Code Playgroud)
我该如何正确地做到这一点?
我正在尝试备份一个相当大的数据库,但不断收到此错误:
Msg 3271, Level 16, State 1, Server {Server Name}, Line 1 A
nonrecoverable I/O error occurred on file "{Backup File Location}:"
112(failed to retrieve text for this error. Reason: 1815). Msg 3013,
Level 16, State 1, Server {Server Name}, Line 1 BACKUP DATABASE is
terminating abnormally.
Run Code Online (Sandbox Code Playgroud)
有人碰巧知道这是什么吗?
我正在尝试从 SQL Server 2008 R2 Express 升级到 Developer。
我的计划是删除 Express 版,然后安装 Developer 版。我有一个数据库需要转移到新安装中。
为了准备,我将数据和日志文件的物理副本复制到桌面,并在桌面上执行了完整备份。然后我在 Management Studio 中分离了数据库。
为了在删除 Express 之前进行恢复,我.mdf在分离后物理移动Windows 资源管理器中的文件和日志文件,但我没有看到这些文件。
我想也许没有必要,我可以从备份中恢复(再次,仍然使用 Express),我收到空间不足的错误。有趣的是,我在桌面上没有看到备份文件。我确定我仔细指定了它。我尝试了 B 计划,将.mdf复制到桌面的文件附加到桌面,然后我得到
CREATE FILE 遇到操作系统错误 2(系统找不到指定的文件)。
这里的任何帮助都是巨大的。谢谢。
是有办法需要找出什么ANSI_NULLS和ANSI_PADDING等设置里,当一个给定的过程中我创建了数据库?
似乎我的客户有几个存储过程和一些已“调整”的触发器 - 但不幸的是,使用了这些数据库设置的“错误”集。我可以找出哪些procs 和触发器受到影响,还是需要使用正确的设置重新创建所有这些?
假设我们有一个主体服务器、一个镜像服务器(用作故障转移备份的服务器)和一个见证服务器。
如果我要让镜像服务器(而不是主体)脱机一小段时间(假设为五分钟),这有关系吗?这会打破镜子吗?在使服务器脱机之前,我需要做什么(例如暂时关闭镜像数据库上的镜像)?
网上有很多资源可以解释当本金倒闭时需要发生什么,但我找不到关于这种情况的任何信息。
这个问题类似于Running total with count? ,但请允许我进一步解释这个问题。
我使用的是 SQL Server 2008,因此 Aaron Bertrand 描述的游标选项在速度方面似乎是最有前途的。
不过,这里的不同之处在于我必须考虑单个项目的两个日期。因此,给定订单表中的 OrderID 项,OrderID 具有 Opened Date 和 Closed Date。Opened Date 总是填充的,但 Closed Date 可以是NULL。
OrderID OpenedDate ClosedDate
654554 12/1/2011 5/4/2012
678451 12/4/2011 3/2/2012
679565 12/8/2011 5/21/2012
701541 5/23/2012 NULL
...
Run Code Online (Sandbox Code Playgroud)
我需要 - 有效地 - 获取在日期范围内的任何给定日期有多少订单具有我们可以称为“打开”状态的状态。日期范围可能跨越几年。(是的,我确实有一个连续日期的参考表。)
Date CountOfOpenOrders
12/1/2011 175
12/2/2011 178
12/3/2011 195
12/4/2011 192
12/5/2011 191
...
Run Code Online (Sandbox Code Playgroud) 可能的重复:
确定架构更改是如何发生的?
我有一个存储过程,它在昨晚深夜修改过,早上大部分时间都在跟踪问题回到这个变化。
基本上没有人承认这一变化,所以我试图弄清楚如何找到谁修改了这个存储过程。我已经在网上研究过如何找到它,但看起来这是不可能的?
我想如果有人知道如何做到这一点,那就是这里的某个人。
我确实尝试过这个。:
“在 SSMS 中,右键单击服务器名称,选择报告/标准报告/架构更改历史记录。” --> 这没有给我任何东西,但我至少能够运行它,这为我提供了时间。
select name, create_date, modify_date
from sys.procedures
where name = 'mystoredprocedure'
Run Code Online (Sandbox Code Playgroud)
感谢您的任何建议或方向。
sql-server-2005 sql-server-2008 sql-server stored-procedures
我想创建一个具有服务器角色的用户db_create,db_restore并将db_owner属于该数据库。但是只有1个服务器角色可用,即db_creator,可以创建数据库,也是db_owner那个。但是当我恢复另一个断开连接的数据库备份时,即无法访问。
在 sql server 中,有什么方法可以创建和恢复数据库并将dbowner属于该数据库。我不想sysadmin向该用户授予服务器角色。
请帮帮我。