我有一个 SQL Server 2012 安装,它在 SQL Server 代理方面存在一些问题,因此我无法安排作业或维护计划来进行备份。
我想要做的是在 SQL Server 2008 R2 上创建一个 SQL Server 作业并备份 SQL Server 2012 数据库。有人可以建议如何实现这一目标吗?
(SQL Server 新手)我正在努力理解 SQL Server 中非聚集索引的用途。虽然阅读了 MS 文档(v2012 和 v2008 都有漂亮的图片)和一些在线资源,但仍然有很多悬而未决的问题。
最近我正在阅读这篇博文:http : //blogs.msdn.com/b/sqlazure/archive/2010/05/05/10007304.aspx
其中包含此部分:
选择聚集索引
有几种选择聚集索引的策略;最简单和最好的方法之一是添加另一列数据类型为 datetime 的列,并将该列用于聚集索引。以下是您需要做的:
将列添加为数据类型日期时间
我通常称之为日期
将默认值设置为 GetDate()。
使其非空。
在向您插入数据之前,先在其上创建聚集索引。
我的问题是这是否会为日期创建两个相同的值?如果使用并行性,这个答案会改变吗?(假设从未指定值,总是来自 GetDate())
我相信我的假设是正确的,因为添加了幕后唯一标识符,这无关紧要,对吧?但反正我很感兴趣。
我是从 SQL2008R2 的角度提出问题,但如果答案对 7.0 以上的任何 SQL Server 版本有所不同,我会很感兴趣。
我有点不高兴,我必须对数据质量很差的数据库执行查询。我正在尝试评估一个包含日期但被定义为nvarchar. 我以为我可以将值转换为整数,但这失败了,因为日期字段中也有非日期值(随机字母和符号等)。
我决定做的事情如下:
SELECT q.foo, cast( q.bar as int)
FROM ( SELECT foo,bar FROM table where ISNUMERIC(bar) = 1) as q
WHERE q.bar > 20140401
Run Code Online (Sandbox Code Playgroud)
但这仍然会导致 nvarchar 值的转换失败'. '。我希望所有值都可以转换为 int,因为它们是数字?
背景故事:
我是一名开发人员,在我的工作站上有一个 SQL Server 2008 的本地实例。我最近刚刚升级了我的主板,发现(令我非常沮丧)旧主板的 RAID 驱动程序显然与新主板不兼容,因此基本上,我无法使用旧主板上的 Windows 实例。幸运的是,我有所有内容的完整备份。
我的问题:
我想在我的新机器上安装 SQL Server 2008,但我想加载旧数据文件。我有很多我不想重新创建的数据库。我拥有所有原始的 MDF 和 LDB,但没有实际的 SQL Server“备份”。
有没有办法做到这一点?
谢谢你的帮助。
我有一个 sql 代理作业设置,用于每晚进行完整备份。昨晚作业失败并显示以下错误消息。
Sql Server 错误日志消息
BackupIoRequest::ReportIoError: 在备份设备“H:\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\My_Database_backup_2014_04_28_233008_2135500.bak”上写入失败。操作系统错误 2(无法检索此错误的文本。原因:15100)。
错误:3041,严重性:16,状态:1。
SqlAgent 作业历史记录日志
以用户身份执行:域名\sqlagent。适用于 64 位的 Microsoft (R) SQL Server 执行包实用程序版本 10.50.2500.0 版权所有 (C) Microsoft Corporation 2010。保留所有权利。开始时间:23:30:01 进度:2014-04-28 23:30:06.81 来源:{123123123-F70A-430F-8041-12312312313} 正在执行查询“DECLARE @Guid UNIQUETEIDENTIFI...”db2 100% 完成结束进度错误:2014-04-28 23:30:16.19 代码:0xC123123
来源:备份数据库(完整)执行 SQL 任务描述:执行查询“BACKUP DATABASE [My_Database] TO DISK = N'H:\MSS...”失败并出现以下错误:“Write on "H:\MSSQL10_50. MSSQLSERVER\MSSQL\Backup\MY_Database_backup_2014_04_28_233008_2135500.bak”失败:2(无法检索此错误的文本。原因:15100)BACKUP DATABASE 异常终止。已处理 10%。已处理 20%。已处理 20%。已处理。60% 已处理。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或者连接建立不正确。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始:23:30:01 结束:23:30:16 经过:14.844 秒。包执行失败。步骤失败。
在对网络进行研究后,大部分帖子都表明我的磁盘空间不足,我检查了磁盘上的空间,几乎每个驱动器上都有至少 30 多 GB 的可用空间,(磁盘用于 .mdf,磁盘用于.ldf 文件)。我的 C 驱动器上有将近 15 GB 的可用空间。因为网络上的一篇帖子建议 C 驱动器上没有足够的空间也会导致问题。
有没有人遇到过同样的问题,你是如何解决的?这个错误的原因是什么以及我将来如何避免它。任何正确方向的建议都是最受欢迎的。谢谢你。
我在 SQL Server 2008 R2 上运行这个查询:
SELECT
orr.Rate, orr.ID, orr.UserKey, fn.NetRate
FROM
OngoingRate orr
CROSS APPLY
dbo.GetRateNetView(orr.UserKey) as fn
WHERE
orr.UserKey = 5
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
'.' 附近的语法不正确。
请帮忙
是否可以在表中的列中搜索 1-2000 的数值范围,然后将每一整行复制到不同的表中?通过这样做,技术上将表格分成更小的部分。
嗨,我正在创建用于对列表中的项目进行评级的数据库,但我想问一下,如果我有五颗星评级,我应该如何在数据库“评级”列中执行此操作?
我想使用单个INSERT INTO查询将数据添加到多个表,我可以这样做吗?
如果可能,请指导我并提供语法。