标签: sql-server-2008

SQL Server 从另一个数据库重命名表

SQL Server 中有没有办法重命名另一个数据库中的表?当您在当前数据库中并将数据迁移到 TEMP 表中的另一个数据库,然后重命名该另一个数据库中的 TEMP 表时。我不想使用“USE [database]”,因为数据库名称可能会在不同的服务器上更改。

我在这里先向您的帮助表示感谢!

sql-server-2008

10
推荐指数
1
解决办法
4304
查看次数

将加密的数据库恢复到另一台服务器

我使用的是在 SQLServer 2008 上运行的产品。可以理解,提供它的公司不提供 SQLServer 支持。当我安装产品时,我指定了一个密码来加密数据库。我想在另一台服务器上运行该产品的另一个副本以进行测试。我已将数据库恢复到另一台服务器并在另一台服务器上安装了该产品。当我安装它时,我提供了相同的密码,然后从主服务器恢复了一个备份。但是我收到错误消息:

System.Data.SqlClient.SqlException: An error occurred during decryption.
Run Code Online (Sandbox Code Playgroud)

从产品。我可以使用 SQLServer Management Studio 访问这些表。

我试过这个:

在第一台服务器上:

CREATE CERTIFICATE cert1 WITH SUBJECT = 'Certificate for my stuff'

BACKUP CERTIFICATE  cert1 TO FILE = 'd:\backup\cert1.dat' 
WITH PRIVATE KEY 
(
ENCRYPTION BY PASSWORD = 'mypassword',
FILE = 'd:\backup\cert1_privatekey.dat'
)
Run Code Online (Sandbox Code Playgroud)

在第二台服务器上:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'mypassword'

CREATE CERTIFICATE cert1 FROM FILE = 'd:\cert1.dat'
WITH PRIVATE KEY
(
FILE = 'd:\cert1_privatekey.dat',
DECRYPTION BY PASSWORD = 'mypassword'
)
Run Code Online (Sandbox Code Playgroud)

我也在第二台服务器上试过这个:

alter …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server backup restore

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

SQL Server 中的事务日志会自动收缩吗?

当 SQL Server 数据库处于 SIMPLE 模式时,您不必关心事务日志 bakcups。但是在 SIMPLE 模式下,事务日志似乎会像在 FULL 模式下一样增长。是否会在某个时间点自动截断?还是我必须手动截断/缩小它?

sql-server-2008 sql-server backup shrink transaction

10
推荐指数
1
解决办法
8541
查看次数

没有参数的 EXEC() 和 sp_executesql 之间的区别?

我刚刚了解了新的 sp_executesql 存储过程。我喜欢有一种方法可以从 SQL Server 中执行参数化代码。

但是,我想知道在没有任何参数时使用 sp_executesql 存储过程与直接调用 EXEC 之间有什么区别。另外,是否有性能影响?

exec('select * from line_segment')
exec sp_executesql N'select * from line_segment'
Run Code Online (Sandbox Code Playgroud)

另外,2005 年和 2008 年之间是否存在差异,或者它们的处理方式是否相同?

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

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

DTA 建议创建统计信息

我刚刚通过 DTA 运行了一个 T-SQL 查询,其中一项建议是在作为 SQL 代码文件中许多查询的一部分的列之一上创建统计信息。

我的问题是,统计数据究竟如何帮助提高性能?

sql-server-2008 sql-server statistics tuning

10
推荐指数
2
解决办法
3313
查看次数

如何从 SQL Server 的缓存中清除表?

我的数据库中有一些不应缓存的表。

如何告诉 SQL Server 不要缓存表的页面或如何从缓存中刷新单个表?

刷新所有缓存不是一种选择。

我正在使用 SQL Server 2008 和 SQL Server 2008 R2。

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

10
推荐指数
2
解决办法
7134
查看次数

镜像分发服务器

有没有人成功镜像分发数据库?我们有一个专用服务器作为分销商。它处理我们从生产到报告的所有推送复制。我们想在附近建立一个相同的服务器,以防分销商崩溃。有没有人成功构建过这样的东西?

sql-server-2008 sql-server mirroring

10
推荐指数
1
解决办法
1067
查看次数

数据库中每行更改的记录一般是如何存储的?

在我正在处理的一个项目中,必须跟踪数据库某些表中行的每次更改以进行进一步审计或回滚。必须很容易找到谁修改了行,从哪个 IP 地址和时间,并且能够恢复以前的版本。

例如 Stack Exchange 使用了类似的东西。当我改变别人的问题时,有可能发现我改变了它,并且回滚了改变。

考虑到我当前的架构与普通业务应用程序具有大致相同的属性(如下),用于将每个更改存储在数据库中的通用技术是什么

  • 对象的大小相对较小:nvarchar(1000)例如可能有一些,但不是大量的二进制数据,这个直接存储在磁盘上,直接访问,而不是通过 Microsoft SQL filestream
  • 数据库负载非常低,整个数据库由服务器上的一个虚拟机处理,
  • 访问以前版本不必像访问最新版本一样快,但仍然必须是最新的¹ 并且不能太慢²。

<tl-博士>

我想过以下案例,但我对这些场景没有真正的经验,所以我想听听其他人的意见:

  1. 将所有内容存储在同一个表中,按 ID 和版本区分行。IMO,这是非常愚蠢的,迟早会在性能水平上受到伤害。使用这种方法,也不可能为最新项目和版本跟踪设置不同的安全级别。最后,每个查询的编写都会更加复杂。实际上,要访问最新数据,我将被迫按 ID 对所有内容进行分组,并在每个组中检索最新版本。

  2. 将最新版本存储在一个表中,并在每次更改时将过时版本复制到另一个模式中的另一个表中。缺陷是每次我们都会存储每个值,即使它没有改变。设置不变值null不是一个解决方案,因为我还必须当值更改为跟踪nullnull

  3. 将最新版本存储在一个表中,并将更改的属性列表及其以前的值存储在另一个表中。这似乎有两个缺陷:最重要的一个是,对同一列中不同类型的先前值进行排序的唯一方法是使用binary(max). 第二个是,我相信,在向用户显示以前的版本时,使用这种结构会更加困难。

  4. 执行与前两点相同的操作,但将版本存储在单独的数据库中。在性能方面,为了避免通过将以前的版本放在同一数据库中而减慢对最新版本的访问速度可能会很有趣;尽管如此,我认为这是一个过早的优化,只有在有证据表明在同一数据库中拥有旧版本和最新版本是瓶颈时才必须进行优化。

</tl-dr>


¹ 例如,将更改存储到日志文件中是不可接受的,就像对 HTTP 日志所做的那样,并在服务器负载最低的晚上将数据从日志刷新到数据库中。有关不同版本的信息必须立即或几乎立即可用;几秒钟的延迟是可以接受的。

² 信息不是很频繁,只有特定的用户组才能访问,但是,强迫他们等待 30 秒才能显示版本列表是不可接受的。同样,几秒钟的延迟是可以接受的。

schema sql-server-2008 sql-server optimization

10
推荐指数
1
解决办法
4514
查看次数

如何将主题应用于 SQL Server Management Studio 2008?

例如,有没有人成功地将“深色”它们应用于 SSMS 2008 的文本编辑器组件?

2005 年有一个旧技巧,它不再可操作且未升级。 http://winterdom.com/2007/10/colorschemesinsql2005managementstudio

我的眼睛会非常感谢你!干杯。

sql-server-2008 ssms

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

计算列中使用的标量函数,更新函数的最干净方法是什么?

我想更新我们数据库中的标量函数。此函数用于键表中的多个计算列,因此如果我尝试更新它,则会出现依赖项错误。我可以显式删除列,更新函数并重新添加列,但是,无需过多关注,这将更改列顺序并可能产生其他意想不到的后果。我想知道是否有更清洁的方法?

sql-server-2005 sql-server-2008 functions

10
推荐指数
1
解决办法
1618
查看次数