Tag: sql server

MS SQL 2008 – 获取数据库中的所有表名及其行数

我试图通过应用程序(由他人开发)来确定哪些表受到数据更新的影响。 数据库中有200多个表,我想避免检查每个表的变化。 有没有其他方法可以列出所有表名和行数? select table_name from information_schema.tables 列出所有在我的数据库中的表买我怎样包括行数以及?

SQL Server截断和8192限制

在SQL Server 2005中,我试图查询一个varchar(MAX)列,其中有一些行的文本数据超过了8192.然而,在pipe理工作室我有工具 – >选项 – >查询结果 – >结果文本 – >每列显示的最大字符数= 8192 ,最大值。 因此,似乎这些行上的截断仅仅是由于文本输出所施加的限制而发生的。 我看到解决这个问题的唯一方法就是使用SUBSTRING函数来抓取第一个8000个字符,然后是下一个8000个字符等等。但是这很丑陋,容易出错。 我应该提到SSIS和BCP不适合我。 有没有人有更好的build议? 谢谢!

数据库可以处理超过5亿行

我正在寻找一个可以处理的数据库(在合理的时间内在列上创build一个索引,并在less于3秒内为select查询提供结果)超过500万行。 Postgresql或Msql在低端机(核心2 CPU 6600,4GB,64位系统,Windows VISTA)处理如此大量的行? 更新:提出这个问题,我正在寻找哪些数据库我应该在低端机器上使用,以便提供结果来select带有where子句中指定的一个或两个字段的问题。 没有join。 我需要创build索引 – 它不能像在mysql上那么长时间 – 为我的select查询实现足够的性能。 这台机器是一台testing电脑来执行一个实验。 表架构: create table mapper { key VARCHAR(1000), attr1 VARCHAR (100), attr1 INT, attr2 INT, value VARCHAR (2000), PRIMARY KEY (key), INDEX (attr1), INDEX (attr2) }

在使用SQL Server的表中查找重复的logging

我正在validation具有电子商务网站的交易级别数据的表格,并find确切的错误。 我希望您的帮助能够在SQL Server的50列表中find重复的logging。 假设我的数据是: OrderNo shoppername amountpayed city Item 1 Sam 10 A Iphone 1 Sam 10 A Iphone—>>Duplication to be detected 1 Sam 5 A Ipod 2 John 20 B Macbook 3 John 25 B Macbookair 4 Jack 5 A Ipod 假设我使用下面的查询: Select shoppername,count(*) as cnt from dbo.sales having count(*) > 1 group by […]

使用不同数据库的数据库和模式之间的差异?

MS SQL和MySQL之间的数据库术语有什么区别? 一个MySQL实例可以有多个数据库吗? 看起来它只能创build不同的模式。 但是,SQL命令是create database 。 在MS SQL中,可以创build多个数据库…每个数据库都有一个默认的dbo模式?但是数据库中的多个模式仍然是可能的?

SQL Server从date时间中删除毫秒

select * from table where date > '2010-07-20 03:21:52' 我希望不会给我任何结果…除了我得到一个logging2010-07-20 03:21:52.577 我怎样才能使查询忽略毫秒?

插入数据到SQL Server是否locking整个表?

我正在使用entity framework ,并将logging插入到我们的数据库,其中包括blob字段。 blob字段最多可以有5 MB的数据。 在此表中插入logging时,是否locking整个表? 所以,如果你正在查询表中的任何数据,它会阻塞,直到插入完成(我知道有这方面的方法,但我说默认情况下)? 在它导致僵局之前需要多长时间? 这个时间取决于服务器的负载是多less,例如,如果没有太多的负载,会花费更长的时间导致死锁? 有什么方法可以监视并查看在特定时间被locking的内容吗? 如果每个线程都在单个表上进行查询,那么是否会出现阻塞的情况? 那么是不是只有当你有一个查询有一个连接并且在多个表上作用时才会发生死锁? 这是考虑到我的大部分代码只是一堆select语句,而不是长时间运行的事务或类似的东西。

SQL Server:转换((INT)年,(INT)月,(INT)天)date时间

可能重复: 用T-SQL创build一个date 我有一个数据表,每年,每月和每天的价值存储为整数: year | month | day 2009 | 1 | 1 2008 | 12 | 2 2007 | 5 | 5 我需要将其转换为date时间值,因为我需要在操作之间的date时间使用它。 我怎么能这样做?

在包含逗号分隔值的列中的值

您好我想知道如何编写SQL Server 2008的SQL语句,select条目的列中包含一个值,现在列中的值是一个逗号分隔列表(通常 – 可能只有一个条目(并没有前导逗号) )所以检查的是“这个值是否包含在列表中的某处?”,例如: COLUMN = Cat, Dog, Sparrow, Trout, Cow, Seahorse Does COLUMN contain Cat? YES Does COLUMN contain horse? NO Does COLUMN contain Sheep? NO 要么 COLUMN = Mouse Does COLUMN contain Hare? NO Does COLUMN contain Mouse? YES 等等 我以为我可以使用“IN”关键字 SELECT id_column FROM table_name WHERE 'Cat' IN COLUMN 但是这不起作用,因为您似乎只能使用它来检查列是否包含一系列逗号分隔值之一。 我也不能使用CONTAINS()或'LIKE',因为在上面的例子中会返回'horse'的值,因为整个string包含'Seahorse'中的马,我不能search针头和逗号(if我正在寻找“马”search将是“马”),如果条目是在列表的末尾? […]

SQL:结合从多个表中select计数(*)

如何将来自不同表格的多个select计数(*)合并为一个返回? 我有一个类似的这个职位 sitiuation 但我想要一个回报。 我试了联盟所有,但它吐了3个单独的计数行。 你怎么把它们合并成一个? select count(*) from foo1 where ID = '00123244552000258' union all select count(*) from foo2 where ID = '00123244552000258' union all select count(*) from foo3 where ID = '00123244552000258' 编辑:我在MS SQL 2005