Questions tagged «sql-server-2008»

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

9
在SQL Server Management Studio(2005或更高版本)中连接其他Windows用户
在SQL Server Management Studio 2005(或更高版本)中,是否可以更改Windows身份验证用户(就像在SQL Server 2000和更早版本中一样)? 这是“常规连接属性”对话框(请注意,选择“ Windows身份验证”时显示为灰色的UID / PWD): 仅供参考-一种解决方法是使用,runas但我正在寻找一种解决方案,该解决方案将允许我在多个服务器(和多个域)中使用多个Windows帐户。

13
SQL Server-插入后返回值
我正在尝试在INSERT语句之后找回键值。示例:我有一个带有属性名称和ID的表。id是一个生成的值。 INSERT INTO table (name) VALUES('bob'); 现在,我想在同一步骤中重新获得ID。怎么做? 我们正在使用Microsoft SQL Server 2008。


29
如何在SQL中选择一个月的第一天?
我只需要选择给定datetime变量的月份的第一天。 我知道使用这种代码非常容易: select CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) + '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME) 但这不是很优雅,也可能不是很快。 有一个更好的方法吗?我正在使用SQL Server 2008。



17
实体框架:已经有与此命令关联的打开的DataReader
我正在使用Entity Framework,有时我会收到此错误。 EntityCommandExecutionException {"There is already an open DataReader associated with this Command which must be closed first."} at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands... 即使我没有进行任何手动连接管理。 此错误间歇地发生。 触发错误的代码(为便于阅读而缩短): if (critera.FromDate > x) { t= _tEntitites.T.Where(predicate).ToList(); } else { t= new List<T>(_tEntitites.TA.Where(historicPredicate).ToList()); } 使用Dispose模式以便每次都打开新连接。 using (_tEntitites = new TEntities(GetEntityConnection())) { if (critera.FromDate > x) { t= …



5
“防止保存需要重新创建表的更改”的负面影响
前言 我今天修改了SQL Server 2008中的一列,将数据类型从currency(18,0)更改为(19,2)。 我从SQL Server中收到错误消息“所做的更改要求删除并重新创建下表”。 在争夺答案之前,请阅读以下内容: 我已经知道在“ 工具”►“选项”►“设计器”►“表和数据库设计器”►取消选中 “防止保存需要重新创建表的更改” 框,这是一个选项。 ...所以不要回答! 实际问题 我的实际问题是其他问题,如下所示: 这样做有没有负面影响/可能的弊端? 取消选中此框后,实际上是否会自动删除并重新创建表? 如果是这样,该表副本是否是源表的100%精确副本?


7
SQL Server SELECT INTO @变量?
我的Sql(2008)Stored Procs之一具有以下代码,该代码执行得很好: CREATE PROCEDURE [dbo].[Item_AddItem] @CustomerId uniqueidentifier, @Description nvarchar(100), @Type int, @Username nvarchar(100), AS BEGIN DECLARE @TopRelatedItemId uniqueidentifier; SET @TopRelatedItemId = ( SELECT top(1) RelatedItemId FROM RelatedItems WHERE CustomerId = @CustomerId ) DECLARE @TempItem TABLE ( ItemId uniqueidentifier, CustomerId uniqueidentifier, Description nvarchar(100), Type int, Username nvarchar(100), TimeStamp datetime ); INSERT …

4
多列的唯一约束
CREATE TABLE [dbo].[user]( [userID] [int] IDENTITY(1,1) NOT NULL, [fcode] [int] NULL, [scode] [int] NULL, [dcode] [int] NULL, [name] [nvarchar](50) NULL, [address] [nvarchar](50) NULL, CONSTRAINT [PK_user_1] PRIMARY KEY CLUSTERED ( [userID] ASC ) ) ON [PRIMARY] GO 如何为fcode, scode, dcode带有t-sql和/或的列添加唯一约束management studio?fcode, scode, dcode在一起必须唯一。

10
SQL Server插入(如果不存在)
我想将数据插入表中,但只插入数据库中不存在的数据。 这是我的代码: ALTER PROCEDURE [dbo].[EmailsRecebidosInsert] (@_DE nvarchar(50), @_ASSUNTO nvarchar(50), @_DATA nvarchar(30) ) AS BEGIN INSERT INTO EmailsRecebidos (De, Assunto, Data) VALUES (@_DE, @_ASSUNTO, @_DATA) WHERE NOT EXISTS ( SELECT * FROM EmailsRecebidos WHERE De = @_DE AND Assunto = @_ASSUNTO AND Data = @_DATA); END 错误是: 消息156,级别15,状态1,过程EmailsRecebidosInsert,第11行 关键字“ WHERE”附近的语法错误。

12
杀死与数据库的所有连接的脚本(超过RESTRICTED_USER ROLLBACK)
我有一个开发数据库,​​该数据库经常从Visual Studio数据库项目中重新部署(通过TFS自动生成)。 有时,当我运行构建时,会出现以下错误: ALTER DATABASE failed because a lock could not be placed on database 'MyDB'. Try again later. ALTER DATABASE statement failed. Cannot drop database "MyDB" because it is currently in use. 我尝试了这个: ALTER DATABASE MyDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE 但我仍然无法删除数据库。(我的猜测是大多数开发人员都dbo可以访问。) 我可以手动运行SP_WHO并开始终止连接,但是我需要一种自动方式来自动构建。(尽管这次我的连接是我要删除的数据库上的唯一连接。) 是否有一个脚本可以删除我的数据库,而不管连接了谁?

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.