标签: sql-server-2008

镜像 ASPState 数据库的最佳方法是什么?

我的实际镜像部分没有问题,但由于使用了临时表,如果发生故障转移,IIS 会引发一些不稳定(我仍在测试一些东西,所以是我造成了故障转移) .

是否有可能(甚至是一个好主意)镜像tempdb?或者我应该接受如果主体数据库由于任何原因无法访问,有些人可能会被踢出。

我正在使用 ASPState 以便两个 Web 服务器(在启用粘性会话的负载平衡器后面)都可以获取相同的会话数据。

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

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

在 SQL Server 2008 中是否有可能在一个文件中具有结构而在另一个文件中具有行数据?

我知道这听起来可能很荒谬,但是:
是否可以在 SQL Server 中的文件级别上分离数据定义(即我的表、视图和其他事物的结构)和行数据。
我认为在 2 个或更多物理分离的驱动器上拥有两个或更多文件组并在其中包含文件以单独存储定义或行数据会很有用;所以如果你的行数据硬盘崩溃,你不会丢失数据结构......
这可以通过分区来完成吗?

sql-server-2008 partitioning

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

在 SQL Server Express 2008 上附加 SQL Server 2008 R2

我在 SQL Server 2008 R2 上有一个数据库。

我想将它附加到在 Windows 2003 上运行的 SQL Server Express 2008 实例上。

在分离之前,我在 SQL Server 2008 R2 Management Studio 中将数据库上的 SQL 服务器兼容性级别设置为 SQL Server 2005。

但由于“兼容性错误”,我无法将此数据库附加到我在 Windows 2003 上运行的 SQL 2008 实例。

我怎样才能解决这个问题?

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

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

SQL Server 2008 加密的简单实现

我正在考虑使用一些 SQL Server 2008 的加密。

我在 MSDN 上阅读了以下文章:

Q1a:是否为每个数据库实例创建了主密钥密码?

IF NOT EXISTS 
    (SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
    CREATE MASTER KEY ENCRYPTION BY 
    PASSWORD = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
GO
Run Code Online (Sandbox Code Playgroud)

Q1b:如果我在 Server1 上创建主密钥密码并加密表中的列。当我备份该数据库 (.bak) 时,我是否能够将数据库还原到另一个 Server2,或者我是否必须使用相同的密码在 Server2 上创建一个主密钥?

Q2 : 如果我想恢复到另一台服务器,是否需要备份证书、主密钥或对称密钥?

CREATE CERTIFICATE HumanResources037
   WITH SUBJECT = 'Employee Social Security Numbers';
GO

CREATE SYMMETRIC KEY SSN_Key_01
    WITH ALGORITHM = AES_256
    ENCRYPTION BY CERTIFICATE HumanResources037;
GO
Run Code Online (Sandbox Code Playgroud)

Q3 : 什么时候应该打开对称密钥?应该在每次选择之前完成然后关闭吗?即在存储过程开始时打开,然后关闭。

-- Open the symmetric key with which to encrypt the …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 security encryption

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

为什么SQL Server为AS和RS安装了多项服务,而为IS安装了一项服务?

当我在同一台计算机上安装多个 SQL Server 实例时,每个实例都会获得自己的用于 Analysis Services 和 Reporting Services 的 SQL Server 服务。但是我只得到一个集成服务的服务,为什么?

sql-server-2008 sql-server instance ssis installation

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

阻塞总是意味着打开事务吗?

这似乎是一个有点无聊的问题,但是阻塞是否总是意味着有打开的事务并且可能导致事务日志增长到无穷大,因为打开的事务阻止了日志截断(SIMPLE 模式下的数据库)?

sql-server-2008 sql-server transaction locking transaction-log

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

您可以为 sql server 报告服务设置镜像吗?

我为我们的 SQL Server 2008 R2 Standard 数据库服务器设置了镜像。

问题

  • 如果服务器出现故障,我如何确保报告服务的高可用性?
  • 是否也有一种镜像可用?

sql-server-2008 ssrs

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

还原 SQL Server 数据库命令行错误

我在一个 SQL 文件中有一个还原数据库脚本,我正在尝试将从一个数据库生成的备份还原到一个新的数据库(存在)。SQLCMD 正在命令行上执行该 SQL 文件。命令窗口让我知道恢复成功完成;但是数据库还处于恢复状态,无法访问。因此,我的批处理过程的其余部分失败。如何让数据库退出恢复状态并返回到联机状态,以便我可以运行其他批处理脚本?

我正在使用它来做到这一点:

restore filelistonly
from disk = 'c:\program files\microsoft sql server\mssql10.mssqlserver\mssql\backup\olddb.bak'
GO

RESTORE DATABASE NewDB
FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\olddb.bak'
WITH NORECOVERY, REPLACE,
MOVE 'OldDB' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\newdb.mdf',
MOVE 'OldDB_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\newdb.ldf'
Run Code Online (Sandbox Code Playgroud)

如果我的数据库说它成功完成,为什么我的数据库仍然处于恢复状态,有什么想法吗?

谢谢。

sql-server-2008 sql-server sqlcmd restore

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

更改列的数据类型会填充事务日志

运行此代码:

ALTER TABLE npidata
ALTER COLUMN npi varchar(20)
Run Code Online (Sandbox Code Playgroud)

给出这个错误:

消息 9002,级别 17,状态 4,第 2 行
数据库“SalesDWH”的事务日志已满。要找出无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列

我正在将NPI列的数据类型从更改varchar(80)varchar(20)

下面的代码给了我同样的错误信息:

insert into npidata1 select * from npidata
Run Code Online (Sandbox Code Playgroud)
  • log_reuse_wait_desc 显示 NOTHING
  • 恢复模式是 SIMPLE
  • autogrowth 被设定为 NONE
  • autoshrink 被设定为 true

我还可以做些什么?我的理解是日志应该在每次变得太大时截断。我究竟做错了什么?

sql-server-2008 sql-server alter-table transaction-log

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

为什么“sysfiles1”会出现在 SQL Server 2008 的 sys.objects 目录视图中?

我们最近使用这个查询在我们的数据库中查找没有聚集索引的表,发现它返回的结果之一是“sys.sysfiles1”表。我们正在运行 SQL Server 2008,我的印象是该表不再使用(正如一些答案指出的那样,似乎存在一种误解,即该表仅存在于从 SQL Server 2000 升级的数据库)。此外,我无法直接从 sys.sysfiles1 表中选择任何内容(尽管我可以直接从 sys.sysfiles 视图中选择)。

运行以下命令以针对本地安装的 SQL Server 2008 (@@version = Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64),尽管我们已经在 SQL Server 的生产实例中看到它) 创建一个新数据库2008 年)也说明了我的意思:

CREATE DATABASE SysFilesTesting
--returns a row:
SELECT * FROM SysFilesTesting.sys.objects where name = 'sysfiles1'
--throws 'invalid object name' error:
SELECT * FROM SysFilesTesting.sys.sysfiles1
Run Code Online (Sandbox Code Playgroud)

为什么 sys.objects 报告 sysfiles1 表的存在?

sql-server-2008 sql-server

3
推荐指数
2
解决办法
1349
查看次数