在SQLServer 2000中进行分页查询的最有效方法是什么?
其中"分页查询"相当于在MySQL中使用LIMIT语句.
编辑:在这种情况下,存储过程是否可以比任何基于集合的查询更有效?
我需要使用SQL Server 2000的BCP实用程序导出一些数据.有时我的数据包含我需要用作列和行终止符的字符,例如\ t和\n.如何让BCP在输出数据时转义它用作终结符的字符,以便我可以在另一个程序中实际导入数据?
例如,我的一个列是文本数据,包括选项卡和换行符.BCP只是按原样导出它们,我试图导入它们的程序变得混乱,因为数据在一行中间结束和/或一行包含额外的列,没有明显的原因.
这似乎是一个非常非常非常基本的函数,包含在数据导出器中,但是没有一个命令行选项似乎提到它.(为什么它不仅仅是默认值超出我.)我错过了什么?
我有一个我正在处理的查询,我想增加其中一个字段,并在键值不同时重新启动计数器.
我知道这段代码不起作用.以编程方式这是我想要的......
declare @counter int, @id
set @counter = 0
set @id = 0
select distinct
id,
counter = when id = @id
then @counter += 1
else @id = id
@counter = 1
Run Code Online (Sandbox Code Playgroud)
...最终结果看起来像这样:
ID Counter
3 1
3 2
3 3
3 4
6 1
6 2
6 3
7 1
Run Code Online (Sandbox Code Playgroud)
是的,我被SQL2k困住了.否则row_number()会起作用.
我需要将Datetime字段转换为特定格式的INT类型.例如,我想
2000-01-01 00:00:00.000转换为20010101.
在查询中进行比较以进行比较的最高效方法是什么?
就像是:
DATEPART(year, orderdate) * 10000 + DATEPART(month, orderdate) * 100 +
DATEPART(day, orderdate)
Run Code Online (Sandbox Code Playgroud)
要么
cast(convert(char(8), orderdate, 112) as int)
Run Code Online (Sandbox Code Playgroud)
什么是最高效的方法?
我试过了:
ALTER LOGIN user
WITH DEFAULT_DATABASE = defaultDB
Run Code Online (Sandbox Code Playgroud)
但它说:
第1行:'LOGIN'附近的语法不正确.
我知道这项工作在2005年以上,但在2000年有不同的方式吗?
目前我正在研究SQL Server 2000,2005和2008,我的要求是,SQL Server 2000和2005中可用的数据库将在2008年使用链接服务器提供.
比方说,我在SQL Server 2000数据库名为LIVE_2000和SQL Server 2005中,它被称为LIVE_2005,能有人帮我创建链接的服务器LIVE_2000和LIVE_2005到SQL Server 2008?
第一件事甚至可能吗?
提前谢谢......`
我为一个不到50人的小公司工作,我可能是我们与DBA最接近的事情......我实际上是一名程序员,但这不是重点.我们有SQL Server 2000大约100个不同的数据库.几乎所有这些都具有关联的SQL登录,并且Login与DB_OWNER特定数据库的数据库角色相关联.我们还有一些设置为DB_DATAREADER数据库角色的登录.
我们购买了一台全新的机器(目前已有12年历史,并且担心硬件故障可能会导致我们的业务停机不可接受的时间).我们不升级SQL Server版本.我们将坚持2000年.
我的问题是最简单的方法是什么.我的想法是分离所有数据库,将它们复制到新机器,然后重新连接每个数据库.我将保持机器名称和IP相同,并在完成后删除旧服务器,因此不需要修改任何连接字符串.这似乎并不那么糟糕,并且很容易在周末完成.我这个方法的问题是,在我这样做之后,我需要从数据库中删除User,然后login使用用户名/密码重新创建,然后为每个用户分配适当的角色.我只在这里待了5年,而且我没有每个特定数据库和程序正在使用的所有可能的用户名/密码.我不想破坏任何现有的程序或者必须去每台机器并更新它...或者甚至可能必须找到旧的源代码并重新编译...是的,我们的一些遗留的东西有用户名/密码硬编码在来源:(.
所以我想主要的问题是他们的一个script,我可以将生成一个脚本,在新机器上现有的运行设置在现有的服务器上运行logins,users,roles具有相同的用户名/密码为过吗?
如果有一种更简单的方法将sql server实例从一台机器转移到另一台机器; 我听见了.
仅供参考我们尝试从现有服务器创建VHD以在虚拟机中使用但是已经使用了该路由.我们从未能让机器启动进入Windows.认为这是驱动程序问题.
在Sql Server 2000中,是否可以通过SQL查询返回给定数据库中存在的完整数据库角色列表?
我知道可以通过扩展SQL Server Management Studio中的安全性,角色和数据库角色节点来查看这些角色,但我想让他们通过我可以通过编程方式解析的查询.

为了澄清,我不是在寻找具有角色的用户列表,而只是查找角色列表本身.
我有一个数据库在SQL Server 2000上工作.我们现在正在迁移到SQL Server 2008 r2的新服务器.谁能指点我一些资源或怎么样?我并没有真正找到适合SQL 2000的方法.
谢谢!
要求是执行SSIS包,当文件到达文件夹时,我不想手动启动包.
它不确定文件的到达时间,文件也可以多次到达.当文件到达时,这必须加载到一个表中.我认为,一些解决方案如文件观察器任务,仍然期望启动包