小编mar*_*c_s的帖子

主要关键约束基础

如果如您所知,可以仅使用唯一索引在表之间创建关系,您能解释为什么存在“主键约束”吗?

使用的 RDBMS 是 SQL Server。

事实上,在创建唯一索引(非空)之后,我可以在另一个表上创建一个指向被索引列的外键约束,而不必声明该列是“主键”......那么,什么目的是什么?是审美的问题吗?

database-design sql-server primary-key

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

SQL Server 架构所有权

我目前正在学习 SQL Server 2008 并且遇到了模式,我不明白他们必须有一个所有者的一件事;为什么他们不能拥有自己?

我的背景主要是 Java,听起来架构就像一个没有所有者的包。

sql-server-2008

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

Windows 8 上的 SQL Server Express 不会锁定 MDF 数据库文件

从历史上看,如果我要重命名 SQL Server 当前正在使用的数据库,则会出现异常。

在这个 Windows 8 桌面上,我在......我的主桌面......我能够将 SQL Server 数据库文件移动到不同的分区......而不会出现任何错误......即使文件当前“正在使用”。我不明白为什么我可以这样做,我想在移动文件时得到一个错误,它应该被列为附加在 SQL Server 中master.sys.databases

我还可以重命名当前正在使用的文件。重点是我今天和我的网络管理员交谈,他实际上试图重命名一个.MDF文件,以确定这个文件是否在使用中。

我不喜欢这个。我真正想要做的是将文件(使用 DOS 命令)从一个磁盘分区移动到另一个磁盘分区,但如果它们当前附加到默认的 SQL Server 实例,则不要尝试移动文件。

我指望这能像宣传的那样工作。我不应该能够重命名或移动当前在 SQL Server 中用作附加数据库的文件。

另外,我很抱歉......但我确实有一个非标准的硬盘驱动器配置。

Disk 0
System Reserved 350mb
D: SSD

Disk 1
C: (Primary volume, Windows 8 Enterprise, etc)
Run Code Online (Sandbox Code Playgroud)

我专门将这个 SSD 专门用于这台机器上的 SQL Server Express,我在任何时候都有六个附加的数据库,实际上我正在努力创建一百万个分离的数据库(并且偶尔会在我需要他们)。

sql-server sql-server-2012

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

查找特定列未更新的所有 SP

我想查找未更新特定列的存储过程。

举个例子

SP1 :

BEGIN
      UPDATE YourTable
      SET    Foo = @Foo,
             Bar = @Bar
      WHERE  Id = @Id
  END 
Run Code Online (Sandbox Code Playgroud)

SP2 :

 BEGIN
      UPDATE YourTable
      SET    Foo = @Foo                 
      WHERE  Id = @Id
  END 
Run Code Online (Sandbox Code Playgroud)

因此,我想获取Bar上面示例中未更新的所有 SP,它应该返回SP2.

注意:一个 SP 可以有多个更新语句。是否有可能获得该更新语句的表名?

sql-server dynamic-sql

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

获取 sql 语句来引用 2 个以上的表?

我有以下表格:

员工姓名

============================================================================
|  Name    |   Income_Group   |    Educational_Level  |   Country          |
============================================================================
|  Jack    |   5              |    5                  |   1                |
|  Jill    |   3              |    3                  |   4                |
|  Jane    |   1              |    4                  |   6                |
|  June    |   4              |    2                  |   7                |
============================================================================
Run Code Online (Sandbox Code Playgroud)

国家

==================================================
| ID   |  Country   |  Country_Description       |
==================================================
| 1    | America    |                            |
| 7    | Japan      |                            |
==================================================
Run Code Online (Sandbox Code Playgroud)

收入组

=======================================================
| ID   |  Income_Range        | …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008

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

将差异备份从 SQL Server 2005 还原到 SQL Server 2012

我们正在将客户端迁移到新服务器。他们的旧服务器有 SQL Server 2005。我尝试执行差异备份,但是我收到一个关于 LSN 链被破坏的错误。

请注意,我已经多次这样做了,完整备份在新服务器上恢复NORECOVERY,然后当我去恢复差异备份时,我收到有关损坏的 LSN 链的错误。

我做了一个测试数据库,得到了相同的结果。然后我将测试数据库文件移到运行 SQL Server 2008 R2 的服务器上,备份正确恢复。

有谁知道为什么 SQL Server 2005 的差异备份无法在 SQL Server 2012 上正确还原?我该如何解决这个问题?

sql-server-2005 sql-server restore sql-server-2012

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

某些数据库兼容性会导致性能下降吗?

从 2005 年到 2012 年,我在多台机器上运行各种 SQL Server。我有许多这样的数据库在 SQL Server 2000 兼容模式下运行。

在较新版本的 SQL Server 中使用较旧的兼容性会导致任何性能问题吗?

除了旧版本的 SQL Server 能够访问它们之外,这些数据库之间有什么不同?

performance sql-server compatibility-level

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

跨设备传播 SQL Server 数据文件以提高性能?

如果我将.mdf(行数据)和.ldf(日志)文件放在不同的raid 磁盘组上,而不是将两个文件放在同一组raid 磁盘上,它会提高SQL Server 中数据库的性能吗?

performance sql-server

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

迁移涉及双向复制的数据库的最佳方法

我有两个要迁移到 SQL Server 2008 R2 的 SQL Server 2005。

原始服务器对包含一个数据库,它们涉及它们之间的双向事务复制。换句话说,SQL2005ServerA.DatabaseASQL2005ServerB.DatabaseA都涉及双向事务复制。

现在我必须将这些数据库移动到两个新服务器,将它们命名为SQL2008ServerASQL2008ServerB.

这很直接吗?断开应用服务器后,是不是直接备份还原到新的服务器上,然后再重新创建没有快照的复制?

sql-server-2005 migration sql-server-2008-r2 transactional-replication

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

“使用 AWE 分配内存”是否在 SQL Server 2008 R2 64 位 Windows 2003 系统上执行任何操作?

选中该框后,我注意到将在 30 秒后超时的查询将完成执行。

TechNet文章说“AWE不是必需的,不能在64位操作系统配置”。

那么检查这个框有什么作用吗?

SQL Server 2008 R2 / 版本 10.52.4000.0

sql-server sql-server-2008-r2 windows-server

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