Questions tagged «sql-server-2005»

使用此标记可以解决特定于Microsoft SQL Server 2005版本的问题。

19
从几列中选择最小值的最佳方法是什么?
给定SQL Server 2005中的下表: ID Col1 Col2 Col3 -- ---- ---- ---- 1 3 34 76 2 32 976 24 3 7 235 3 4 245 1 792 编写产生以下结果的查询的最佳方法是什么(即产生最后一列的查询-该列包含每一行的Col1,Col2和Col 3中的最小值)? ID Col1 Col2 Col3 TheMin -- ---- ---- ---- ------ 1 3 34 76 3 2 32 976 24 24 3 …


18
使用SQL Server选择更新
我正在使用隔离级别为READ_COMMITTED和的Microsoft SQL Server 2005数据库READ_COMMITTED_SNAPSHOT=ON。 现在我要使用: SELECT * FROM <tablename> FOR UPDATE ...以便其他数据库连接在尝试访问同一行“ FOR UPDATE”时阻塞。 我试过了: SELECT * FROM <tablename> WITH (updlock) WHERE id=1 ...但是这会阻止所有其他连接,即使选择“ 1”以外的ID也是如此。 SELECT FOR UPDATE以Oracle,DB2,MySql所知,哪个是正确的提示? 编辑2009-10-03: 这些是创建表和索引的语句: CREATE TABLE example ( Id BIGINT NOT NULL, TransactionId BIGINT, Terminal BIGINT, Status SMALLINT ); ALTER TABLE example ADD CONSTRAINT …

8
即使事务回滚,SQL身份(自动编号)也会增加
我有一个带有SQL插入SQL Server 2005数据库的.net事务。该表具有一个身份主键。 当事务内发生错误时,将Rollback()被调用。行插入将正确回滚,但是,下次我将数据插入表时,身份将增加,就好像从未发生过回滚一样。因此,本质上在同一性序列中存在缺口。有什么方法可以使该Rollback()方法回收丢失的身份? 我不是用正确的方法吗?


3
使用INSERT INTO插入多个值(SQL Server 2005)
在SQL Server 2005中,我试图弄清为什么我不能在表中插入多个字段。下面的查询插入一条记录,可以正常工作: INSERT INTO [MyDB].[dbo].[MyTable] ([FieldID] ,[Description]) VALUES (1000,N'test') 但是,以下指定多个值的查询失败: INSERT INTO [MyDB].[dbo].[MyTable] ([FieldID] ,[Description]) VALUES (1000,N'test'),(1001,N'test2') 我收到此消息: Msg 102, Level 15, State 1, Line 5 Incorrect syntax near ','. 当我在SQL Sever Management Studio中查找INSERT的帮助时,其中一个示例显示了使用的“值”语法(括号内是值组,并用逗号分隔)。我在SQL Server Management Studio中找到的帮助文档看起来像是针对SQL Server 2008的,所以这也许就是插入无法正常工作的原因。无论哪种方式,我都无法弄清楚为什么它不起作用。






15
如何找到SQL Server实例的数据目录?
我们有一些大型数据库(20GB +),其中大多数包含静态查找数据。因为我们的应用程序对这些数据库中的表执行联接,所以它们必须是每个开发人员本地SQL Server的一部分(即它们不能托管在中央共享数据库服务器上)。 我们计划复制一组规范的实际SQL Server数据库文件(* .mdf和* .ldf),并将它们附加到每个开发人员的本地数据库中。 找出本地SQL Server实例的数据目录的最佳方法是什么,以便我们可以将文件复制到正确的位置?这将通过自动化过程完成,因此我必须能够从构建脚本中找到并使用它。


10
我可以添加没有默认值的非空列吗
是否可以添加我指定为NOT NULL的列,我不想指定DEFAULT值,但是MS-SQL 2005说: ALTER TABLE仅允许添加可以包含空值或指定DEFAULT定义的列,或者要添加的列是Identity或timestamp列,或者如果不满足任何先前条件,则该表必须为空才能允许添加本专栏的内容。无法将列“ test”添加到非空表“ shiplist”中,因为它不满足这些条件。 如果是,请让我知道语法,如果否,请说明原因。

12
将表数据从一个SQL Server导出到另一个
我有两个SQL Server(均为2005版)。 我想将几个表从一个迁移到另一个。 我试过了: 在源服务器上,我右键单击数据库,选择Tasks/Generate scripts。问题在于,在此之下Table/View options没有Script data选择。 然后,我用来Script Table As/Create script生成SQL文件,以便在目标服务器上创建表。但是我仍然需要所有数据。 然后我尝试使用: SELECT * INTO [destination server].[destination database].[dbo].[destination table] FROM [source server].[source database].[dbo].[source table] 但是我得到了错误: 对象包含的前缀数量超过了最大数量。最大值为2。 有人可以为我指出解决问题的正确方法吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.