小编Vla*_*sky的帖子

SQL Server 2008 R2 标准版中的数据加密选项?

我正在帮助一位朋友在 SQL Server 2008 R2 标准版上设置数据加密。根据最初的研究,我认为我可以使用 TDE,但没有意识到它仅适用于 SQL Server 的 Enterprise 或 DataCenter 版本。在进一步研究 SQL Server 2008 R2功能后,我发现它确实允许“数据加密和密钥管理”,但我不确定它的含义或如何实现它。

什么是最有效和低成本的数据加密方法?我应该通过 SQL Server 做一些事情还是只使用第三方工具来加密数据库和备份所在的整个卷?此外,如果有人可以指出一种使用标准版中提供的“数据加密”的方法,我将不胜感激。每次我在 sql server 上搜索加密时,我都会以如何使用 TDE 而告终,而在当前情况下,对于企业规模而言,购买企业版是不可行的。

加密的原因 - HIPAA 合规性。如果可以访问文件系统以进行数据库或备份,则数据将被加密并且无法使用。这可能包括对机器的物理访问或通过本地管理员访问。

sql-server sql-server-2008-r2 encryption

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

构建动态 Oracle Where 子句

我正在研究使用动态查询根据用户输入执行选择语句的应用程序,在与 DBA 讨论安全性之后,他们希望我将动态选择语句转换为存储过程。

我已经使用 MSSQL 构建了动态 sql,但我不知道如何将其转换为 Oracle SQL。

CREATE PROCEDURE GetCustomer
@FirstN nvarchar(20) = NULL,
@LastN nvarchar(20) = NULL,
@CUserName nvarchar(10) = NULL, 
@CID nvarchar(15) = NULL as
DECLARE @sql nvarchar(4000),
SELECT @sql = 'C_FirstName, C_LastName, C_UserName, C_UserID ' + 
'FROM CUSTOMER ' +
'WHERE 1=1 ' +

IF @FirstN  IS NOT NULL
SELECT @sql = @sql + ' AND C_FirstName like @FirstN '
IF @LastN  IS NOT NULL 
SELECT @sql = @sql + ' AND C_LastName like @LastN …
Run Code Online (Sandbox Code Playgroud)

oracle where

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

如何检查可用性组中主节点的历史记录?

如何查看集群主节点的故障转移历史?我试图弄清楚辅助节点是在什么时候开始充当主要节点的。

我们正在运行带有 SQL Server 2012 和可用性组的 Windows Server 2012。

sql-server sql-server-2012 high-availability availability-groups

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

是否有用于查看查看访问计数的 DMV?

我在一次演示中看到过一次,当时有人展示了一个查询来计算视图在 SQL 服务器中查询的次数。我不记得它是来自 DMV 还是其他一些统计数据的组合,但我清楚地记得当他们运行一个从视图中选择的查询时,它会显示计数增加一。我记得关于演示文稿的另一个有趣的事实是从 CTE 中选择将计数增加了两个,因为 SQL Server 必须创建一个“临时视图”,然后从中进行选择。

有谁知道如何证明这一点?

sql-server view dmv

5
推荐指数
1
解决办法
468
查看次数

无法启动 SQL Server,模型 db 处于 RESTORING 状态

快速运行:

当系统管理员收到model正在恢复的错误时,第一个问题就开始了。

一段时间后,供应商尝试对数据库进行一些升级。当他们重新启动 SQL Server 时,它无法启动。

查看错误日志。我发现以下错误

错误 数据库“模型”被标记为 RESTORING 并且处于不允许运行恢复的状态。错误:927,严重性:14,状态:2。无法打开数据库“模型”。它正处于恢复过程中。无法创建临时数据库。您可能没有足够的可用磁盘空间。通过删除 tempdb 驱动器上的其他文件释放额外的磁盘空间,然后重新启动 SQL Server。检查事件日志中是否有其他错误,这些错误可能表明无法初始化 tempdb 文件的原因。

在网上搜索后在MSDN上找到了这篇文章

使用文章中的步骤启动 sql serverSqlservr.exe -sInstanceName -T3608 -c -f -T3609当我尝试运行时使用Use tempdb得到错误消息。按照文章中的建议,我从另一台服务器复制了 tempdb.mdf 和 templog.ldf。

现在我收到以下错误:

Starting up database 'tempdb'. Error: 3456, Severity: 21, State: 1. Could not redo log record (19:45:366), for transaction ID (0:0), on page (1:16), database 'tempdb' (database ID 2). Page: LSN = (18:72:8), type = 1. Log: OpCode = 18, context …

sql-server sql-server-2008-r2

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

如何按表计算磁盘 I/O

如果所有表都在同一个文件中,是否可以找出哪些表对读/写操作的贡献最大?

我一直在看以下 DMV

SELECT *
FROM sys.dm_io_virtual_file_stats
Run Code Online (Sandbox Code Playgroud)

但它只显示整个文件的统计信息,不知道如何拆分成单个表。尝试这样做是为了识别应该放在不同磁盘上自己文件中的表。

dmv sql-server-2012

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

如何仅在 AlwaysOn 可用性组中的主副本上运行 SQL 作业?

我有只需要在 AlwaysOn 可用性组上的主要副本上的 SQL 作业。最初创建作业时,ServerA 是主要的,后来 ServerB 成为主要的,因此 ServerA 上的作业失败,必须在 ServerB 上手动重新创建作业才能正常运行。

仅在 AlwaysOn 可用性组的主副本上运行作业的方法是什么?

sql-server high-availability jobs

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

如何通过许多可选的过滤参数来提高 SP 的性能?

我需要编写许多具有许多可选过滤参数的 SP。在阅读了 Turgay Sahtiyan(Microsoft 的高级 SQL Server 高级现场工程师)的博客后,他提到了完全相同的问题,解决它的方法是通过动态 SQL。在他的幻灯片中找到它http://blogs.msdn.com/b/turgays/archive/2013/09/07/sqlsaturday-243-cape-town-top-10-performance-tips-for-sql-server-developers .aspx

所以我的问题是这是唯一和最好的方法还是有其他选择?

WHERE (@EmployeeFirstName IS NULL OR emp.First_Name LIKE @EmployeeFirstName )
AND (@EmployeeLastName IS NULL OR emp.Last_Name LIKE @EmployeeLastName )
AND (@EmployeeNetworkLogOn IS NULL OR emp.Network_ID LIKE @EmployeeNetworkLogOn )
AND (@EmployeeStatus IS NULL OR emp.Employee_Status = @EmployeeStatus )
AND (@EmployeeType IS NULL OR emp.Employee_Type = @EmployeeType )
AND (@SupervisorFirstName IS NULL OR sup.First_Name LIKE @SupervisorFirstName )
AND (@SupervisorLastName IS NULL OR sup.Last_Name LIKE @SupervisorLastName )
AND (@SupervisorNetworkLogOn IS NULL OR …
Run Code Online (Sandbox Code Playgroud)

stored-procedures dynamic-sql sql-server-2012

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