标签: sql-server-2005

是否有开源SQL Server DB比较工具?

我正在开发一个使用SQL Server 2005作为数据存储的开源项目.我们需要一个DB比较工具来生成diff脚本,以便能够将DB从一个版本升级到另一个版本.

是否有一个开源或免费的SQL Server数据库差异工具,生成转换脚本?

sql-server compare sql-server-2005

41
推荐指数
4
解决办法
2万
查看次数

用于更改所有外键以添加ON DELETE CASCADE的SQL脚本

我有一个约有250个表的SQL 2005数据库.

我想暂时为所有外键启用ON DELETE CASCADE,以便我可以轻松地进行批量删除.

然后,我想关闭所有外键上的ON DELETE CASCADE.

我知道这样做的唯一方法是使用Management Studio生成完整的数据库创建脚本,进行某种搜索和替换以除去外键以外的所有内容,保存脚本,然后再做一些搜索并替换添加ON DELETE CASCADE.

然后我运行脚本,执行删除操作,然后运行其他脚本.

是否有更简单的方法来生成此脚本?这种方法似乎太容易出错,我将不得不使用我们对数据库进行的任何其他更改使脚本保持最新,或者每次我需要使用它时手动重新生成它.

是否可以在系统表上运行select来为我"生成"脚本?甚至可以在启用和禁用ON DELETE CASCADE的系统表上运行更新吗?

sql sql-server sql-server-2005

41
推荐指数
3
解决办法
4万
查看次数

在SQL Server Management Studio中调试存储过程

有没有办法进入SQL Server Management Studio中的存储过程代码?我知道Visual Studio可以实现这一点,但我正在寻找Management Studio中可靠的调试解决方案

sql sql-server sql-server-2005 sql-server-2008

41
推荐指数
3
解决办法
9万
查看次数

有没有办法在SQL Server Management Studio Express 2005的查询编辑器中查看空格?

我在Visual Studio 2008中启用了它,但我真的想在SQL Server Management Studio 2005 Express中启用此功能.有谁知道它可能吗?也许在以后的版本?

编辑:对不起,我的意思是在文本/查询编辑器中.

ide whitespace ssms sql-server-2005

41
推荐指数
3
解决办法
1万
查看次数

sql server中的整数除法

在Microsoft SQL Server 2005中,为什么以下命令会生成整数结果?

SELECT cast(151/6 AS DECIMAL(9,2))
SELECT 151/6
Run Code Online (Sandbox Code Playgroud)

sql-server-2005

41
推荐指数
4
解决办法
8万
查看次数

使用SQL Server在表中查找重复记录

我正在验证一个包含电子商务网站的交易级别数据的表格,并找到确切的错误.

我希望您的帮助在SQL Server上的50列表中查找重复记录.

假设我的数据是:

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
Run Code Online (Sandbox Code Playgroud)

假设我使用以下查询:

Select shoppername,count(*) as cnt
from dbo.sales
having count(*) > 1
group by shoppername
Run Code Online (Sandbox Code Playgroud)

会回来的

Sam  2
John 2
Run Code Online (Sandbox Code Playgroud)

但我不想找到重复超过1或2列.我想在我的数据中找到所有列的副本.我希望结果如下:

1       Sam         10          A    Iphone
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005

41
推荐指数
3
解决办法
27万
查看次数

如何强制查询不使用给定表上的索引?

我目前正在进行一些测试,以确定在SQL Server 2005中为某个列包含索引的性能影响.

我使用的测试数据集大约有大约7200万行(大约6 GB的数据).为了实际测试索引的性能,我需要能够比较有和没有索引的性能.

这一切都很好,但首先创建一个索引并不是一个便宜的操作.如果我想在没有索引的情况下测试表,我至少需要禁用索引.要使用索引进行测试,我需要重新启用它,这需要相当长的时间.

有没有什么办法可以强制SQL Server 2005在执行查询时忽略给定的索引?我不想为了测试查询而禁用索引,因为它需要很长时间来禁用索引.

sql indexing sql-server-2005

41
推荐指数
2
解决办法
4万
查看次数

增加组的行号

我正在研究SQL Server 2005的查询,需要返回带有两个"索引"字段的数据.每次'shade'列更改时,第一个索引't_index'应该递增,而第二个索引在'shade'列中的值的分区内递增:

t_index s_index shade
1       1       A
1       2       A
1       3       A
1       4       A
1       5       A
2       1       B
2       2       B
2       3       B
2       4       B
2       5       B
Run Code Online (Sandbox Code Playgroud)

要获取s_index列,我使用以下内容:

Select ROW_NUMBER() OVER(PARTITION BY [shade] ORDER BY [shade]) as s_index
Run Code Online (Sandbox Code Playgroud)

我的问题是如何让第一个索引只在'shade'列中的值发生变化时递增?

sql sql-server sql-server-2005

41
推荐指数
2
解决办法
7万
查看次数

SQL Server角色,模式,用户

我一直试图弄清楚为什么SQL Server有db_owner架构和db_owner角色?这非常令人困惑.我一直在寻找答案,到目前为止,我的理解是:

  1. 所有表和对象(例如约束等)都属于模式. DBO是默认架构.
  2. 可以向用户授予编辑每个对象或模式的许可.架构权限将权限扩展到该架构中的所有对象.因此,您不必为每个单独的对象授予权限.
  3. 为方便起见,角色将权限组合在一起

如果其中任何一个不正确,请告诉我.但我认为到目前为止一切顺利.现在我的问题是:

  1. db_owner在SQL Server Management Studio的"数据库用户"对话框中看到的模式究竟是什么?在同一个对话框中,您将"默认架构"定义为dbo.为什么两者不一样?如果默认情况下SQL Server dbo用来创建所有对象,有什么用db_owner
  2. 为什么用户想要拥有架构?您已经分配了权限/角色.拥有什么db_accessadmin给你?
  3. 您能举例说明何时在db_owner架构和db_accessadmin架构下创建对象?换句话说,有人合法地使用这些模式吗?

sql-server sql-server-2005

40
推荐指数
1
解决办法
4万
查看次数

从服务器删除所有数据库

我有一个服务器(SQL Server 2005)有超过300个数据库.我不想一个一个地右键单击并选择Delete.

如何轻松删除所有数据库?

sql sql-server sql-server-2005

40
推荐指数
3
解决办法
5万
查看次数