如果如您所知,可以仅使用唯一索引在表之间创建关系,您能解释为什么存在“主键约束”吗?
使用的 RDBMS 是 SQL Server。
事实上,在创建唯一索引(非空)之后,我可以在另一个表上创建一个指向被索引列的外键约束,而不必声明该列是“主键”......那么,什么目的是什么?是审美的问题吗?
我目前正在学习 SQL Server 2008 并且遇到了模式,我不明白他们必须有一个所有者的一件事;为什么他们不能拥有自己?
我的背景主要是 Java,听起来架构就像一个没有所有者的包。
从历史上看,如果我要重命名 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,我在任何时候都有六个附加的数据库,实际上我正在努力创建一百万个分离的数据库(并且偶尔会在我需要他们)。
我想查找未更新特定列的存储过程。
举个例子
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 可以有多个更新语句。是否有可能获得该更新语句的表名?
我有以下表格:
员工姓名
============================================================================
| 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 2005。我尝试执行差异备份,但是我收到一个关于 LSN 链被破坏的错误。
请注意,我已经多次这样做了,完整备份在新服务器上恢复NORECOVERY,然后当我去恢复差异备份时,我收到有关损坏的 LSN 链的错误。
我做了一个测试数据库,得到了相同的结果。然后我将测试数据库文件移到运行 SQL Server 2008 R2 的服务器上,备份正确恢复。
有谁知道为什么 SQL Server 2005 的差异备份无法在 SQL Server 2012 上正确还原?我该如何解决这个问题?
从 2005 年到 2012 年,我在多台机器上运行各种 SQL Server。我有许多这样的数据库在 SQL Server 2000 兼容模式下运行。
在较新版本的 SQL Server 中使用较旧的兼容性会导致任何性能问题吗?
除了旧版本的 SQL Server 能够访问它们之外,这些数据库之间有什么不同?
如果我将.mdf(行数据)和.ldf(日志)文件放在不同的raid 磁盘组上,而不是将两个文件放在同一组raid 磁盘上,它会提高SQL Server 中数据库的性能吗?
我有两个要迁移到 SQL Server 2008 R2 的 SQL Server 2005。
原始服务器对包含一个数据库,它们涉及它们之间的双向事务复制。换句话说,SQL2005ServerA.DatabaseA和SQL2005ServerB.DatabaseA都涉及双向事务复制。
现在我必须将这些数据库移动到两个新服务器,将它们命名为SQL2008ServerA和SQL2008ServerB.
这很直接吗?断开应用服务器后,是不是直接备份还原到新的服务器上,然后再重新创建没有快照的复制?
sql-server-2005 migration sql-server-2008-r2 transactional-replication
选中该框后,我注意到将在 30 秒后超时的查询将完成执行。
的TechNet文章说“AWE不是必需的,不能在64位操作系统配置”。
那么检查这个框有什么作用吗?
SQL Server 2008 R2 / 版本 10.52.4000.0