我需要创建一个计划任务来备份 SQL Server 2005 实例中的数据库。
是否有可以用来实现此目的的命令行参数?
当我在 SQL Server 2005 中执行以下查询时,它使用索引查找,通过查看执行计划进行验证。
SELECT *
FROM Account
WHERE Number = '123456789'
Run Code Online (Sandbox Code Playgroud)
但是当我运行相同的查询但使用参数时,它使用索引扫描。
DECLARE @AccountNumber NVarChar(25)
SET @AccountNumber = '123456789'
SELECT *
FROM Account
WHERE Number = @AccountNumber
Run Code Online (Sandbox Code Playgroud)
由于这个表有超过 1000 万行,第二次查询需要 30 多秒,而第一个查询只需要几毫秒。我真的必须去更改我的所有查询以不使用参数吗?
我有一份工作,C:\foo.bat。
当我从 Windows 资源管理器运行作业时,它失败了。当我右键单击该文件并单击“以管理员身份运行...”时,作业就通过了。
现在,当我在 SQL Server 代理中设置作业时,它失败了。我不知道如何以管理员身份运行该作业。
SQL 2000 和 2005 维护计划是否应该对分离或脱机的数据库具有弹性?
我分离/脱机了一些数据库,现在维护计划完全失败,因为 SQL 找不到/连接到数据库。在我看来,SQL 要么根据这样的更改重新计算脚本,要么拥有一个向导生成的维护计划,该计划将(在最坏的情况下)仅发出有关不可用数据库的警告并继续执行独立部分脚本,例如其他数据库。
事实上,在我看来,我需要进入“用户数据库”维护计划的每个步骤块,将设置切换到“所有数据库”,退出向导,保存,返回并设置它回到“除系统数据库之外的所有数据库”,确定退出向导,然后保存。这是很多点击!(那是 2005 年,2000 年的名单同样尴尬)
正常吗?还是有其他问题?
谢谢!
关于如何解决这个问题的任何想法?
我尝试创建另一个数据库并在那里放置一些表,但实际上只有 1 个大表,几乎有 300 万行,这个表占用了所有空间,因此分离表是没有用的。
我虽然想迁移到 MySQL,但是使用这个数据库的(前)程序员使用 SQL Server 框架对它进行了编程,他很讨厌它,所以它有很多代码要更改,我认为可以完成,但我没有没有那么多时间。
除了购买 sql server,我想不出任何办法,但我没有那种钱,我也想过从 torrent 或类似的东西“借用”它,但我的服务器是 gigenet 上的专用服务器,并且那会破坏 TOS。
谢谢
这是我在 windows 错误日志中看到的:
SQL Server 检测到基于逻辑一致性的 I/O 错误:校验和不正确(预期:0x19fedd20;实际:0x19fed5e3)。它发生在读取文件 'D:\mssql\local_repository_pbdiffimport.mdf' 中偏移量 0x00000000dc8000 处的数据库 ID 6 中的页面 (1:1764) 期间。SQL Server 错误日志或系统事件日志中的其他消息可能会提供更多详细信息。这是威胁数据库完整性的严重错误情况,必须立即纠正。完成完整的数据库一致性检查 (DBCC CHECKDB)。此错误可能由多种因素引起;有关详细信息,请参阅 SQL Server 联机丛书。
我跑了
数据库检查表
这告诉我我应该用选项 REPAIR_ALLOW_DATA_LOSS 恢复,所以我最终跑了
DBCC CHECKDB (my_db_name, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS
但这导致大约 2'000 行丢失。我恢复了一个备份,但现在我担心这会再次发生,因为大约 2 周前我们已经在同一个数据库中出现了一致性问题,但后来它发生在一个索引中(重新创建的索引解决了这个问题)。
我们已经调查了磁盘 - RAID5 看起来不错,没有错误,而且磁盘检查实用程序也没有发现任何硬件问题。
这可能是由操作系统 (Windows Server 2003) 或 MSSQL (MSSQL Server 2005) 引起的吗?
我正在使用 SQL 2005,今天正在帮助某人调试连接问题。我以为我可以从 SQL Management Studio 内部查看我当前的连接字符串,但似乎无法弄清楚如何实现它。
这可能吗?谷歌搜索一直没有结果。
谢谢!
灾难性的事情发生在我身上。我不小心从 SQL Server 2005 Express DB 中删除了我的重要表。有没有办法用所有记录恢复那个表?数据库日志文件有帮助吗?我有一个备份到昨天,今天的 6 小时交易丢失了。
哪些资源有助于跟踪 SQL Server 的累积更新?我注意到 Windows 更新确实为 SQL Server 提供了服务。
最近,我将所有 Dell Equallogic SAN 整合到同一组中;以前,每个 SAN 都位于自己的组中。它们都装有 RAID 6 中的 15k RPM SAS 驱动器,因此我没有费心对新整合组的存储进行分层,因为它们基本上都是相同的。
在此过程中,我将所有虚拟机更改为使用 VMDK 存储而不是 iSCSI,因为我相信性能会更好。
我现在被告知我们的 MS SQL 2005 服务器(目前是我们的主 SQL 框)的磁盘 I/O 性能一直比执行这些操作之前更差,但我不明白这是怎么回事。 ..它的磁盘(C - OS、D - MDF、E - LDF)现在比以前跨越更多的读取头,我的理解是 VMDK 存储比 iSCSI 性能更高。
那么什么给出呢?以下是 Solarwinds Database Performance Analyzer 中的“总 I/O 等待时间”图表:
performance sql storage-area-network sql-server-2005 dell-equallogic