Tag: sql server

如何在SQL Server数据库中查找最大的对象?

我将如何去查找SQL Server数据库中最大的对象? 首先,通过确定哪些表(和相关索引)最大,然后确定特定表中哪些行最大(我们正在将二进制数据存储在BLOB中)? 有帮助进行这种数据库分析的工具吗? 还是有一些简单的查询,我可以运行系统表?

通过填充SQL Server中的前导零来格式化数字

我们有一个SQL Server 2000使用了近10年的旧SQL表。 其中,我们的员工证号码存储为从000001到999999 char(6) 。 我正在编写一个Web应用程序,我需要存储员工证件号码。 在我的新表中,我可以采取快捷方式并复制旧表,但我希望通过简单地存储从1到999999整数值来实现更好的数据传输,更小的尺寸等。 在C#中,我可以使用快速格式化徽章编号的int值 public static string GetBadgeString(int badgeNum) { return string.Format("{0:000000}", badgeNum); // alternate // return string.Format("{0:d6}", badgeNum); } 我如何修改这个简单的SQL查询来格式化返回的值? SELECT EmployeeID FROM dbo.RequestItems WHERE ID=0 如果EmployeeID是7135,则此查询应该返回007135 。

无法开始分布式事务

我试图对链接的服务器运行SQL,但我得到的错误。 BEGIN DISTRIBUTED TRANSACTION SELECT TOP 1 * FROM Sessions OLE DB provider "SQLNCLI" for linked server "ASILIVE" returned message "No transaction is active.". Msg 7391, Level 16, State 2, Line 3 The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "ASILIVE" was unable to begin a distributed transaction. 提供者返回了两个错误: […]

如何使用SQL Server中的INNER JOIN从多个表中删除

在MySQL中,您可以使用语法 DELETE t1,t2 FROM table1 AS t1 INNER JOIN table2 t2 … INNER JOIN table3 t3 … 我如何在SQL Server中做同样的事情?

SQL Server Management Studio不会让我添加一个索引到表

当我右键单击表中的索引文件夹时,“新build索引”菜单项变灰。 我不明白为什么。 我已经删除了表中的所有数据,以防万一,刷新并重新启动SSMS,但没有运气。 我正在使用SQL Server 2012商业智能SP1 CTP。

Sql查询分组按天

我想列出所有的销售,并按天分组。 Sales (saleID INT, amount INT, created DATETIME) 更新我正在使用SQL Server 2005

SQL删除与INNER JOIN

有2个表, spawnlist和npc ,我需要从spawnlsit删除数据。 npc_templateid = n.idTemplate是唯一的“连接”表。 我已经试过这个脚本,但它不起作用。 我试过这个: DELETE s FROM spawnlist s INNER JOIN npc n ON s.npc_templateid = n.idTemplate WHERE (n.type = "monster");

SQL Server数据库还原错误:指定的强制转换无效。 (SqlManagerUI)

我使用SQL Server 2008 R2 Standard(版本10.50.1600.1)作为我的生产网站,SQL Server Express版本使用高级服务(v10.50.1600.1)作为数据库的本地主机。 几天后我的SQL Server崩溃了,我不得不在我的本地主机上安装一个新的2008 R2 Express版本。 当我恢复从Express版本采取一些旧版本,但是当我尝试从生产服务器采取.bak文件恢复数据库时,它工作正常,它会导致以下错误: 错误:指定的转换无效。 (SqlManagerUI) 当我尝试使用命令恢复数据库 Use Master Go RESTORE DATABASE Publications FROM DISK = 'C:\Publications.bak' WITH MOVE 'Publications' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.mdf',–adjust path MOVE 'AlPublications_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.ldf' 它会产生一个不同的错误 消息3154,等级16,状态4,行1 备份集保存了除现有“出版物”数据库之外的数据库的备份。 消息3013,级别16,状态1,行1 RESTORE DATABASE正在终止exception。 我已经交叉检查版本。 如下图所示,它们都与我相匹配 以前我能够从标准版本恢复数据库来expression版本,但现在失败了。 我删除了数据库,并试图重新创build它。 这也失败了。 我不知道我在做什么错。 我将不胜感激这方面的帮助 问题已解决,因为它似乎.bak文件已损坏。 […]

SQL主键和索引

假设我在数据库集中有一个ID行(int)作为主键。 如果我经常查询ID,我还需要索引它? 还是它是一个主键意味着它已经被索引? 我想问的原因是因为在MS SQL Server中,我可以在这个ID上创build索引,正如我所说的那样是我的主键。 编辑:一个额外的问题 – 它会做任何伤害额外索引主键?

脚本整个数据库SQL-Server

有没有办法从数据库中获取所有表,过程和其他对象的脚本? 我知道有一个脚本数据库的选项,但它只给了我一些顶级脚本,当然不是一个脚本来创build所有的表,procs,udfs,.etc。