Questions tagged «sql-server-2008»

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

15
SQL中的Delete语句非常慢
我有这样的语句正在超时: DELETE FROM [table] WHERE [COL] IN ( '1', '2', '6', '12', '24', '7', '3', '5') 我尝试一次像这样做一次: DELETE FROM [table] WHERE [COL] IN ( '1' ) 到目前为止,已经到了22分钟,而且还在继续。 该表具有260,000行,为四列。 有谁知道为什么会这么慢以及如何加快速度?我在[WOL]上确实有一个非唯一,非聚集的索引,我正在其中进行操作。我正在使用SQL Server 2008 R2 更新:我桌上没有触发器。

6
如何仅安装SQL Server Management Studio 2008组件
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 7年前关闭。 改善这个问题 以下是我在Visual Studio 2010专业版安装程序中安装的SQL组件的列表。可悲的是,在尝试工作时,我找不到SQL Server Management Studio 2008。 有没有办法单独下载SQL Server Management Studio 2008并仅安装该组件? 从过去开始,我就安装了带有SQL Server 2005的全新实例的SQL Server Management Studio 2005,并具有几个实例,这有点混乱。

8
为什么不使用varchar(max)?
关于数据库设计,我有点老了,所以我完全赞成在列中使用正确的数据大小。但是,在查看一个朋友的数据库时,我注意到他使用varchar(max)了很多东西。现在,我立即想到的是将其退还给他,并告诉他进行更改。但是后来我考虑了一下,不能为他不使用它提供充分的理由(如果您想知道的话,他曾使用过一个案例类型工具来生成数据库)。 我一直在研究varchar(max)用法的主题,但我不能提出任何不使用它的充分理由。 他不使用列作为索引,位于数据库上的应用程序对输入有限制,因此不允许在字段中输入大量条目。 任何帮助将不胜感激,以帮助我让他看到光:)。

9
数据库设计:计算帐户余额
如何设计数据库以计算帐户余额? 1)目前,我从交易表中计算帐户余额。在我的交易表中,我有“说明”和“金额”等。 然后,我将所有“金额”值相加,得出用户的帐户余额。 我向我的朋友展示了这个,他说这不是一个好的解决方案,当我的数据库增长缓慢时?他说我应该创建一个单独的表来存储计算出的帐户余额。如果这样做,我将不得不维护两个表,这很冒险,帐户余额表可能会不同步。 有什么建议吗? 编辑:选项2:我应该在我的交易表“余额”中添加一个额外的列。现在,我不需要遍历很多数据来执行计算。 示例John购买了$ 100的信用额,他负债了$ 60,然后又增加了$ 200的信用额。 金额$ 100,余额$ 100。 金额-$ 60,余额$ 40。 金额$ 200,余额$ 240。


4
从同一服务器上另一个数据库的备份中创建新数据库?
我正在尝试从同一服务器上数据库的旧备份创建一个新数据库。使用SQL Server Management Studio并尝试从备份还原到新数据库时,出现此错误 System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than the existing 'test' database. (Microsoft.SqlServer.Smo) 谷歌搜索后,我发现了这段代码 RESTORE DATABASE myDB FROM DISK = 'C:\myDB.bak' WITH MOVE 'myDB_Data' TO 'C:\DATA\myDB.mdf', MOVE 'myDB_Log' TO 'C:\DATA\myDB_log.mdf' GO 我想知道move语句是否会使备份来自该服务器的数据库混乱? 谢谢,所有帮助表示赞赏。

6
错误-与当前连接关联的事务已完成但尚未处理
我一直TransactionScope难以使用来将多个数据库查询包装到一个事务中,我正在将SqlBulkCopy使用批处理大小为500。当我将批处理大小增加到1000时,出现了错误: 与当前连接关联的事务已完成,但尚未处理。必须先处理事务,然后才能使用该连接执行SQL语句。 这是我正在使用的代码: using (var scope = new TransactionScope()) { using (var connection = (SqlConnection)customerTable.OpenConnection()) { var table1BulkCopy = new SqlBulkCopy(connection) { BatchSize = BATCH_SIZE, DestinationTableName = TableName1 }; table1BulkCopy.WriteToServer(table1DataTable); var table2BulkCopy = new SqlBulkCopy(connection) { BatchSize = BATCH_SIZE, DestinationTableName = TableName2 }; table2BulkCopy.WriteToServer(table2DataTable); var table3BulkCopy = new SqlBulkCopy(connection) { …


5
对选择中的每一行执行插入操作?
我有许多记录需要插入多个表中。每隔一列将是一个常量。 下面的伪代码不好-这是我想做的: create table #temp_buildings ( building_id varchar(20) ) insert into #temp_buildings (building_id) VALUES ('11070') insert into #temp_buildings (building_id) VALUES ('11071') insert into #temp_buildings (building_id) VALUES ('20570') insert into #temp_buildings (building_id) VALUES ('21570') insert into #temp_buildings (building_id) VALUES ('22570') insert into property.portfolio_property_xref ( portfolio_id , building_id , created_date , last_modified_date …

10
实体框架6 GUID作为主键:无法将值NULL插入表'FileStore'的列'Id'中;列不允许为空
我有一个主键为“ Id”的实体,该实体为Guid: public class FileStore { public Guid Id { get; set; } public string Name { get; set; } public string Path { get; set; } } 和一些配置: protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<FileStore>().Property(x => x.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); base.OnModelCreating(modelBuilder); } 当我尝试插入记录时,出现以下错误: 无法将值NULL插入表'FileStore'的列'Id'中;列不允许为空。INSERT失败。\ r \ n该语句已终止。 我不想手动生成Guid。我只想插入一条记录Id并由SQL Server生成。如果我设置.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity),Id列不是SQL Server中的“身份”列。 如何配置实体框架以在SQL Server中自动生成Guid?



4
看不到我在SQL Server Management Studio 2008中创建的触发器
我在“专辑”表上创建了一个简单的触发器。但是该触发器在triggers文件夹的可编程性中在对象资源管理器中不可见。我刷新了该文件夹,然后重新启动了SSMS,但是仍然没有运气。但是我可以在triggers文件夹中的该表下看到该触发器。这是功能还是错误? 我正在使用SQL Server 2008。

8
复制数据库的最佳方法(SQL Server 2008)
愚蠢的问题-在要使用生产服务器中的实例刷新开发服务器的环境中,复制实例的最佳方法是什么? 我已经完成了备份-还原,但是我听说过detach-copy-attach,甚至有人告诉我他只需要在文件系统之间复制数据文件即可。 这三种(或两种,最后一种听起来有点可疑)是否被接受? 我的理解是第二种方法更快,但是由于分离方面,需要在源上停机。 另外,在这种情况下(想要在开发服务器上复制生产的精确副本),如何转移登录名等做法?我应该只备份和还原用户数据库+ master + msdb吗?

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

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.