Tag: sql server

SQL Server 2008上的唯一键与唯一索引

我有一个名为countries的表,我通过在SQL Server 2008 R2上创buildtypes为“唯一键”的“索引/键”来将country_name列定义为唯一的。 但是我有以下问题: 将创build“唯一键”types的“索引/键”自动创build此列上的非聚集索引? 如果将types从“唯一键”更改为“索引”,并将IsUnique值保持为“是”,那么会有什么区别吗? 所以为什么有两个选项“独特的钥匙”和“指数”,我认为这两个是相同的?

如何重写IS DISTINCT FROM和不DISTINCT FROM?

在Microsoft SQL Server 2008R2等不支持SQL的实现中,如何重写包含标准IS DISTINCT FROM和IS NOT DISTINCT FROM运算符的expression式?

如何将表格旋转45度并将结果保存到另一个表格中?

我有一张桌子。 ——— | a | b | ——— | a | b | ——— 我想旋转它45度(顺时针或逆时针),并保存到另一个表。 例如,如果我逆时针旋转45度,它将是: ————- | b | | | ————- | a | b | | ————- | a | | | ————- 另一个例子,当我旋转 ————- | a | b | c | ————- | d | e | f | ————- | […]

在C#中批量更新

为了在数据库中插入大量的数据,我使用收集所有的插入信息到一个列表中,并把这个列表转换成一个DataTable 。 然后通过SqlBulkCopy将该列表插入到数据库中。 我在哪里发送我生成的列表 LiMyList 其中包含我想要插入数据库的所有批量数据的信息 并将其传递给我的批量插入操作 InsertData(LiMyList, "MyTable"); InsertData在哪里 public static void InsertData<T>(List<T> list,string TableName) { DataTable dt = new DataTable("MyTable"); clsBulkOperation blk = new clsBulkOperation(); dt = ConvertToDataTable(list); ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); using (SqlBulkCopy bulkcopy = new SqlBulkCopy(ConfigurationManager.ConnectionStrings["SchoolSoulDataEntitiesForReport"].ConnectionString)) { bulkcopy.BulkCopyTimeout = 660; bulkcopy.DestinationTableName = TableName; bulkcopy.WriteToServer(dt); } } public static DataTable ConvertToDataTable<T>(IList<T> data) { PropertyDescriptorCollection properties […]

可以在SQL Server 2012上还原SQL Server 2014的备份吗?

我知道你不能(至less不容易)在SQL Server 2008上恢复SQL Server 2012的备份。但是它对SQL Server 2014到SQL Server 2012的工作如何呢? 在数据库级别有属性来调整兼容模式为任何其他SQL Server版本。 这是如何帮助或工作? 它只会禁止从2014年的function? 说实话,我已经尝试恢复备份,但2012年没有识别数据文件,所以我不能点击ok Button来启动恢复过程。 我错过了一些重要的select吗?

指数数组的边界之外。 (Microsoft.SqlServer.smo)

我正在使用SQL Server 2008 R2 。 它工作正常。 但是最近,我更改了我的托pipe服务器,并且知道他们已经在服务器上安装了SQL Server 2012 。 现在,问题是,通过SQL Server 2008 R2与服务器数据库连接后,当我点击任何表名或存储过程,我得到错误: Index was outside the bounds of the array. (Microsoft.SqlServer.smo) Index was outside the bounds of the array. (Microsoft.SqlServer.smo) 那么,有没有问题从我这边或从服务器端? 我怎样才能防止这个问题?

目录,模式,用户和数据库实例之间的关系

要比较不同供应商(Oracle,SQL Server,DB2,MySQL和PostgreSQL)的数据库,我怎样才能识别任何唯一的对象,并且我需要一个目录? 例如,在Java的DatabaseMetadata中,我应该至less指定目录和模式fooPattern。 目录仅仅是数据存储的抽象是真的吗?

为什么数据库devise者不能使IDENTITY列从最小值而不是1开始?

正如我们所知,在Sql Server中, IDENTITY (n,m)表示值将从n开始,增量值为m ,但是我注意到所有的数据库devise者都将Identity列设置为IDENTITY(1,1) ,而没有利用从(-2,147,483,648) to (2,147,483,647)的所有int数据types的值, 我打算将所有标识列设置为IDENTITY (-2,147,483,648, 1) (标识列对应用程序用户是隐藏的)。 这是一个好主意吗 ?

在还原SQL Server 2005数据库之后将用户链接到login

我希望在两台服务器之间移动一个数据库,我已经从第一台服务器上备份了数据库,并在第二台服务器上完成了数据库还原,到目前为止还是不错的。 然而,我们的应用程序使用了数据库中定义的大量数据库用户。 这些必须链接到master数据库中定义的login名。 我已经恢复数据库的服务器已经定义了所有的login,但是他们有不同的sids。 我不是一个T-SQL专家。 我认为sp_change_users_login是解决scheme的一部分,但我找不到如何让它自动链接恢复数据库中的所有用户到同名的login名。 我们为我们的应用程序使用的数据库创build脚本创build用户和login,但创buildlogin时不指定SID,因此出现此问题。 现在如果我有时间机器… (当我谷歌我得到很多点击,但他们大多是网站,不会让你看到的答案,而不必先注册在网站上。)

应该使用什么样的数据types来存储散列

我知道基于SQL Server中不同的数据types,散列会有所不同。 一个支持Unicode另一个不行….等等(也是整理) 我使用char(32)作为数据types,但输出是奇怪的。 使用这个 select HASHBYTES('MD5','MD5Text') 给出了这个输出: 0xA891DB2DA259280A66FD5F35201CAB6A 什么时候 declare @h char(32) select @h=HASHBYTES('MD5','MD5Text') select @h,LEN(@h) 输出: </s>'Ы-ўY(fэ_5«j 所以我是SQL Server的新手。 任何人都可以,请告诉我什么样的数据types,我应该用来存储哈希?