我需要为数十亿条logging(一年约30亿/月)存储less量的数据(大约50-75字节)。 唯一的要求是对具有相同GUID的所有logging进行快速插入和快速查找,并且可以从.net访问数据存储。 我是一个SQL服务器的人,我认为SQL Server 可以做到这一点,但所有关于BigTable,CouchDB和其他nosql解决scheme的讨论,听起来越来越像一个传统的RDBS的替代可能是最好的,由于优化分布式查询和缩放。 我尝试了cassandra,而.net库目前没有编译,或者都可能随着cassandra本身而改变 。 我已经查看了许多可用的nosql数据存储,但无法find满足我需求的一个强大的生产就绪平台。 如果你必须存储360亿个小logging,这样才能从.net访问,那么会select什么,为什么?
简单的问题,你如何用T-SQL列出表的主键? 我知道如何在桌子上获得索引,但不记得如何获得PK。
在数据库中存储密码的首选方法/数据types是什么(最好是SQL Server 2005)。 在我们的几个应用程序中,我一直这样做的方式是首先使用.NETencryption库,然后将它们作为二进制(16)存储在数据库中。 这是首选的方法,或者我应该使用不同的数据types或分配更多的空间比16?
我有这个查询与MySQL: select * from table1 LIMIT 10,20 我怎样才能做到这一点与微软的SQL?
在过去的任何时候,如果有人问我varchar(max)的最大大小,我会说2GB,或者查找更准确的数字 (2 ^ 31-1或2147483647)。 但是,在最近的一些testing中,我发现varchar(max)variables显然可以超过这个大小: create table T ( Val1 varchar(max) not null ) go declare @KMsg varchar(max) = REPLICATE('a',1024); declare @MMsg varchar(max) = REPLICATE(@KMsg,1024); declare @GMsg varchar(max) = REPLICATE(@MMsg,1024); declare @GGMMsg varchar(max) = @GMsg + @GMsg + @MMsg; select LEN(@GGMMsg) insert into T(Val1) select @GGMMsg select LEN(Val1) from T 结果: (no column name) 2148532224 […]
我需要将int数据字段转换为具有前导零的nvarchar 例: 1转换为“001” 867转换为“000867”等 谢谢。 这是我4小时后的回应… 我testing了这个T-SQL脚本,适合我! DECLARE @number1 INT, @number2 INT SET @number1 = 1 SET @number2 = 867 SELECT RIGHT('000' + CAST(@number1 AS NCHAR(3)), 3 ) AS NUMBER_CONVERTED SELECT RIGHT('000000' + CAST(@number2 AS NCHAR(6)), 6 ) AS NUMBER_CONVERTED 我创build了这个用户function T-SQL代码: CREATE FUNCTION CIntToChar(@intVal BIGINT, @intLen Int) RETURNS nvarchar(20) AS BEGIN — BIGINT = […]
我怎样才能删除我的数据库的所有表中的所有logging? 我可以使用一个SQL命令吗?或者我需要每个表的一个SQL命令?
什么是查询将显示完整的定义,包括SQL Server表的索引和键? 我想要一个纯粹的查询 – 并知道SQL Studio可以给我这个,但我经常在“野生”的电脑,只有最简单的应用程序,我没有权利安装工作室。 但SQLCMD始终是一个选项。 更新:我已经尝试过sp_help,但只是产生一个logging显示名称,所有者,types和Created_Datetime。 有什么我失踪与sp_help? 这就是我所说的: sp_help机场 请注意,我真的很想要定义表的DDL。
我在我的数据库中有3个相关的表。 CREATE TABLE dbo.Group ( ID int NOT NULL, Name varchar(50) NOT NULL ) CREATE TABLE dbo.User ( ID int NOT NULL, Name varchar(50) NOT NULL ) CREATE TABLE dbo.Ticket ( ID int NOT NULL, Owner int NOT NULL, Subject varchar(50) NULL ) 用户属于多个组。 这是通过多对多的关系来完成的,但在这种情况下是不相关的。 门票可以由组或用户通过dbo.Ticket.Owner字段拥有。 最正确的方法是什么才能描述票证和可选用户或组之间的这种关系? 我想我应该在票据表中添加一个标志,说明什么types拥有它。
作为一名.NET开发人员,出于什么原因,我宁愿使用SSIS包来编写代码? 我们现在有很多包装在生产环境中,他们是一个“写”(也许是吸引)和维护的噩梦。 每个软件包看起来像一碗五彩的意大利细面条,C#和VB.NET脚本混合在抽象的细节点上。 为了弄清楚每个“执行SQL任务”或“Foreach循环”所做的事情,我必须双击该死的东西,浏览遍布多个选项卡的文字值和expression式树。 我是开放的,所以我想知道是否有其他优秀的开发人员发现SSIS比编写代码更有效率。 如果你确实发现SSIS更有效率,请告诉我为什么。