问题标签 [sql-server-2000]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server-2000 - 链接服务器性能和选项
在工作中,我们有两台服务器,一台正在运行一个很多人使用的应用程序,它有一个 SQL Server 2000 后端。很长一段时间以来我一直可以自由地查询它,但不能向它添加任何东西,例如存储过程或额外的表。
这导致我们将第二个 SQL Server 链接到第一个 SQL Server,而我构建了一个存储过程库,该库使用链接服务器从双方查询数据。其中一些查询花费的时间比我想要的要长。
有人可以给我一些关于使用链接服务器的好文章吗?我对找出两者之间正在传输的数据特别感兴趣,因为通常大多数 sql 语句都可以远程执行,但我感觉它可能正在传输完整的表,它通常只是一个小的 final 的连接本地表。
另外我目前有什么链接服务器选项:
- 校对兼容 True
- 数据访问真
- RPC 真
- Rpc 输出真
- 使用远程整理 False
- 排序规则名称(空白)
- 连接超时 0
- 查询超时 0
编辑:
只是想我会更新这篇文章,我使用了带有动态参数的 openqueries 一段时间来提高性能,谢谢你的提示。但是,当您最终处理字符串时,这样做会使查询更加混乱。终于在今年夏天,我们将 SQL Server 升级到 2008 并实现了实时数据镜像。老实说,对于我的任务,开放查询的速度已经接近本地查询的速度,但镜像确实使 sql 更容易处理。
debugging - 在 SQLAnalyzer 中传递时间戳参数以调试存储过程
您好我正在尝试通过 SQL Analyzer 调试存储过程,其中一个参数是时间戳数据类型。如果我想将 0x00000001410039E2 作为参数传递,我该怎么做?当我通过 0x00000001410039E2 时,我得到一个字符串截断错误,当我只通过 1410039E2 时,我得到 0x1410039E20000000?
编辑:@Frans 是的,这是可行的,但我的问题是,在 SQLAnalyzer 中,当我在值文本框中输入值时右键单击并调试时,我收到错误消息:
sql - 我可以通过转义单引号并用单引号包围用户输入来防止 SQL 注入吗?
我意识到参数化 SQL 查询是在构建包含用户输入的查询时清理用户输入的最佳方式,但我想知道接受用户输入并转义任何单引号并用单引号包围整个字符串有什么问题。这是代码:
用户输入的任何单引号都将替换为双单引号,这消除了用户结束字符串的能力,因此他们可能键入的任何其他内容,例如分号、百分号等,都将成为字符串的一部分,并且实际上并未作为命令的一部分执行。
我们使用的是 Microsoft SQL Server 2000,我相信单引号是唯一的字符串定界符,也是转义字符串定界符的唯一方法,因此无法执行用户输入的任何内容。
我看不出有任何方法可以对此发起 SQL 注入攻击,但我意识到,如果这在我看来是防弹的,那么其他人早就想到了,这将是常见的做法。
这段代码有什么问题?有没有办法通过这种清理技术进行 SQL 注入攻击?利用此技术的示例用户输入将非常有帮助。
更新:
我仍然不知道有什么方法可以有效地对这段代码发起 SQL 注入攻击。一些人建议反斜杠将转义一个单引号并留下另一个以结束字符串,以便将字符串的其余部分作为 SQL 命令的一部分执行,我意识到这种方法可以将 SQL 注入MySQL 数据库,但在 SQL Server 2000 中,唯一的方法(我已经能够找到)转义单引号是使用另一个单引号;反斜杠不会这样做。
除非有办法阻止单引号的转义,否则用户输入的其余部分都不会被执行,因为它们都将被视为一个连续的字符串。
我知道有更好的方法来清理输入,但我真的更有兴趣了解为什么我上面提供的方法不起作用。如果有人知道针对这种清理方法发起 SQL 注入攻击的任何特定方法,我很乐意看到它。
sql-server-2005 - 为什么要从 SQL2000 升级到 SQL2005?
我正在寻找您很高兴您已经从 SQL2000 跳转到 SQL2005 的一个最大原因。
transactions - SQL Server 2000 和 System.Transactions.TransactionScope()
是否可以使用带有 SQL2000 的 TransactionScope() 创建 LIGHTWEIGHT 事务?或者,如果没有,是否有使用 CommitableTransaction 和/或类似方法的解决方法?
所以答案基本上是,“如果你想在 SQL2000 上进行本地到 1 个服务器的事务,不要使用 TransactionScope()”。
sql - 在 SQL 查询中执行正则表达式(替换)
<
在给定的数据库列中替换所有 '<' 的最佳方法是什么?基本执行s/<[^;]/</gi
笔记:
- 必须在MS SQL Server 2000中工作
- 必须是可重复的(并且不能以 结尾
<;;;;;;;;;
)
sql-server-2000 - 我收到来自 SQL Server 2000 的“致命错误 7987”错误
尝试从存储的过程中进行插入时发生错误。我尝试按照 Jonathan Holland 建议的 kb 文章的建议运行 DBCC CHECKDB,它返回的结果完全没有问题。
sql - 如何根据列的内容在 T-SQL 中输出布尔值?
我对不同表的列进行了抽象,并对它们进行了预过滤和预排序。有一列的内容我不关心,但我需要知道内容是否为空。因此,如果此指定列的值不为 null,则我的视图应将别名传递为“ true ”,如果值为null ,则应将别名传递为“ false ” 。
如何使用 T-SQL 选择这样的布尔值?
sql-server - Programmatically renaming a table in SQL Server 2000 - is sp_rename the only solution?
I recently had to rename a table (and a column and FK/PK contraints) in SQL Server 2000 without losing an data. There did not seem to be an obvious DDL T-SQL statements for performing this action, so I used sp_rename to directly fiddle with object names.
Was this the only solution to the problem? (other, than give the table the correct name in the first place - doh!)
sql-server - 有没有办法在 SQL 2000 中编写图表脚本(或以另一种方式保存它们)?
可以在 SQL Server 2000 中创建对显示表之间的关系很有用的二元图。我们遇到的问题是,当有人刷新我们的开发数据库时,图表会丢失。我们可以使用 SQL 脚本加载表、存储过程、视图等,但我们必须手动创建图表。
有没有办法编写图表?还是可以以其他方式将它们保存在数据库之外?